/* CoachMarketer join.coachmarketer.com styles. Generated by ghl-checkout/landing.py; edit checkout.css or landing.py, not this file. */
/* =====================================================================
   CoachMarketer checkout skin for GHL pages
   Paste into: GHL page (or website) Settings > Custom CSS
   Restyles the page + the NATIVE order form. Does not change how it works.
   ===================================================================== */

:root{
  --cm-charcoal:#1C1917; --cm-orange:#F97316; --cm-orange-dark:#EA580C;
  --cm-warm:#F8F6F3; --cm-stone:#44403C; --cm-pebble:#78716C; --cm-mist:#A8A29E;
  --cm-line:rgba(120,113,108,.18); --cm-serif:'Newsreader',Georgia,serif; --cm-sans:'Hanken Grotesk',system-ui,sans-serif;
}

/* ---------- page ---------- */
html, body, #preview-container, .hl_page-preview--content, .bgCover{ background:var(--cm-warm)!important; }
body{ -webkit-font-smoothing:antialiased; }
.cmx, .cmx *{ box-sizing:border-box; font-family:var(--cm-sans); }
.cmx a{ color:inherit; }

/* ---------- header block ---------- */
.cmx-header{ display:flex; align-items:center; justify-content:space-between; min-height:64px; padding:12px 32px; background:rgba(248,246,243,.8); border-bottom:1px solid rgba(120,113,108,.2); }   /* same bar as the site nav */
.cmx-header img{ height:22px; width:auto; display:block; }
.cmx-head-right{ display:flex; align-items:center; gap:22px; }
.cmx-back{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:500; color:var(--cm-pebble)!important; text-decoration:none; }
.cmx-back:hover{ color:var(--cm-charcoal)!important; }
.cmx-back svg{ width:15px; height:15px; }
.cmx-login{ background:var(--cm-orange); color:#fff!important; font-weight:600; font-size:14.4px; padding:8px 20px; border-radius:8px; text-decoration:none; }
.cmx-login:hover{ background:var(--cm-orange-dark); }
.cmx-secure{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:500; color:var(--cm-stone); }
.cmx-secure svg{ width:16px; height:16px; color:var(--cm-pebble); }

/* ---------- intro block (above the form) ---------- */
.cmx-intro{ padding:8px 4px 22px; }
.cmx-intro h1{ font-family:var(--cm-serif)!important; font-weight:500; font-size:clamp(30px,4vw,42px); line-height:1.1; letter-spacing:-.01em; color:var(--cm-charcoal); margin:0 0 10px; text-wrap:balance; }
.cmx-intro p{ font-size:16px; line-height:1.6; color:var(--cm-stone); margin:0; text-wrap:pretty; }
.cmx-intro .cmx-planline{ display:inline-flex; flex-wrap:wrap; gap:6px 10px; align-items:center; margin-top:14px; font-size:14px; color:var(--cm-stone); }
.cmx-intro .cmx-planline strong{ color:var(--cm-charcoal); font-weight:700; }
.cmx-intro .cmx-dot{ width:4px; height:4px; border-radius:50%; background:var(--cm-mist); }

/* ---------- plan summary block ---------- */
.cmx-summary{ position:sticky; top:24px; background:linear-gradient(160deg,var(--cm-charcoal) 0%,#2d2420 100%); color:#F8F6F3; border-radius:22px; padding:30px 28px 26px; box-shadow:0 30px 60px rgba(28,25,23,.22); }
.cmx-summary .cmx-plan{ font-family:var(--cm-serif)!important; font-size:30px; font-weight:500; line-height:1.1; margin:0; }
.cmx-summary .cmx-tag{ color:rgba(248,246,243,.68); font-size:15px; margin:6px 0 22px; }
.cmx-rows{ border-top:1px solid rgba(248,246,243,.14); border-bottom:1px solid rgba(248,246,243,.14); padding:14px 0; margin-bottom:20px; }
.cmx-row{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:6px 0; font-size:15px; }
.cmx-row span:first-child{ color:rgba(248,246,243,.72); }
.cmx-row strong{ font-weight:700; color:#fff; }
.cmx-row.cmx-today strong{ font-size:22px; }
.cmx-note{ font-size:13px; color:rgba(248,246,243,.6); margin:-8px 0 20px; line-height:1.5; }
.cmx-list{ list-style:none; margin:0 0 22px; padding:0; }
.cmx-list li{ display:flex; gap:10px; align-items:flex-start; font-size:15px; line-height:1.45; padding:6px 0; color:rgba(248,246,243,.9); }
.cmx-list svg{ flex:0 0 18px; width:18px; height:18px; color:var(--cm-orange); margin-top:2px; }
.cmx-quote{ background:rgba(248,246,243,.06); border:1px solid rgba(248,246,243,.1); border-radius:14px; padding:16px 16px 14px; margin-bottom:18px; }
.cmx-quote p{ font-family:var(--cm-serif)!important; font-size:16.5px; line-height:1.45; margin:0 0 12px; color:#F8F6F3; }
.cmx-quote .cmx-by{ display:flex; align-items:center; gap:10px; font-size:13px; color:rgba(248,246,243,.7); }
.cmx-quote img{ width:32px; height:32px; border-radius:50%; object-fit:cover; object-position:center 30%; }
.cmx-quote .cmx-by strong{ color:#fff; font-weight:600; }
.cmx-trust{ display:flex; flex-wrap:wrap; gap:8px 16px; font-size:13px; color:rgba(248,246,243,.7); }
.cmx-trust span{ display:inline-flex; align-items:center; gap:6px; }
.cmx-trust svg{ width:14px; height:14px; color:rgba(248,246,243,.55); }
.cmx-switch{ display:block; margin-top:18px; padding-top:16px; border-top:1px solid rgba(248,246,243,.12); font-size:14px; color:rgba(248,246,243,.8)!important; text-decoration:none; }
.cmx-switch b{ color:var(--cm-orange); font-weight:600; }
.cmx-switch:hover b{ text-decoration:underline; }

/* ---------- footer block ---------- */
.cmx-footer{ max-width:1120px; margin:0 auto; padding:28px 32px 40px; border-top:1px solid var(--cm-line); display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:space-between; font-size:13px; color:var(--cm-pebble); }
.cmx-footer nav{ display:flex; flex-wrap:wrap; gap:6px 18px; }
.cmx-footer a{ color:var(--cm-pebble); text-decoration:none; }
.cmx-footer a:hover{ color:var(--cm-charcoal); }

/* =====================================================================
   NATIVE ORDER FORM (GHL one-step order form)
   ===================================================================== */
body .c-order, body .c-order *{ font-family:var(--cm-sans)!important; }
body .c-order .container-order-form-two-step{
  background:#fff!important; border:1px solid rgba(120,113,108,.14)!important; border-radius:22px!important;
  box-shadow:0 18px 40px rgba(28,25,23,.07)!important; padding:10px 6px!important; overflow:hidden;
}
/* one-step forms have an empty step header */
body .c-order[class*="one-step-order"] .d-grid.text-center{ display:none!important; }
body .c-order .form-body{ background:transparent!important; padding:18px!important; }
body .c-order form.form-payment{ padding:0!important; }   /* line the card area up with the fields above */

/* inputs */
body .c-order .form-input{
  font-size:15px!important; line-height:24px!important; height:52px; padding:13px 16px!important;
  border:1px solid rgba(120,113,108,.28)!important; border-radius:12px!important; background:#fff!important;
  color:var(--cm-charcoal)!important; margin:0!important;
  transition:border-color .2s, box-shadow .2s;
}
body .c-order .form-input::placeholder{ color:var(--cm-mist)!important; opacity:1; }
body .c-order .form-input:hover{ border-color:rgba(120,113,108,.45)!important; }
body .c-order .form-input:focus{ border-color:var(--cm-orange)!important; box-shadow:0 0 0 4px rgba(249,115,22,.14)!important; }

/* tighter field spacing (GHL uses a 15px grid gap) */
body .c-order .info, body .c-order .shipping{ row-gap:12px!important; margin-bottom:6px!important; }

/* "PAYMENT" divider -> "Payment details" */
body .c-order .payment-title-wrapp{ display:flex!important; align-items:center; gap:12px; margin:26px 0 4px!important; }
body .c-order .payment-title{ font-size:0!important; background:none!important; padding:0!important; letter-spacing:0!important; text-transform:none!important; }
body .c-order .payment-title::before{ content:"Payment details"; font-size:15px; font-weight:700; color:var(--cm-charcoal); }
body .c-order .payment-bar{ flex:1; height:1px!important; background:var(--cm-line)!important; }

/* product row -> one clean plan line */
body .c-order .product-detail .product-title,
body .c-order .product-detail .divider-product{ display:none!important; }
body .c-order .product-detail{ margin:14px 0 6px!important; }
body .c-order .product-detail .product-description{
  display:flex!important; align-items:center; justify-content:space-between; gap:12px;
  background:var(--cm-warm)!important; border:1px solid rgba(120,113,108,.14); border-radius:12px; padding:14px 16px!important;
}
body .c-order .product-detail .radioBtn input{ position:absolute!important; opacity:0!important; pointer-events:none!important; width:1px; height:1px; }
body .c-order .product-detail .product-description > .text-center.item{ display:none!important; }   /* quantity */
body .c-order .product-detail .product-name{ display:none!important; }   /* raw price label, e.g. "$197.00 month" */
body .c-order .item-description, body .c-order .item-description strong{ font-size:14.5px!important; font-weight:600!important; color:var(--cm-charcoal)!important; line-height:1.45; }
body .c-order .item-description::first-letter{ text-transform:uppercase; }
body .c-order .product-detail .item-price{ font-size:16px!important; font-weight:800!important; color:var(--cm-charcoal)!important; white-space:nowrap; text-align:right; }
body .c-order .product-detail .item-price::before{ content:"Today "; display:block; font-size:11.5px; font-weight:500; color:var(--cm-pebble); }

/* no discounts: hide coupon, promo code, and the duplicate order summary */
body .c-order .coupon-container,
body .c-order #promo_code,
body .c-order .separator,
body .c-order .loaderClass,
body .c-order .product-cost-total{ display:none!important; }

/* Stripe card area spacing (the fields inside are drawn by Stripe) */
body .c-order .payment-form{ margin-top:14px!important; }

/* button */
body .c-order .form-btn{
  background:var(--cm-orange)!important; background-image:none!important; border:0!important; border-radius:14px!important;
  padding:17px 20px!important; margin-top:18px!important; color:#fff!important;
  box-shadow:none!important; transition:background .2s!important;
}
body .c-order .form-btn:hover{ background:var(--cm-orange-dark)!important; transform:none!important; box-shadow:none!important; }
body .c-order .form-btn .cart-icon, body .c-order .form-btn br{ display:none!important; }
body .c-order .form-btn .main-text{ font-size:17px!important; font-weight:700!important; letter-spacing:0!important; }
body .c-order .form-btn .sub-text{ display:block; font-size:13px!important; font-weight:500!important; opacity:.9; margin-top:2px; }
body .c-order .form-btn .sub-text:empty{ display:none!important; }

/* legal line under the button */
body .c-order .order-form-footer{ font-size:12.5px!important; line-height:1.6!important; color:var(--cm-pebble)!important; text-align:center; margin-top:14px!important; padding:0 6px; }

/* ---------- mobile ---------- */
@media (max-width:767px){
  .cmx-header{ padding:12px 18px; min-height:56px; }
  .cmx-secure span{ display:none; }
  .cmx-head-right{ gap:16px; }
  .cmx-back span{ display:none; }
  .cmx-summary{ position:static; margin-top:22px; padding:24px 20px; }
  body .c-order .container-order-form-two-step{ border-radius:18px!important; padding:4px 0!important; }
  body .c-order .form-input{ font-size:16px!important; } /* stops iOS zoom */
}

/* thank-you page block */
.cmx-login-link{ font-size:15px; font-weight:600; color:var(--cm-charcoal)!important; text-decoration:none; }
.cmx-login-link:hover{ color:var(--cm-orange-dark)!important; }
.cmx-thanks{ max-width:1120px; margin:0 auto; padding:80px 32px 88px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:72px; align-items:start; }
.cmx-thanks h1{ font-family:var(--cm-serif)!important; font-weight:500; font-size:clamp(36px,5vw,56px); line-height:1.05; letter-spacing:-.015em; color:var(--cm-charcoal); margin:0 0 20px; text-wrap:balance; }
.cmx-thanks .cmx-lead{ font-size:18px; line-height:1.65; color:var(--cm-stone); margin:0 0 30px; max-width:34em; text-wrap:pretty; }
.cmx-cta{ display:inline-block; background:var(--cm-orange); color:#fff!important; font-weight:600; font-size:16px; padding:14px 26px; border-radius:8px; text-decoration:none!important; transition:background .2s; }
.cmx-cta:hover{ background:var(--cm-orange-dark); }
.cmx-help{ font-size:15px; color:var(--cm-pebble); margin:22px 0 0; }
.cmx-help a, .cmx-next a{ color:var(--cm-charcoal)!important; text-decoration:underline; text-decoration-color:rgba(28,25,23,.3); text-underline-offset:3px; }
.cmx-help a:hover, .cmx-next a:hover{ text-decoration-color:var(--cm-orange); }
.cmx-next{ border-top:1px solid var(--cm-charcoal); padding-top:22px; }
.cmx-next h2{ font-family:var(--cm-serif)!important; font-weight:500; font-size:24px; color:var(--cm-charcoal); margin:0 0 6px; }
.cmx-next ol{ list-style:none; margin:0; padding:0; }
.cmx-next li{ display:grid; grid-template-columns:36px 1fr; gap:4px; padding:20px 0; border-bottom:1px solid var(--cm-line); }
.cmx-next .cmx-n{ font-family:var(--cm-serif)!important; font-size:22px; line-height:1.1; color:var(--cm-pebble); }
.cmx-next strong{ display:block; font-size:16px; font-weight:700; color:var(--cm-charcoal); margin-bottom:4px; }
.cmx-next p{ font-size:15px; line-height:1.6; color:var(--cm-stone); margin:0; }
@media (max-width:860px){ .cmx-thanks{ grid-template-columns:1fr; gap:48px; padding:48px 20px 64px; } }

/* ---------- GHL layout around the checkout blocks ---------- */
/* header and footer sections: full width, no GHL padding */
.c-section:has(.cmx-header), .c-row:has(.cmx-header), .c-column:has(.cmx-header), .c-custom-code:has(.cmx-header),
.c-row:has(.cmx-header) > .inner, .c-column:has(.cmx-header) > .inner,
.c-section:has(.cmx-footer), .c-row:has(.cmx-footer), .c-column:has(.cmx-footer), .c-custom-code:has(.cmx-footer),
.c-row:has(.cmx-footer) > .inner, .c-column:has(.cmx-footer) > .inner{ padding:0!important; margin:0!important; max-width:none!important; width:100%!important; }
.c-section:has(.cmx-header):not(:has(.cmx-thanks)){ position:sticky; top:0; z-index:40; }
/* checkout body: centered, about 56% form / 44% summary on desktop */
.c-section:has([data-cmx="summary"]){ padding:44px 0 64px!important; }
.c-row:has([data-cmx="summary"]){ max-width:1120px!important; margin:0 auto!important; padding:0 24px!important; }
.c-column:has([data-cmx="intro"]) > .inner, .c-column:has([data-cmx="summary"]) > .inner{ padding:0 12px!important; }
@media (min-width:768px){
  .c-column:has([data-cmx="intro"]){ width:56%!important; flex:0 0 56%!important; max-width:56%!important; }
  .c-column:has([data-cmx="summary"]){ width:44%!important; flex:0 0 44%!important; max-width:44%!important; padding-left:24px!important; }
}
/* welcome page body */
.c-section:has(.cmx-thanks), .c-row:has(.cmx-thanks), .c-column:has(.cmx-thanks), .c-custom-code:has(.cmx-thanks),
.c-row:has(.cmx-thanks) > .inner, .c-column:has(.cmx-thanks) > .inner{ padding:0!important; margin:0!important; max-width:none!important; width:100%!important; }

/* =====================================================================
   NATIVE ORDER FORM, new builder element (.c-order-form / .order-form__*)
   ===================================================================== */
body .c-order-form, body .c-order-form *{ font-family:var(--cm-sans)!important; }
body .c-order-form .order-form__surface{ background:#fff!important; border:1px solid rgba(120,113,108,.14)!important; border-radius:22px!important; box-shadow:0 18px 40px rgba(28,25,23,.07)!important; padding:26px 24px 22px!important; }
body .c-order-form .order-form__headline, body .c-order-form .order-form__subheadline, body .c-order-form .order-form__back{ display:none!important; }
body .c-order-form .order-form__field-grid{ gap:12px!important; }
/* labels stay for screen readers; the placeholders carry the visual label */
body .c-order-form .order-form__label{ position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
body .c-order-form .order-form__input{ font-size:15px!important; line-height:24px!important; height:52px!important; padding:13px 16px!important; border:1px solid rgba(120,113,108,.28)!important; border-radius:12px!important; background:#fff!important; color:var(--cm-charcoal)!important; box-shadow:none!important; transition:border-color .2s, box-shadow .2s; }
body .c-order-form .order-form__input::placeholder{ color:var(--cm-mist)!important; opacity:1; }
body .c-order-form .order-form__input:hover{ border-color:rgba(120,113,108,.45)!important; }
body .c-order-form .order-form__input:focus{ border-color:var(--cm-orange)!important; box-shadow:0 0 0 4px rgba(249,115,22,.14)!important; outline:none!important; }
/* plan line */
body .c-order-form .order-form__offer-head, body .c-order-form .order-form__product-table-head, body .c-order-form .order-form__prod-radio, body .c-order-form .order-form__summary{ display:none!important; }
body .c-order-form .order-form__offer{ margin-top:16px!important; }
body .c-order-form .order-form__prod{ display:flex!important; justify-content:space-between!important; align-items:center!important; gap:12px; background:var(--cm-warm)!important; border:1px solid rgba(120,113,108,.14)!important; border-radius:12px!important; padding:14px 16px!important; margin:0!important; }
body .c-order-form .order-form__prod-name{ font-size:15px!important; font-weight:700!important; color:var(--cm-charcoal)!important; }
body .c-order-form .order-form__prod-desc{ font-size:13.5px!important; line-height:1.45!important; color:var(--cm-stone)!important; }
body .c-order-form .order-form__prod-desc::first-letter{ text-transform:uppercase; }
body .c-order-form .order-form__prod-price{ font-size:16px!important; font-weight:800!important; color:var(--cm-charcoal)!important; text-align:right; white-space:nowrap; }
body .c-order-form .order-form__prod-price::before{ content:"Today"; display:block; font-size:11.5px; font-weight:500; color:var(--cm-pebble); }
/* payment */
body .c-order-form .order-form__pay-head{ display:flex!important; align-items:center; gap:12px; font-size:15px!important; font-weight:700!important; color:var(--cm-charcoal)!important; margin:24px 0 12px!important; text-transform:none!important; letter-spacing:0!important; }
body .c-order-form .order-form__pay-head::after{ content:""; flex:1; height:1px; background:var(--cm-line); }
body .c-order-form .order-form__cta{ width:100%!important; display:flex!important; align-items:center; justify-content:center; background:var(--cm-orange)!important; background-image:none!important; border:0!important; border-radius:14px!important; padding:17px 20px!important; margin-top:18px!important; color:#fff!important; box-shadow:none!important; transition:background .2s!important; }
body .c-order-form .order-form__cta, body .c-order-form .order-form__cta *{ font-size:17px!important; font-weight:700!important; color:#fff!important; letter-spacing:0!important; text-transform:none!important; }
body .c-order-form .order-form__cta:hover{ background:var(--cm-orange-dark)!important; }
body .c-order-form .order-form__cta[disabled]{ opacity:.8; }
body .c-order-form .order-form__cta-icon{ display:none!important; }
body .c-order-form .order-form__footer{ font-size:12.5px!important; line-height:1.6!important; color:var(--cm-pebble)!important; text-align:center!important; margin-top:14px!important; padding:0 6px; }
@media (max-width:767px){
  body .c-order-form .order-form__surface{ padding:20px 16px!important; border-radius:18px!important; }
  body .c-order-form .order-form__input{ font-size:16px!important; } /* stops iOS zoom */
}
/* summary column starts at the top and stays in view */
.c-column:has([data-cmx="summary"]) > .inner{ justify-content:flex-start!important; height:100%; }
.c-custom-code:has([data-cmx="summary"]){ position:sticky; top:88px; }

/* ===== landing page (.cmj) ===== */
.cmj{ --c:#1C1917; --c2:#24201D; --o:#F97316; --od:#EA580C; --w:#F8F6F3; --st:#44403C; --pb:#78716C; --ms:#A8A29E;
  --line:rgba(120,113,108,.2); --serif:'Newsreader',Georgia,serif; --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  font-family:var(--sans); color:var(--c); background:var(--w); -webkit-font-smoothing:antialiased; line-height:1.5; overflow-x:hidden; }
.cmj *, .cmj *::before, .cmj *::after{ box-sizing:border-box; }
.cmj h1, .cmj h2, .cmj h3, .cmj p, .cmj ul, .cmj ol, .cmj figure, .cmj blockquote{ margin:0; padding:0; }
.cmj img{ display:block; max-width:100%; }
.cmj a{ color:inherit; }
.cmj-wrap{ max-width:1160px; margin:0 auto; padding:0 32px; }
.cmj h1, .cmj h2, .cmj h3{ font-family:var(--serif)!important; font-weight:500; letter-spacing:-.01em; text-wrap:balance; }

/* buttons */
.cmj-btn{ white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--sans); font-weight:600; font-size:16px; line-height:1; padding:16px 26px; border-radius:10px; text-decoration:none; transition:background .15s, color .15s, border-color .15s; cursor:pointer; }
.cmj-btn--primary{ background:var(--o); color:#fff!important; border:1px solid var(--o); }
.cmj-btn--primary:hover{ background:var(--od); border-color:var(--od); }
.cmj-btn--ghost{ background:transparent; color:var(--w)!important; border:1px solid rgba(248,246,243,.35); }
.cmj-btn--ghost:hover{ border-color:var(--w); }
.cmj-btn--light{ background:var(--w); color:var(--c)!important; border:1px solid var(--w); }
.cmj-btn--light:hover{ background:#fff; }

/* GHL wrappers around our code blocks: no padding, full width */
.c-section:has(.cmj), .c-row:has(.cmj), .c-column:has(.cmj), .c-custom-code:has(.cmj),
.c-row:has(.cmj) > .inner, .c-column:has(.cmj) > .inner, .custom-code-container:has(.cmj){ padding:0!important; margin:0!important; max-width:none!important; width:100%!important; }

/* header */
.cmj-head{ position:sticky; top:0; z-index:50; background:rgba(248,246,243,.92); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line); }
.cmj-head .cmj-wrap{ display:flex; align-items:center; justify-content:space-between; min-height:64px; }
.cmj-head img{ height:22px; width:auto; }
.cmj-head-right{ display:flex; align-items:center; gap:24px; }
.cmj-head-link{ font-size:15px; font-weight:500; color:var(--st)!important; text-decoration:none; }
.cmj-head-link:hover{ color:var(--c)!important; }
.cmj-head .cmj-btn{ font-size:14.5px; padding:11px 18px; border-radius:8px; }

/* hero */
.cmj-hero{ background:var(--c); color:var(--w); padding:88px 0 96px; }
.cmj-hero .cmj-wrap{ display:grid; grid-template-columns:1.08fr .92fr; gap:64px; align-items:center; }
.cmj-hero h1{ font-size:clamp(40px,5.4vw,64px); line-height:1.04; color:var(--w); }
.cmj-hero-lead{ font-size:18px; line-height:1.65; color:rgba(248,246,243,.78); margin-top:24px!important; max-width:560px; text-wrap:pretty; }
.cmj-hero-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.cmj-hero-note{ font-size:14.5px; color:rgba(248,246,243,.6); margin-top:20px!important; }
.cmj-hero-photo{ border-radius:20px; overflow:hidden; aspect-ratio:4/5; background:#2b2623; }
.cmj-hero-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 25%; }

/* proof row */
.cmj-proof{ padding:64px 0; border-bottom:1px solid var(--line); }
.cmj-proof dl{ display:grid; grid-template-columns:repeat(4,1fr); margin:0; }
.cmj-proof dl > div{ padding:4px 28px; border-left:1px solid var(--line); }
.cmj-proof dl > div:first-child{ border-left:0; padding-left:0; }
.cmj-proof dt{ font-family:var(--serif); font-size:44px; line-height:1; color:var(--c); font-weight:500; }
.cmj-proof dd{ margin:10px 0 0; font-size:15px; line-height:1.45; color:var(--pb); }

/* section heads */
.cmj-sec{ padding:104px 0; }
.cmj-sec-head{ max-width:720px; margin-bottom:56px; }
.cmj-sec-head--center{ margin-left:auto; margin-right:auto; text-align:center; }
.cmj-sec-head h2{ font-size:clamp(32px,4vw,48px); line-height:1.08; color:var(--c); }
.cmj-sec-head p{ font-size:18px; line-height:1.6; color:var(--st); margin-top:18px!important; text-wrap:pretty; }

/* what's built */
.cmj-built{ display:grid; grid-template-columns:repeat(4,1fr); gap:0 36px; }
.cmj-built article{ padding-top:0; }
.cmj-built figure{ margin:0 0 22px; border-radius:16px; overflow:hidden; aspect-ratio:4/3.3; background:#E7E1DA; }
.cmj-built figure img{ width:100%; height:100%; object-fit:cover; display:block; }
.cmj-built h3{ font-size:26px; line-height:1.15; padding-top:18px; border-top:2px solid var(--c); }
.cmj-built p{ font-size:16px; line-height:1.6; color:var(--st); margin-top:12px!important; }

/* trial steps */
.cmj-steps-sec{ background:#EFEBE6; }
.cmj-steps-grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:28px; align-items:stretch; }
.cmj-steps-photo{ margin:0; border-radius:18px; overflow:hidden; min-height:100%; background:#E7E1DA; }
.cmj-steps-photo img{ width:100%; height:100%; object-fit:cover; object-position:62% center; display:block; }
.cmj-steps{ list-style:none; display:grid; grid-template-columns:1fr; gap:16px; }
.cmj-steps li{ display:grid; grid-template-columns:56px 1fr; column-gap:6px; align-items:start; padding:26px 28px 28px; }
.cmj-steps li .cmj-step-n{ grid-row:span 2; margin-bottom:0; }
.cmj-steps li{ background:var(--w); border:1px solid var(--line); border-radius:18px; padding:30px 28px 32px; }
.cmj-step-n{ display:block; font-family:var(--serif); font-size:40px; line-height:1; color:var(--o); margin-bottom:18px; }
.cmj-steps h3{ font-size:24px; line-height:1.2; }
.cmj-steps p{ font-size:16px; line-height:1.6; color:var(--st); margin-top:10px!important; }
.cmj-steps-foot{ text-align:center; font-size:16px; color:var(--st); margin-top:32px!important; }

/* plans */
.cmj-plans-sec{ background:var(--c); color:var(--w); }
.cmj-plans-sec .cmj-sec-head h2{ color:var(--w); }
.cmj-plans-sec .cmj-sec-head p{ color:rgba(248,246,243,.72); }
.cmj-toggle{ display:flex; justify-content:center; margin:-20px 0 44px; }
.cmj-toggle-box{ display:inline-flex; background:rgba(248,246,243,.08); border:1px solid rgba(248,246,243,.14); border-radius:12px; padding:4px; }
.cmj-toggle button{ font-family:var(--sans); font-size:15px; font-weight:600; color:rgba(248,246,243,.7); background:transparent; border:0; border-radius:9px; padding:10px 20px; cursor:pointer; }
.cmj-toggle button[aria-pressed="true"]{ background:var(--w); color:var(--c); }
.cmj-toggle .cmj-save{ font-weight:500; color:var(--o); margin-left:6px; }
.cmj-toggle button[aria-pressed="true"] .cmj-save{ color:var(--od); }
.cmj-plan-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.cmj-plan{ background:var(--c2); border:1px solid rgba(248,246,243,.12); border-radius:20px; padding:34px 30px 32px; display:flex; flex-direction:column; }
.cmj-plan--featured{ background:var(--w); color:var(--c); border-color:var(--w); }
.cmj-plan-name{ font-size:34px; line-height:1.05; color:var(--w); }
.cmj-plan--featured .cmj-plan-name{ color:var(--c); }
.cmj-plan-tag{ font-size:16px; color:rgba(248,246,243,.7); margin-top:8px!important; }
.cmj-plan--featured .cmj-plan-tag{ color:var(--st); }
.cmj-price{ display:flex; align-items:baseline; gap:4px; margin-top:26px; }
.cmj-amt{ font-family:var(--sans); font-size:48px; font-weight:700; letter-spacing:-.02em; line-height:1; }
.cmj-per{ font-size:16px; color:rgba(248,246,243,.6); }
.cmj-plan--featured .cmj-per{ color:var(--pb); }
.cmj-bill{ font-size:14px; color:rgba(248,246,243,.6); margin-top:10px!important; min-height:21px; }
.cmj-plan--featured .cmj-bill{ color:var(--pb); }
.cmj-plan .cmj-btn{ width:100%; margin:24px 0 26px; }
.cmj-feats{ list-style:none; border-top:1px solid rgba(248,246,243,.12); padding-top:22px!important; }
.cmj-plan--featured .cmj-feats{ border-top-color:var(--line); }
.cmj-feats li{ display:flex; gap:10px; align-items:flex-start; font-size:15.5px; line-height:1.45; padding:6px 0; color:rgba(248,246,243,.88); }
.cmj-plan--featured .cmj-feats li{ color:var(--st); }
.cmj-feats li::before{ content:""; flex:0 0 18px; width:18px; height:18px; margin-top:2px; background:var(--o);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%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 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat; }
.cmj-plans-foot{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 32px; margin-top:36px; font-size:15.5px; color:rgba(248,246,243,.72); text-align:center; }
.cmj-plans-foot a{ color:var(--w)!important; font-weight:600; text-decoration:underline; text-decoration-color:rgba(248,246,243,.35); text-underline-offset:3px; }
.cmj-plans-foot a:hover{ text-decoration-color:var(--o); }

/* reviews */
.cmj-reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.cmj-review blockquote{ font-family:var(--serif); font-size:22px; line-height:1.45; color:var(--c); text-wrap:pretty; }
.cmj-review figcaption{ display:flex; align-items:center; gap:12px; margin-top:22px; font-size:15px; color:var(--pb); }
.cmj-review img{ width:44px; height:44px; border-radius:50%; object-fit:cover; object-position:center 30%; }
.cmj-review strong{ display:block; color:var(--c); font-weight:600; }

/* faq */
.cmj-faq-sec{ border-top:1px solid var(--line); }
.cmj-faq{ max-width:760px; margin:0 auto; }
.cmj-faq details{ border-bottom:1px solid var(--line); }
.cmj-faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; font-size:18px; font-weight:600; color:var(--c); }
.cmj-faq summary::-webkit-details-marker{ display:none; }
.cmj-faq summary::after{ content:""; flex:0 0 12px; width:12px; height:12px; border-right:2px solid var(--pb); border-bottom:2px solid var(--pb); transform:rotate(45deg) translateY(-3px); transition:transform .2s; }
.cmj-faq details[open] summary::after{ transform:rotate(-135deg) translateY(-3px); }
.cmj-faq details p{ font-size:16.5px; line-height:1.65; color:var(--st); padding:0 0 24px!important; max-width:680px; }
.cmj-faq details a{ color:var(--od)!important; font-weight:600; text-decoration:none; }

/* final */
.cmj-final{ position:relative; color:var(--w); text-align:center; padding:120px 0; background:var(--c) url('https://coachmarketer.com/studio-interior.jpg') center/cover no-repeat; }
.cmj-final{ overflow:hidden; background-image:url('https://coachmarketer.com/media/session-poster.jpg'); }
.cmj-final-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:40% center; z-index:0; }
.cmj-final::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(135deg,rgba(28,25,23,.88) 0%,rgba(41,37,36,.8) 100%); }
.cmj-final .cmj-wrap{ position:relative; z-index:2; max-width:760px; }
@media (prefers-reduced-motion:reduce){ .cmj-final-video{ display:none; } }
.cmj-final h2{ font-size:clamp(34px,4.4vw,52px); line-height:1.08; color:var(--w); }
.cmj-final p{ font-size:18px; color:rgba(248,246,243,.78); margin-top:18px!important; }
.cmj-final .cmj-hero-ctas{ justify-content:center; }

/* footer */
.cmj-foot{ background:var(--w); border-top:1px solid var(--line); }
.cmj-foot .cmj-wrap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; padding-top:28px; padding-bottom:40px; font-size:14px; color:var(--pb); }
.cmj-foot nav{ display:flex; flex-wrap:wrap; gap:6px 20px; }
.cmj-foot a{ color:var(--pb)!important; text-decoration:none; }
.cmj-foot a:hover{ color:var(--c)!important; }

/* responsive */
@media (max-width:980px){
  .cmj-hero .cmj-wrap{ grid-template-columns:1fr; gap:44px; }
  .cmj-hero-photo{ aspect-ratio:16/11; }
  .cmj-proof dl{ grid-template-columns:repeat(2,1fr); row-gap:32px; }
  .cmj-proof dl > div:nth-child(3){ border-left:0; padding-left:0; }
  .cmj-built{ grid-template-columns:repeat(2,1fr); gap:40px 32px; }
  .cmj-plan-grid{ grid-template-columns:1fr; max-width:520px; margin:0 auto; }
  .cmj-plan--featured{ order:-1; }
  .cmj-reviews{ grid-template-columns:1fr; gap:36px; max-width:620px; margin:0 auto; }
  .cmj-steps-grid{ grid-template-columns:1fr; max-width:620px; margin:0 auto; }
  .cmj-steps-photo{ aspect-ratio:16/10; min-height:0; }
}
@media (max-width:640px){
  .cmj-wrap{ padding:0 20px; }
  .cmj-head-link{ display:none; }
  .cmj-hero{ padding:56px 0 64px; }
  .cmj-hero-lead{ font-size:17px; }
  .cmj-hero-ctas .cmj-btn{ width:100%; }
  .cmj-sec{ padding:72px 0; }
  .cmj-sec-head{ margin-bottom:40px; }
  .cmj-proof{ padding:44px 0; }
  .cmj-proof dt{ font-size:36px; }
  .cmj-proof dl > div{ padding:0 0 0 18px; }
  .cmj-head img{ height:19px; }
  .cmj-head .cmj-btn{ font-size:14px; padding:10px 14px; }
  .cmj-built{ grid-template-columns:1fr; }
  .cmj-built figure{ aspect-ratio:16/10; }
  .cmj-plan{ padding:28px 22px 26px; }
  .cmj-toggle button{ padding:10px 14px; }
  .cmj-final{ padding:84px 0; }
}
