/* Every rule is scoped to the upgrade page so the free reading stays unchanged. */
#step-upsell { --bp-gold:#D8B56A; --bp-light:#F5D58A; background:radial-gradient(ellipse at 80% 5%,#171033 0,transparent 24%),#080B23; color:#F4EFE7; padding:36px 0 70px; }
#step-upsell .container { max-width:1160px; padding-inline:38px; }
#step-upsell .site-logo { width:94px; height:94px; margin:0 auto 20px; }
#step-upsell h1,#step-upsell h2,#step-upsell h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; color:#F4EFE7; letter-spacing:-.025em; line-height:1.08; }
#step-upsell h1 { font-size:clamp(42px,5.7vw,76px); max-width:900px; margin:22px auto 16px; text-wrap:balance; }
#step-upsell h2 { font-size:clamp(33px,4vw,51px); margin:16px 0 30px; text-wrap:balance; }
#step-upsell h3 { font-size:31px; margin:30px 0 22px; line-height:1.2; }
#step-upsell p { font-size:16px; line-height:1.9; color:#d7d2df; margin:0 0 20px; max-width:740px; margin-inline:auto; }
#step-upsell .bp-topline { display:flex; justify-content:space-between; border-block:1px solid #d8b56a36; padding:16px 0; font-size:10px; letter-spacing:.22em; color:var(--bp-gold); }
#step-upsell .bp-eyebrow { font-family:'Inter',sans-serif; display:block; color:var(--bp-gold); text-transform:uppercase; font-size:10px; line-height:1.8; letter-spacing:.22em; font-weight:500; }
#step-upsell .bp-hero { padding:65px 0 35px; text-align:center; }
#step-upsell .bp-hero-grid { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:48px; text-align:left; margin-top:35px; }
#step-upsell .bp-hero-copy { padding-block:15px; }
#step-upsell .bp-hero-copy p:first-child { color:var(--bp-light); font-size:20px; font-family:'Cormorant Garamond',Georgia,serif; }
#step-upsell .bp-hero-copy strong,#step-upsell .bp-lead p strong { color:var(--bp-light); font-weight:600; }
#step-upsell .bp-section { padding:85px 0; border-top:1px solid #d8b56a24; }
#step-upsell .bp-heading { max-width:820px; margin:0 auto 28px; text-align:center; }
#step-upsell .bp-section > h3 { max-width:740px; margin-inline:auto; }
#step-upsell .bp-section > .bp-deck { text-align:center; max-width:650px; font-size:18px; }
#step-upsell .bp-list { list-style:none; max-width:740px; padding:0; margin:25px auto 32px; text-align:left; }
#step-upsell .bp-list li { position:relative; padding:9px 0 9px 29px; color:#ddd6e5; font-size:16px; line-height:1.8; }
#step-upsell .bp-list li::before { content:'✧'; color:var(--bp-gold); position:absolute; left:0; top:9px; }
#step-upsell .bp-figure { margin:35px auto; width:100%; min-width:0; position:relative; text-align:center; }
#step-upsell .bp-svg { width:100%; max-width:480px; height:auto; color:var(--bp-gold); display:block; margin:auto; overflow:visible; }
#step-upsell .bp-figure::before { content:''; position:absolute; inset:8%; background:radial-gradient(ellipse,#d8b56a0a,transparent 65%); pointer-events:none; }
#step-upsell .bp-glyph { font-family:Georgia,serif; font-size:24px; text-anchor:middle; stroke:none; fill:#a98e61; }
#step-upsell .bp-sign-active { fill:#ffe2a1; filter:drop-shadow(0 0 6px #d8b56a); }
#step-upsell .bp-main-number { font-family:'Cormorant Garamond',Georgia,serif; font-size:77px; fill:#F5D58A; stroke:none; text-anchor:middle; }
#step-upsell .bp-small-number { font-family:'Cormorant Garamond',Georgia,serif; font-size:46px; fill:#F5D58A; stroke:none; text-anchor:middle; }
#step-upsell .bp-art-label { fill:#d8b56a; stroke:none; text-anchor:middle; font-size:11px; letter-spacing:3px; }
#step-upsell figcaption { color:var(--bp-gold); font:italic 21px/1.5 'Cormorant Garamond',Georgia,serif; margin:12px auto 0; }
#step-upsell figcaption strong { display:block; font-size:35px; font-style:normal; }
#step-upsell figcaption span { display:block; font-size:18px; }
#step-upsell .bp-medallions { display:grid; grid-template-columns:repeat(4,1fr); position:relative; padding:40px 0; gap:20px; }
#step-upsell .bp-medallions::before { content:''; height:1px; position:absolute; top:105px; left:10%; right:10%; background:linear-gradient(90deg,transparent,#d8b56a,transparent); }
#step-upsell .bp-medallion { position:relative; transition-delay:var(--delay); }
#step-upsell .bp-medallion-face { border:1px solid #b19156; outline:1px solid #d8b56a50; outline-offset:7px; background:radial-gradient(circle,#2c2540,#080B23); width:130px; height:130px; border-radius:50%; display:grid; place-items:center; margin:0 auto 26px; box-shadow:0 12px 35px #04071880; position:relative; }
#step-upsell .bp-medallion-face::before { content:''; position:absolute; inset:11px; border:1px dashed #d8b56a45; border-radius:50%; }
#step-upsell .bp-medallion-face strong { color:var(--bp-light); font:50px 'Cormorant Garamond',Georgia,serif; z-index:1; }
#step-upsell .bp-medallion-face svg { position:absolute; width:90%; height:90%; stroke:#d8b56a; opacity:.3; fill:none; }
#step-upsell .bp-medallion > span { font-size:9px; color:var(--bp-gold); text-transform:uppercase; letter-spacing:.17em; }
#step-upsell .bp-product { max-width:600px; padding:30px; perspective:1400px; }
#step-upsell .bp-digital { max-width:440px; margin:0 auto; border:1px solid #d8b56a9c; border-radius:14px; overflow:hidden; background:linear-gradient(130deg,#191b33,#080b23 65%,#26213c); box-shadow:16px 30px 65px #040615; transform:rotateY(-9deg) rotateZ(-2deg); position:relative; }
#step-upsell .bp-digital::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 30%,#fff0cf12 48%,transparent 60%); pointer-events:none; }
#step-upsell .bp-browserbar { border-bottom:1px solid #d8b56a45; display:flex; gap:4px; align-items:center; padding:13px; background:#d8b56a08; }
#step-upsell .bp-browserbar i { width:4px; height:4px; border-radius:50%; background:#d8b56a80; }
#step-upsell .bp-browserbar span { margin-left:16px; font-size:7px; letter-spacing:.15em; color:var(--bp-gold); }
#step-upsell .bp-digital-body { padding:30px 25px 35px; margin:10px; border:1px solid #d8b56a35; }
#step-upsell .bp-digital h3 { font-size:42px; color:var(--bp-light); margin:13px auto 0; }
#step-upsell .bp-digital .bp-svg { max-width:280px; }
#step-upsell .bp-digital p { font-family:'Cormorant Garamond',Georgia,serif; font-size:22px; color:var(--bp-gold); margin:0 auto 10px; }
#step-upsell .bp-digital small { color:#c5bdce; font-size:10px; letter-spacing:.04em; }
#step-upsell .bp-product figcaption { font-family:'Inter',sans-serif; font-style:normal; font-size:10px; letter-spacing:.05em; margin-top:40px; color:#aaa0bb; }
#step-upsell .bp-comparison { display:grid; grid-template-columns:1fr 50px 1fr; align-items:center; gap:18px; padding:35px 24px; border:1px solid #d8b56a40; border-radius:18px; background:linear-gradient(115deg,#0e1126,#1b1533); }
#step-upsell .bp-comparison .bp-free .bp-svg { width:74%; opacity:.6; margin-top:38px; margin-bottom:38px; }
#step-upsell .bp-comparison h3 { font-size:28px; margin-bottom:0; }
#step-upsell .bp-compare-arrow { color:var(--bp-gold); font-size:35px; }
#step-upsell .bp-number-labels { font-size:11px; color:#c9bfd5; line-height:1.9; }
#step-upsell .bp-discoveries-heading { max-width:850px; margin:40px auto 85px; text-align:center; }
#step-upsell .bp-discovery .bp-heading { text-align:left; margin-left:0; max-width:880px; }
#step-upsell .bp-discovery-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:0 65px; align-items:start; }
#step-upsell .bp-discovery-grid .bp-figure { grid-column:2; grid-row:1 / span 2; align-self:center; }
#step-upsell .bp-discovery-intro,#step-upsell .bp-discovery-rest { grid-column:1; }
#step-upsell .bp-reverse .bp-discovery-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); }
#step-upsell .bp-reverse .bp-discovery-grid .bp-figure { grid-column:1; }
#step-upsell .bp-reverse .bp-discovery-intro,#step-upsell .bp-reverse .bp-discovery-rest { grid-column:2; }
#step-upsell .bp-timeline-figure { padding:30px 0; border:1px solid #d8b56a40; border-radius:16px; background:radial-gradient(ellipse at 50% 30%,#30233a60,transparent 70%); }
#step-upsell .bp-timeline { display:flex; overflow-x:auto; padding:25px 20px; gap:12px; scrollbar-color:#d8b56a #171033; scroll-snap-type:x proximity; }
#step-upsell .bp-year { position:relative; flex:1; min-width:88px; padding:8px 2px; border:0; background:transparent; color:#d8b56a; cursor:pointer; scroll-snap-align:center; font:inherit; min-height:130px; }
#step-upsell .bp-year::after { content:''; position:absolute; top:42px; left:calc(50% + 29px); width:calc(100% - 46px); height:1px; background:#d8b56a65; }
#step-upsell .bp-year:last-child::after { display:none; }
#step-upsell .bp-year span { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 14px; border:1px solid #d8b56a80; border-radius:50%; font:30px 'Cormorant Garamond',Georgia,serif; background:#101126; }
#step-upsell .bp-year small { display:block; font-size:12px; color:#d7d2df; }
#step-upsell .bp-year em { font-size:8px; text-transform:uppercase; letter-spacing:1px; display:block; margin-top:5px; }
#step-upsell .bp-year[aria-pressed="true"] span { background:linear-gradient(145deg,#7c5d36,#d8b56a); color:#080b23; box-shadow:0 0 0 5px #d8b56a16,0 0 28px #d8b56a40; border-color:#ffe5b0; }
#step-upsell .bp-year-preview { border-top:1px solid #d8b56a30; margin:10px 30px 0; padding:28px 10px 0; min-height:185px; }
#step-upsell .bp-year-preview > span { font-size:10px; letter-spacing:.15em; color:var(--bp-gold); }
#step-upsell .bp-year-preview h3 { margin:12px 0; }
#step-upsell .bp-year-preview p { font-size:13px; max-width:580px; }
#step-upsell .bp-personal-line { padding:24px; border-left:1px solid var(--bp-gold); background:#d8b56a08; }
#step-upsell .bp-personal-line strong { color:var(--bp-light); }
#step-upsell .bp-steps { margin:45px auto 0; max-width:850px; position:relative; }
#step-upsell .bp-steps::before { content:''; width:1px; position:absolute; left:94px; top:90px; bottom:90px; background:#d8b56a40; }
#step-upsell .bp-journey-step { display:grid; grid-template-columns:190px 1fr; align-items:center; gap:40px; position:relative; margin-block:20px; }
#step-upsell .bp-journey-step .bp-svg { background:#080B23; }
#step-upsell .bp-journey-step h3 { margin:10px 0 15px; }
#step-upsell .bp-journey-step p { margin:0; }
#step-upsell .bp-landscape { border-radius:18px; overflow:hidden; background:radial-gradient(ellipse at 50% 27%,#b88f3f26,transparent 35%),linear-gradient(#111229,#171033); }
#step-upsell .bp-landscape .bp-svg { max-width:550px; max-height:430px; }
#step-upsell .bp-landscape figcaption { padding-bottom:24px; }
#step-upsell .bp-offer-stack { position:relative; padding-bottom:40px; }
#step-upsell .bp-offer-stack .bp-product { max-width:430px; }
#step-upsell .bp-chapter-concepts { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; max-width:850px; margin:-10px auto 20px; position:relative; }
#step-upsell .bp-chapter-concepts > div { background:linear-gradient(140deg,#242039,#0d1025); padding:10px 10px 22px; border:1px solid #d8b56a50; border-radius:8px; box-shadow:0 14px 30px #04071880; text-align:center; transform:rotate(-3deg); }
#step-upsell .bp-chapter-concepts > div:nth-child(even) { transform:rotate(3deg); }
#step-upsell .bp-chapter-concepts span { color:var(--bp-gold); font:18px 'Cormorant Garamond',Georgia,serif; }
:is(#step-upsell, #step-reading) .bp-offer { text-align:center; max-width:620px; margin:28px auto 0; }
#step-upsell .bp-offer .bp-product { margin-bottom:-18px; }
#step-upsell .bp-preview-note { font-size:11px; text-align:center; color:#b4a6c3; margin:18px auto 0; }
#step-upsell .bp-guarantee-copy { background:radial-gradient(ellipse at 50% 50%,#d8b56a06,transparent 65%); }
#step-upsell .bp-paths { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:40px; }
#step-upsell .bp-paths article { border:1px solid #d8b56a35; padding:28px; border-radius:14px; background:#15112980; }
#step-upsell .bp-paths .bp-svg { max-width:300px; }
#step-upsell .bp-paths article h3 { font-size:28px; }
#step-upsell .bp-paths article p { font-size:14px; }
#step-upsell .faq-section { padding:80px 0; border-top:1px solid #d8b56a30; max-width:840px; margin:auto; }
#step-upsell .faq-section > h3 { text-align:center; font-size:46px; margin:0 0 40px; }
#step-upsell .faq-item { border:1px solid #d8b56a50; border-radius:10px; background:#171033; margin-bottom:12px; padding:0; overflow:hidden; }
#step-upsell .faq-q { color:#f4efe7; padding:23px 26px; font-size:15px; font-weight:400; display:flex; justify-content:space-between; align-items:center; }
#step-upsell .faq-q::after { color:var(--bp-gold); font-size:22px; margin-left:18px; transition:transform .3s; }
#step-upsell .faq-item[open] .faq-q::after { transform:rotate(180deg); }
#step-upsell .faq-a { color:#cfc5da; line-height:1.9; font-size:14px; padding:0 26px 24px; }
#step-upsell .bp-final { text-align:center; }
#step-upsell .bp-final .bp-figure { max-width:480px; }
#step-upsell .bp-portal-name { color:var(--bp-gold); font:36px 'Cormorant Garamond',Georgia,serif; }
#step-upsell .bp-postscript { max-width:740px; margin:auto; }
#step-upsell .bp-postscript .bp-heading { text-align:left; }
#step-upsell .bp-disclaimer { font-size:11px; color:#a99fba; border-top:1px solid #d8b56a24; padding-top:28px; margin-top:20px; text-align:center; }
#step-upsell #back-to-reading { display:block; margin:40px auto 0; }
#step-upsell button:focus-visible,#step-upsell summary:focus-visible { outline:2px solid #F5D58A; outline-offset:5px; }
@keyframes bp-turn { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes bp-settle { from { transform:rotate(-18deg); opacity:.2; } to { transform:rotate(0deg); opacity:1; } }
@keyframes bp-appear { from { opacity:.25; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes bp-needle { from { transform:rotate(-35deg); } to { transform:rotate(0); } }
@keyframes bp-twinkle { 0%,100% { opacity:.45; } 50% { opacity:1; } }
@media(prefers-reduced-motion:no-preference) {
  #step-upsell .bp-in-view .bp-orbit { transform-origin:240px 240px; animation:bp-settle 1.8s ease-out both; }
  #step-upsell .bp-in-view .bp-inner-orbit { transform-origin:240px 240px; animation:bp-turn 220s linear infinite; }
  #step-upsell .bp-in-view .bp-stars { animation:bp-twinkle 7s ease-in-out 2; }
  #step-upsell .bp-in-view .bp-main-number { animation:bp-appear 1.6s .35s both; }
  #step-upsell .bp-in-view .bp-needle { transform-origin:240px 240px; animation:bp-needle 2.5s ease-out both; }
  #step-upsell .bp-in-view .bp-trace { animation:bp-appear 1.8s ease both; }
  #step-upsell .bp-in-view .bp-medallion { animation:bp-appear .9s var(--delay) both; }
  #step-upsell .bp-in-view .bp-digital { animation:bp-appear 1.2s both; }
  #step-upsell .bp-journey-step.bp-in-view { animation:bp-appear 1s both; }
}
@media(max-width:760px) {
  #step-upsell { padding-top:20px; }
  #step-upsell .container { padding-inline:23px; }
  #step-upsell .bp-topline { font-size:8px; letter-spacing:.1em; }
  #step-upsell .bp-hero { padding-top:40px; }
  #step-upsell h1 { font-size:43px; }
  #step-upsell .bp-hero-grid { grid-template-columns:1fr; gap:18px; margin-top:0; }
  #step-upsell .bp-hero-grid .bp-figure { max-width:340px; margin:12px auto 22px; }
  #step-upsell p { font-size:15px; line-height:1.9; }
  #step-upsell .bp-section { padding:55px 0; }
  #step-upsell .bp-discovery .bp-heading { text-align:center; }
  #step-upsell .bp-discovery-grid,#step-upsell .bp-reverse .bp-discovery-grid { display:flex; flex-direction:column; gap:0; }
  #step-upsell .bp-discovery-grid .bp-figure { max-width:370px; margin:10px auto 25px; }
  #step-upsell .bp-medallions { grid-template-columns:1fr; gap:32px; padding:25px 0; }
  #step-upsell .bp-medallions::before { width:1px; height:auto; top:60px; bottom:60px; left:50%; right:auto; background:#d8b56a60; }
  #step-upsell .bp-medallion > span { background:#080B23; position:relative; padding:9px; }
  #step-upsell .bp-medallion-face { margin-bottom:19px; }
  #step-upsell .bp-comparison { grid-template-columns:1fr; padding:30px 20px; }
  #step-upsell .bp-comparison .bp-svg { max-width:300px; }
  #step-upsell .bp-comparison .bp-free .bp-svg { max-width:215px; margin-block:15px; }
  #step-upsell .bp-compare-arrow { transform:rotate(90deg); }
  #step-upsell .bp-comparison h3 { margin:15px auto 10px; }
  #step-upsell .bp-product { padding:10px 6px; }
  #step-upsell .bp-digital-body { padding:25px 12px; }
  #step-upsell .bp-digital h3 { font-size:35px; }
  #step-upsell .bp-digital p { font-size:20px; }
  #step-upsell .bp-journey-step { grid-template-columns:85px 1fr; gap:15px; margin-block:35px; }
  #step-upsell .bp-steps::before { left:42px; }
  #step-upsell .bp-journey-step h3 { font-size:26px; }
  #step-upsell .bp-journey-step .bp-eyebrow { font-size:9px; }
  #step-upsell .bp-chapter-concepts { grid-template-columns:1fr 1fr; gap:14px; margin-top:25px; }
  #step-upsell .bp-chapter-concepts span { font-size:17px; }
  #step-upsell .bp-paths { grid-template-columns:1fr; gap:20px; }
  #step-upsell .bp-paths article { padding:20px; }
  #step-upsell .bp-year-preview { margin-inline:15px; }
  #step-upsell .faq-section { padding:55px 0; }
  #step-upsell .faq-q { padding:21px 18px; font-size:14px; }
  #step-upsell .faq-a { padding-inline:18px; }
}
@media(prefers-reduced-motion:reduce) { #step-upsell *,#step-upsell *::before,#step-upsell *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
#step-upsell .bp-review-banner { font-size:10px; text-align:center; color:#b7a9c4; margin:15px auto 0; }
@media(prefers-reduced-motion:no-preference) {
  #step-upsell .faq-item[open] .faq-a { animation:bp-appear .3s ease-out; }
}
@supports (interpolate-size:allow-keywords) {
  #step-upsell .faq-item { interpolate-size:allow-keywords; }
  #step-upsell .faq-item::details-content { block-size:0; overflow:hidden; transition:block-size .3s,content-visibility .3s; transition-behavior:allow-discrete; }
  #step-upsell .faq-item[open]::details-content { block-size:auto; }
}
@keyframes bp-draw { from { stroke-dashoffset:1; opacity:.15; } to { stroke-dashoffset:0; opacity:1; } }
@media(prefers-reduced-motion:no-preference) {
  #step-upsell .bp-in-view .bp-draw { stroke-dasharray:1; animation:bp-draw 2.4s ease-out both; }
}
/* Product showcase under the "Introducing…" headline. The asset is transparent, so it floats on the page with a soft gold backlight. */
#step-upsell .bp-showcase { margin:50px auto 70px; max-width:920px; text-align:center; }
#step-upsell .bp-showcase-art { position:relative; width:100%; max-width:900px; margin:0 auto; }
#step-upsell .bp-showcase-art::before { content:''; position:absolute; inset:4% 2% -2%; border-radius:50%; background:radial-gradient(ellipse at 50% 50%,#f5d58a2e,#d8b56a12 42%,transparent 70%); filter:blur(24px); pointer-events:none; }
#step-upsell .bp-showcase img { position:relative; display:block; width:100%; height:auto; aspect-ratio:3/2; filter:drop-shadow(0 26px 34px #000000b3); }
#step-upsell .bp-showcase figcaption { max-width:680px; margin:34px auto 0; font:normal 16px/1.6 'Inter',sans-serif; color:#d7d2df; }
#step-upsell .bp-showcase-badge { display:inline-block; padding:7px 16px; border:1px solid #d8b56a59; border-radius:999px; background:#d8b56a12; color:var(--bp-light); font:600 11px/1.5 'Inter',sans-serif; letter-spacing:.18em; text-transform:uppercase; }
#step-upsell .bp-showcase h3 { margin:20px auto 12px; font-size:clamp(28px,3.4vw,38px); color:#F4EFE7; }
#step-upsell .bp-showcase p { margin-bottom:14px; font-size:17px; }
#step-upsell .bp-showcase small { display:block; max-width:560px; margin:0 auto; color:#9d93b0; font-size:12px; line-height:1.6; }
@media(prefers-reduced-motion:no-preference) {
  #step-upsell .bp-showcase .bp-showcase-art { transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1); }
  #step-upsell .bp-showcase:not(.bp-seen) .bp-showcase-art { opacity:0; transform:translateY(30px); }
}
@media(max-width:760px) {
  #step-upsell .bp-showcase { margin:30px auto 45px; }
  #step-upsell .bp-showcase figcaption { margin-top:24px; }
  #step-upsell .bp-showcase-badge { font-size:10px; letter-spacing:.12em; padding:6px 12px; }
  #step-upsell .bp-showcase p { font-size:15px; }
}
