.pass-offer {
    --offer-surface: #fff;
    --offer-inset: #f5f8fa;
    --offer-text: #142b35;
    --offer-muted: #4c606b;
    --offer-border: #dbe5ea;
    --offer-accent: #6d28d9;
    --offer-tint: #f5f0ff;
    color: var(--offer-text);
}
[data-theme="dark"] .pass-offer {
    --offer-surface: #132330;
    --offer-inset: #0d1b28;
    --offer-text: #f1f5f9;
    --offer-muted: #bdcbd5;
    --offer-border: #344653;
    --offer-accent: #c4b5fd;
    --offer-tint: #261f3f;
}
.pass-offer *, .pass-start * { box-sizing: border-box; }
.pass-offer [hidden], .pass-start[hidden] { display: none !important; }
.pass-offer__intro { margin: 0 auto 2rem; max-width: 680px; text-align: center; }
.pass-offer__intro h2 { margin: .65rem 0; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; }
.pass-offer__intro p { color: var(--offer-muted); line-height: 1.65; }
.pass-offer__label { display: inline-block; color: var(--offer-accent); font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pass-offer__terms { font-size: 1rem; font-weight: 700; line-height: 1.7; margin: 1rem 0; color: var(--color-text, #334155); }
[data-theme="dark"] .pass-offer__terms { color: #e2e8f0; }
.pass-offer__link { color: var(--offer-accent, #6d28d9); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.pass-offer__actions { display: flex; gap: 1rem; align-items: center; justify-content: center; flex-wrap: wrap; margin: 1.5rem 0; }
.pass-offer__actions .pricing-btn { width: auto; }
.pass-demo { max-width: 1060px; margin: 1.5rem auto 3.5rem; padding: 0 1.25rem; scroll-margin-top: 100px; }
.pass-demo__card { border: 1px solid var(--offer-border); border-radius: 22px; overflow: hidden; background: var(--offer-surface); box-shadow: 0 12px 36px -24px rgba(15,23,42,.35); }
.pass-demo__question { padding: 1.5rem 1.75rem; border-bottom: 1px solid var(--offer-border); background: var(--offer-inset); }
.pass-demo__question h3 { margin: .5rem 0 0; font-size: 1.1rem; line-height: 1.65; }
.pass-demo__grid { display: grid; grid-template-columns: .85fr 1.15fr; }
.pass-demo__answer, .pass-demo__feedback { padding: 1.75rem; }
.pass-demo__answer { border-right: 1px solid var(--offer-border); }
.pass-demo h4 { margin: 0 0 1rem; font-size: .9rem; }
.pass-demo blockquote { margin: 0; padding: 1.15rem; border-left: 3px solid var(--offer-accent); border-radius: 0 10px 10px 0; background: var(--offer-inset); line-height: 1.8; font-size: 1.02rem; }
.pass-demo__score { display: inline-block; margin-top: 1.25rem; padding: .4rem .8rem; border-radius: 8px; background: var(--offer-tint); color: var(--offer-accent); font-weight: 700; font-size: .9rem; }
.pass-demo__points { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.pass-demo__points li { display: grid; grid-template-columns: 58px 1fr; gap: .7rem; font-size: .92rem; line-height: 1.55; }
.pass-demo__points strong { font-size: .75rem; align-self: start; text-align: center; border: 1px solid var(--offer-border); border-radius: 6px; padding: .2rem; }
.pass-demo__points .pass-demo__earned { color: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.pass-demo__points .pass-demo__missed { color: #9a3412; background: #fff7ed; border-color: #fed7aa; }
.pass-demo__improve { border-top: 1px solid var(--offer-border); background: var(--offer-tint); }
.pass-demo__improve summary { cursor: pointer; padding: 1.2rem 1.75rem; color: var(--offer-accent); font-weight: 700; line-height: 1.5; }
.pass-demo__improved { padding: 0 1.75rem 1.5rem; }
.pass-demo__improved p { line-height: 1.7; margin-top: 1rem; }
.pass-demo__note { color: var(--offer-muted); font-size: .82rem; line-height: 1.65; margin: 1rem 0 0; }
.pass-demo__course label { display: block; font-weight: 700; margin-bottom: .5rem; }
.pass-demo__course select, #passCopyText { width: 100%; padding: .8rem; border: 1px solid var(--offer-border); border-radius: 8px; background: var(--offer-surface); color: var(--offer-text); font: inherit; }
.pass-demo__question p { line-height: 1.7; }
.pass-offer__free { max-width: 760px; margin: 0 auto 2rem; padding: 0 1.25rem; text-align: center; }
.pass-offer__free h2 { font-size: 1.8rem; line-height: 1.3; margin-bottom: .75rem; }
.pass-offer__free p { color: var(--offer-muted); line-height: 1.7; }
.pass-offer__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; max-width: 1000px; margin: 0 auto 3rem; padding: 0 1.25rem; }
.pass-offer__step { background: var(--offer-surface); border: 1px solid var(--offer-border); border-radius: 16px; padding: 1.4rem; }
.pass-offer__step h3 { font-size: 1rem; margin: .6rem 0; }
.pass-offer__step p { color: var(--offer-muted); line-height: 1.65; font-size: .92rem; margin: 0; }
.pass-offer__number { display: inline-grid; place-items: center; width: 30px; height: 30px; background: var(--offer-tint); color: var(--offer-accent); border-radius: 50%; font-size: .85rem; font-weight: 800; }
.pass-offer :is(a, button, summary):focus-visible { outline: 3px solid #0d9488; outline-offset: 5px; }
.pass-start { border-top: 1px solid #d8e5e4; margin-top: 2rem; padding-top: 1.75rem; }
.pass-start h2 { font-size: 1.5rem; margin: 0 0 .5rem; }
.pass-start label { display: block; font-weight: 700; margin: 1.25rem 0 .5rem; }
.pass-start select { width: 100%; max-width: 460px; padding: .85rem; border: 1px solid #a7bfbe; border-radius: 10px; font: inherit; background: #fff; color: #173b3c; }
.pass-start__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.5rem; }
.pass-start__action { display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid #d8e5e4; border-radius: 14px; background: #f5faf9; }
.pass-start__action h3 { font-size: 1rem; margin: .6rem 0; }
.pass-start__action p { font-size: .9rem; flex: 1; }
.pass-start__action a { font-size: .9rem; color: #115e59; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pass-start__action span { font-size: .75rem; font-weight: 700; color: #536a69; }
@media (max-width: 700px) {
    .pass-demo__grid, .pass-offer__steps, .pass-start__grid { grid-template-columns: 1fr; }
    .pass-demo__answer { border-right: 0; border-bottom: 1px solid var(--offer-border); }
    .pass-demo__question, .pass-demo__answer, .pass-demo__feedback { padding: 1.25rem; }
    .pass-demo__improve summary { padding: 1.15rem 1.25rem; }
    .pass-demo__improved { padding: 0 1.25rem 1.25rem; }
    .pricing-grid { grid-template-columns: minmax(0, 1fr); }
    .pass-offer__actions { flex-direction: column; }
}
