/* Seven Day series funnel. Requires dhc-system.css + dhc-sales.css. Mobile-first. */

/* Hero */
.rc-hero { display: grid; gap: var(--space-5); padding: var(--space-5) 0 var(--space-7); }
.rc-hero__media { margin: 0 calc(var(--gutter) * -1); aspect-ratio: 1 / 1; overflow: hidden; background: var(--violet-wash); }
.rc-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.rc-kicker { display: inline-flex; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); }
.rc-kicker span { background: var(--violet-wash); color: var(--violet-deep); padding: 2px var(--space-3); border-radius: 99px; }
.rc-hero h1 { font-size: var(--text-4xl); margin-top: var(--space-3); }
.rc-hero h1 em { font-style: italic; color: var(--violet-deep); }
.rc-lead { font-size: var(--text-lg); margin-top: var(--space-4); max-width: 32em; }
.rc-hero .btn { margin-top: var(--space-5); }
.rc-fine { font-size: var(--text-sm); color: var(--muted); margin-top: var(--space-3); }
@media (min-width: 900px) {
  .rc-hero { grid-template-columns: 1.05fr 1fr; gap: var(--space-8); align-items: center; padding: var(--space-8) 0; }
  .rc-hero__media { order: 2; margin: 0; aspect-ratio: 4 / 5; border-radius: var(--radius-lg); }
  .rc-hero .btn { width: auto; }
}

/* Value strip */
.rc-value { background: var(--ink); color: var(--on-ink); }
.rc-value .wrap { display: grid; gap: var(--space-4); padding-top: var(--space-6); padding-bottom: var(--space-6); }
.rc-value__big { font-family: var(--font-display); font-size: var(--text-3xl); line-height: var(--leading-tight); }
.rc-value__big s { color: var(--on-ink-muted); text-decoration-thickness: 2px; }
.rc-value__big b { font-weight: 500; color: var(--violet); }
.rc-value p { color: var(--on-ink-muted); }
@media (min-width: 900px) { .rc-value .wrap { grid-template-columns: 1fr 1fr; align-items: center; } }

/* Before / after */
.ba { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
@media (min-width: 768px) { .ba { grid-template-columns: 1fr 1fr; } }
.ba__col { border-radius: var(--radius-lg); padding: var(--space-5); }
.ba__col--before { background: var(--card); border: 1px solid var(--line); }
.ba__col--after { background: var(--violet-wash); }
.ba__col h3 { font-size: var(--text-xl); margin-bottom: var(--space-3); }
.ba__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.ba__col li { display: flex; gap: var(--space-3); }
.ba__col li::before { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: var(--text-sm); }
.ba__col--before li::before { content: "×"; background: var(--line); color: var(--ink-soft); }
.ba__col--after li::before { content: "✓"; background: var(--violet-deep); color: #fff; }

/* Is / is not */
.isnot { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
@media (min-width: 768px) { .isnot { grid-template-columns: 1fr 1fr; } }
.isnot div { border-top: 2px solid var(--ink); padding-top: var(--space-4); }
.isnot h3 { font-family: var(--font-body); font-weight: 500; font-size: var(--text-lg); margin-bottom: var(--space-3); }
.isnot ul { margin: 0; padding-left: 1.2em; }
.isnot li + li { margin-top: var(--space-2); }

/* Day schedule cards */
.days { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; gap: var(--space-4); }
@media (min-width: 768px) { .days { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .days { grid-template-columns: repeat(3, 1fr); } }
.day { background: var(--ink); color: var(--on-ink); border-radius: var(--radius-lg); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); min-height: 168px; }
.day--soon { background: var(--card); color: var(--ink); border: 1px dashed var(--line); }
.day__label { align-self: flex-start; background: var(--violet); color: var(--ink); font-weight: 500; font-size: var(--text-sm); padding: 2px var(--space-3); border-radius: 99px; letter-spacing: .04em; }
.day--soon .day__label { background: var(--violet-wash); color: var(--violet-deep); }
.day h3 { font-size: var(--text-xl); line-height: var(--leading-snug); }
.day p { margin-top: auto; font-size: var(--text-sm); color: var(--on-ink-muted); }
.day--soon p { color: var(--muted); }

/* Emotion chips */
.feel { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-5); list-style: none; padding: 0; }
.feel li { background: var(--card); border: 1px solid var(--line); border-radius: 99px; padding: var(--space-2) var(--space-4); }

/* Signup */
.rc-start { scroll-margin-top: 72px; }
.rc-start .signup { background: var(--ink); color: var(--on-ink); }
.rc-start .signup p { color: var(--on-ink-muted); }
.rc-start .signup .newsletter-status { color: var(--violet); }
.rc-start .btn--primary { background: var(--violet); color: var(--ink); }
.rc-start .btn--primary:hover { background: #a985cc; }

/* Safety note */
.rc-safety { font-size: var(--text-sm); color: var(--muted); max-width: 46em; }

/* ---------- Welcome / offer page ---------- */
.wl-hero { padding: var(--space-7) 0 var(--space-6); }
.wl-hero h1 { font-size: var(--text-4xl); }
.wl-hero p { font-size: var(--text-lg); margin-top: var(--space-3); max-width: 32em; color: var(--ink-soft); }
.wl-day1 { display: grid; gap: var(--space-4); background: var(--ink); color: var(--on-ink); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-5); }
.wl-day1 h2 { font-size: var(--text-2xl); }
.wl-day1 p { color: var(--on-ink-muted); }
@media (min-width: 900px) { .wl-day1 { grid-template-columns: 1fr auto; align-items: center; padding: var(--space-7); } }
.offers { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
@media (min-width: 900px) { .offers { grid-template-columns: repeat(3, 1fr); align-items: stretch; } }
.offer-card { position: relative; display: flex; flex-direction: column; gap: var(--space-3); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-5); }
.offer-card--best { border: 2px solid var(--violet-deep); box-shadow: 0 12px 32px rgba(107, 58, 145, .14); }
.offer-card__tag { align-self: flex-start; font-size: var(--text-sm); background: var(--violet-deep); color: #fff; padding: 2px var(--space-3); border-radius: 99px; }
.offer-card h3 { font-size: var(--text-xl); }
.offer-card__price { font-family: var(--font-display); font-size: var(--text-3xl); line-height: 1; }
.offer-card__price s { font-size: var(--text-xl); color: var(--muted); margin-left: var(--space-2); }
.offer-card ul { margin: 0; padding-left: 1.2em; color: var(--ink-soft); }
.offer-card li + li { margin-top: var(--space-1); }
.offer-card .btn { margin-top: auto; }
.wl-skip { text-align: center; margin-top: var(--space-6); }
.wl-skip a { color: var(--muted); font-size: var(--text-base); }
.rc-start .signup h2 em { font-style: italic; color: var(--violet); }

/* ===== Brunson-style long page: alternating centered and left-aligned sections ===== */
.t-center { text-align: center; }
.t-center .sp-lead, .t-center h2, .t-center > p { margin-left: auto; margin-right: auto; }
.t-center .btn { margin-left: auto; margin-right: auto; }
.rc-hero.t-center .rc-kicker { justify-content: center; }
.rc-pre { font-size: var(--text-sm); color: var(--violet-deep); letter-spacing: .02em; }
.rc-hero.t-center .rc-lead { margin-left: auto; margin-right: auto; }
@media (min-width: 900px) { .rc-hero.t-center { text-align: left; } .rc-hero.t-center .rc-kicker { justify-content: flex-start; } .rc-hero.t-center .rc-lead { margin-left: 0; } }

.sounds { list-style: none; margin: var(--space-5) 0 0; padding: 0; display: grid; gap: var(--space-3); }
.sounds li { display: flex; gap: var(--space-3); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-4); font-size: var(--text-lg); }
.sounds li::before { content: "✓"; flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--violet-wash); color: var(--violet-deep); display: grid; place-items: center; font-size: var(--text-sm); margin-top: 2px; }

.story-block { max-width: 36em; }
.story-block p { font-size: var(--text-lg); }
.story-block p + p { margin-top: var(--space-4); }
.story-block h3 { font-size: var(--text-2xl); margin: var(--space-7) 0 var(--space-3); }
.pull { margin: var(--space-7) auto; text-align: center; max-width: 26em; }
.pull blockquote { margin: 0; font-family: var(--font-display); font-size: var(--text-3xl); line-height: var(--leading-tight); color: var(--violet-deep); }
.pull p { margin-top: var(--space-3); color: var(--muted); }
.win { background: var(--ink); color: var(--on-ink); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-5); text-align: center; margin-top: var(--space-6); }
.win h3 { font-size: var(--text-2xl); color: var(--violet); margin: 0 0 var(--space-3); }
.win p { color: var(--on-ink); font-size: var(--text-lg); max-width: 30em; margin: 0 auto; }
.win p + p { margin-top: var(--space-3); }
.win small { display: block; margin-top: var(--space-4); color: var(--on-ink-muted); font-size: var(--text-sm); }

.stack { list-style: none; margin: var(--space-6) auto 0; padding: 0; max-width: 34rem; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); text-align: left; }
.stack li { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--line); }
.stack li span:last-child { flex: none; color: var(--muted); }
.stack li.stack__total { border-bottom: 0; font-weight: 500; font-size: var(--text-lg); }
.stack li.stack__total span:last-child { color: var(--violet-deep); }
.stack s { color: var(--muted); }

.ladder { display: grid; gap: var(--space-3); margin: var(--space-6) auto 0; max-width: 40rem; text-align: left; }
@media (min-width: 768px) { .ladder { grid-template-columns: repeat(3, 1fr); max-width: none; } }
.ladder a { display: block; text-decoration: none; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-5); }
.ladder b { display: block; font-weight: 500; font-size: var(--text-lg); }
.ladder span { display: block; color: var(--muted); margin-top: var(--space-1); }
.ladder em { font-style: normal; font-family: var(--font-display); font-size: var(--text-2xl); color: var(--violet-deep); display: block; margin-top: var(--space-2); }
.step-no { font-size: var(--text-sm); color: var(--violet-deep); }
.steps-list { list-style: none; counter-reset: s; margin: var(--space-5) 0 0; padding: 0; display: grid; gap: var(--space-4); }
.steps-list li { counter-increment: s; position: relative; padding-left: calc(36px + var(--space-3)); font-size: var(--text-lg); }
.steps-list li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--ink); color: var(--on-ink); display: grid; place-items: center; font-size: var(--text-base); font-weight: 500; }
.steps-list b { font-weight: 500; }
.story.t-center blockquote { max-width: 18em; margin: 0 auto; }
.proof { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
@media (min-width: 768px) { .proof { grid-template-columns: 1fr 1fr; } }
.proof article { background: var(--card); border: 1px solid var(--line); border-left: 4px solid var(--violet-deep); border-radius: var(--radius-lg); padding: var(--space-5); }
.proof h3 { font-size: var(--text-xl); margin-bottom: var(--space-2); }
.proof p { color: var(--ink-soft); }
.proof-note { font-size: var(--text-sm); color: var(--muted); margin-top: var(--space-4); }
.imagine { max-width: 34em; margin: var(--space-5) auto 0; }
.imagine p { font-size: var(--text-lg); }
.imagine p + p { margin-top: var(--space-3); }
.ps { max-width: 36em; margin: var(--space-6) auto 0; font-size: var(--text-lg); text-align: left; }
.ps b { font-weight: 500; }
.ps a { color: var(--violet-deep); font-weight: 500; }
.stars { display: flex; gap: 2px; color: var(--violet-deep); margin-bottom: var(--space-2); }
.stars svg { width: 16px; height: 16px; }

/* ===== Design pass: color, rhythm and callouts ===== */
.band { padding: var(--space-7) 0; }
@media (min-width: 900px) { .band { padding: var(--space-8) 0; } }
.band--wash { background: var(--violet-wash); }
.band--ink { background: var(--ink); color: var(--on-ink); }
.band--ink p, .band--ink li { color: var(--on-ink); }
.band--ink .muted { color: var(--on-ink-muted); }
.band--violet { background: var(--violet); color: var(--ink); }
.band h2 { font-size: var(--text-3xl); line-height: var(--leading-tight); }
.band h2 em, .band h1 em { font-style: italic; color: var(--violet-deep); }
.band--ink h2 em, .band--ink h2 .accent { color: var(--violet); }
.kicker { font-size: var(--text-sm); letter-spacing: .08em; text-transform: uppercase; color: var(--violet-deep); font-weight: 500; }
.band--ink .kicker { color: var(--violet); }
.copy { max-width: 34em; }
.copy p { font-size: var(--text-lg); line-height: var(--leading-body); }
.copy p + p { margin-top: var(--space-4); }
.copy h3 { font-size: var(--text-2xl); margin-top: var(--space-7); color: var(--violet-deep); }
.centered-head { text-align: center; }
.centered-head h2, .centered-head p { margin-left: auto; margin-right: auto; max-width: 20em; }
.say { color: var(--violet-deep); font-weight: 500; }
.band--ink .say { color: var(--violet); }
.hl { background: linear-gradient(transparent 55%, rgba(185,155,214,.55) 55%); padding: 0 2px; }
.qbox { margin: var(--space-5) 0; border-left: 4px solid var(--violet-deep); background: var(--card); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; padding: var(--space-5); }
.copy .qbox p, .qbox p { font-family: var(--font-display); font-size: var(--text-xl); line-height: var(--leading-snug); color: var(--violet-deep); font-style: italic; }
.qbox p + p { margin-top: var(--space-2); }
.bigbox { margin: var(--space-6) 0; background: var(--ink); color: var(--on-ink); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-5); text-align: center; }
.copy .bigbox p, .bigbox p { font-family: var(--font-display); font-size: var(--text-2xl); line-height: var(--leading-snug); color: var(--violet); }
.pullq { margin: var(--space-6) 0; text-align: center; }
.copy .pullq p, .pullq p { font-family: var(--font-display); font-style: italic; font-size: var(--text-2xl); line-height: var(--leading-snug); color: var(--violet-deep); }
.sig { margin-top: var(--space-5); font-family: var(--font-display); font-size: var(--text-xl); color: var(--violet-deep); }
.cta-row { text-align: center; margin-top: var(--space-6); }
.cta-row .btn { width: 100%; max-width: 26rem; }
.cta-row small { display: block; margin-top: var(--space-3); color: var(--muted); font-size: var(--text-sm); }
.band--ink .cta-row small { color: var(--on-ink-muted); }
.btn--glow { background: var(--violet); color: var(--ink); box-shadow: 0 8px 24px rgba(107,58,145,.28); }
.btn--glow:hover { background: #a985cc; }
.day--wide { grid-column: 1 / -1; }
.faq2 { margin-top: var(--space-5); }
.faq2 .faq__item h3 { color: var(--violet-deep); }

/* ===== Punch pass (Brunson-style impact) ===== */
@font-face { font-family: "Anton"; src: url("../fonts/anton-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
:root { --electric: #7b2cbf; --lavender: #c9a7f5; --font-impact: "Anton", Impact, "Arial Narrow", sans-serif; }

/* Bright violet on light sections, lavender on dark sections */
.band h1 em, .band h2 em, .rc-hero h1 em, .say, .kicker, .sig, .faq2 .faq__item h3, .copy h3 { color: var(--electric); }
.band--ink h2 em, .band--ink .accent, .band--ink .say, .band--ink .kicker, .rc-start .signup h2 em, .bigbox p, .copy .bigbox p { color: var(--lavender); }
.qbox { border-left-color: var(--electric); }
.qbox p, .copy .qbox p, .pullq p, .copy .pullq p { color: var(--electric); }
.hl { background: linear-gradient(transparent 55%, rgba(201, 167, 245, .7) 55%); }

/* Underlined power words */
.pop { color: var(--electric); font-style: inherit; text-decoration: underline; text-decoration-thickness: .09em; text-underline-offset: .12em; text-decoration-color: var(--lavender); text-decoration-skip-ink: none; }
.band--ink .pop, .rc-start .pop { color: var(--lavender); text-decoration-color: var(--electric); }

/* Anton impact headlines and ribbons */
.impact { font-family: var(--font-impact); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; line-height: 1.02; font-size: clamp(2.3rem, 10vw, 3.75rem); }
.impact .pop { font-style: normal; }
.ribbon {
  display: inline-block; font-family: var(--font-impact); font-weight: 400; text-transform: uppercase; letter-spacing: .05em;
  font-size: var(--text-base); line-height: 1.2; color: #fff; background: var(--electric);
  padding: 8px 20px; clip-path: polygon(0 0, 100% 0, 96% 50%, 100% 100%, 0 100%, 4% 50%);
}
.band--ink .ribbon, .day .ribbon { background: var(--lavender); color: var(--ink); }
.by-line { font-size: var(--text-sm); color: var(--muted); margin-top: var(--space-2); }

/* Plum impact header bands */
.impact-head { background: var(--ink); color: #fff; text-align: center; padding: var(--space-7) var(--gutter); }
.impact-head .impact .pop { color: var(--lavender); text-decoration-color: var(--electric); }
.impact-head p { color: var(--on-ink-muted); margin: var(--space-3) auto 0; max-width: 30em; font-size: var(--text-lg); }
/* CTA on the bold violet band: dark button so it pops */
.band--violet .cta-row .btn { background: var(--ink); color: #fff; box-shadow: 0 8px 24px rgba(31,20,29,.25); }
.band--violet .cta-row .btn:hover { background: var(--ink-soft); }
.band--violet .cta-row small { color: var(--ink-soft); }
/* Welcome page: receive-a-session card */
.receive { margin-top: var(--space-6); background: var(--ink); color: var(--on-ink); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-5); text-align: center; }
.receive .ribbon { background: var(--lavender); color: var(--ink); }
.receive h3 { font-size: var(--text-2xl); margin-top: var(--space-4); color: #fff; }
.receive p { color: var(--on-ink-muted); max-width: 30em; margin: var(--space-3) auto 0; }
.receive .offer-card__price { color: var(--lavender); margin-top: var(--space-4); }
.receive .btn { margin-top: var(--space-5); width: 100%; max-width: 24rem; }
.offers-sub { font-family: var(--font-body); font-weight: 500; font-size: var(--text-lg); margin-top: var(--space-6); }
