/* Yallah presentation: generous surfaces, clear hierarchy, Arabic-first reading. */
body.is-welcome {
  background-image: radial-gradient(color-mix(in srgb,var(--welcome-muted) 16%,transparent) .65px,transparent .65px);
  background-size: 22px 22px;
}
body.is-welcome .topbar { border:0; background:transparent; backdrop-filter:none; padding:12px 16px 0; }
body.is-welcome .topbar-inner { width:100%; max-width:1280px; min-height:72px; margin:auto; padding:12px 22px; border:1px solid var(--welcome-border); border-radius:24px; background:var(--welcome-surface); box-shadow:0 8px 30px #12264808; gap:20px; }
body.is-welcome .landing-nav { gap:22px; }
body.is-welcome .landing { max-width:1200px; margin-inline:auto; }
body.is-welcome .landing-content-nav { border:1px solid var(--welcome-border); border-radius:18px; background:var(--welcome-surface); padding:14px 22px; }
body.is-welcome .landing :where(.landing-method-section,#landing-skills,.landing-proof) { margin-block:34px; padding:clamp(22px,4vw,48px); border:1px solid var(--welcome-border); border-radius:28px; background:var(--welcome-surface); box-shadow:0 16px 50px #12264805; }
body.is-welcome .landing-section-heading h2 { line-height:1.55; }
body.is-welcome .landing-method-section .landing-section-heading { max-width:800px; }
body.is-welcome .landing-demo { background:var(--welcome-page); border-radius:20px; box-shadow:none; }
/* Answers stay underneath the reading material on every screen size. */
body.is-welcome .landing-demo-workspace { grid-template-columns:minmax(0,1fr); gap:24px; }
body.is-welcome .landing-demo-source { max-width:none; padding:4px 0 20px; border-bottom:1px solid var(--welcome-border); }
body.is-welcome .landing-demo-text { font-size:20px; max-width:72ch; }
body.is-welcome .landing-demo-options { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.is-welcome .landing-demo-options .landing-demo-label { grid-column:1/-1; text-align:right; font-size:15px; }
body.is-welcome .landing-demo-options button { background:var(--welcome-surface); min-height:72px; padding:14px; }
body.is-welcome .demo-reading-controls { display:flex; flex-wrap:wrap; gap:5px; width:fit-content; margin-block:14px 22px; padding:5px; border:1px solid var(--welcome-border); border-radius:12px; background:var(--welcome-surface); }
body.is-welcome .demo-reading-controls button { min-height:44px; padding:8px 18px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--welcome-muted); font:inherit; font-size:14px; cursor:pointer; }
body.is-welcome .demo-reading-controls button[aria-pressed=true] { background:var(--welcome-accent-soft); color:var(--welcome-accent); border-color:var(--welcome-accent-line); font-weight:750; }
body.is-welcome .demo-reading-controls button:focus-visible { outline:3px solid var(--welcome-accent); outline-offset:3px; }
body.is-welcome .demo-paired-text { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.is-welcome .demo-paired-text>div { border:1px solid var(--welcome-border); border-radius:14px; background:var(--welcome-surface); padding:20px; }
body.is-welcome .demo-paired-text p[lang=de] { font-size:19px; line-height:1.85; color:var(--welcome-text); margin:0 0 14px; }
body.is-welcome .demo-paired-text p[lang=ar-MA] { font-size:15px; line-height:1.85; color:var(--welcome-muted); border-top:1px solid var(--welcome-border); padding-top:12px; margin:0; }
body.is-welcome .landing-method-section .landing-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body.is-welcome .landing-demo-feedback { padding:24px; border:1px solid var(--welcome-accent-line); border-radius:16px; background:var(--welcome-surface); }
body.is-welcome .landing-skill-tabs { max-width:760px; margin:28px auto; border-radius:16px; }
body.is-welcome .landing-proof { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:40px; align-items:center; }
body.is-welcome .landing-proof-story p { font-size:16px; line-height:1.95; color:var(--welcome-muted); }
body.is-welcome .landing-proof .landing-value-points { grid-template-columns:minmax(0,1fr); gap:12px; }
body.is-welcome .landing-proof .landing-value-points article { display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:14px; padding:22px; border:1px solid var(--welcome-border); border-radius:16px; background:var(--welcome-page); }
body.is-welcome .value-number { grid-column:1; grid-row:1/3; display:grid; place-items:center; align-self:start; width:40px; height:40px; border-radius:12px; color:var(--welcome-accent); background:var(--welcome-accent-soft); font-size:13px; font-weight:750; }
body.is-welcome .landing-value-points :where(h3,p) { grid-column:2; }
body.is-welcome .landing-faq { padding:32px; border:1px solid var(--welcome-border); border-radius:24px; background:var(--welcome-surface); }
body.is-welcome .landing-faq summary { padding-inline:6px; }

/* Catalogue presentation leaves routing, content and entitlements intact. */
#screen-explorer { --catalog-blue:#2563eb; --catalog-soft:#e8f0ff; max-width:1200px; margin-inline:auto; }
html[data-theme=dark] #screen-explorer { --catalog-blue:#93c5fd; --catalog-soft:#233b59; }
#screen-explorer .section-photo-banner { height:180px; min-height:0; border-radius:24px; margin-bottom:28px; }
#screen-explorer .section-photo-banner img { width:100%; height:100%; object-fit:cover; }
#screen-explorer .explore-header { padding-block:8px 16px!important; }
#screen-explorer .explore-skill-switch { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:780px; margin:18px auto 30px; padding:6px; gap:6px; border:1px solid var(--border); border-radius:18px; background:var(--card); }
#screen-explorer .explore-skill-switch button { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; min-width:0; min-height:58px; padding:10px 6px; color:var(--foreground); border:1px solid transparent; border-radius:12px; background:transparent; }
#screen-explorer .explore-skill-switch button.active { color:var(--catalog-blue); background:var(--catalog-soft); border-color:var(--catalog-blue); box-shadow:none; }
#screen-explorer .explore-skill-title { gap:14px; align-items:baseline; }
#screen-explorer #explorer-title { font-size:clamp(30px,4vw,48px); line-height:1.5; }
#screen-explorer #explorer-title-de { font-size:clamp(22px,3vw,36px); color:var(--muted); }
#screen-explorer .catalog-guide { padding:22px 26px; border:1px solid var(--border); border-radius:20px; background:var(--card); margin-block:12px 24px; }
.catalog-guide>div { display:flex; gap:12px; align-items:center; }
.catalog-guide-icon { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border-radius:10px; background:var(--catalog-soft); color:var(--catalog-blue); font-size:22px; }
.catalog-guide strong { color:var(--foreground); font-size:17px; }
.catalog-guide ol { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:14px 32px; margin-block:18px; }
.catalog-guide li { display:flex; gap:9px; align-items:center; font-size:14px; color:var(--foreground); }
.catalog-guide li b { font-size:12px; color:var(--catalog-blue); }
.catalog-guide p { margin:0; font-size:14px; line-height:1.8; color:var(--muted); }
.catalog-guide button { background:transparent; border:0; padding:8px 0; color:var(--catalog-blue); min-height:44px; font:inherit; font-weight:700; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
#screen-explorer .explorer-levels { padding:5px; border-radius:14px; background:var(--card); }
#screen-explorer .explorer-levels button { min-height:44px; }
#screen-explorer :is(.explorer-levels button,.explorer-tab)[aria-pressed=true] { background:var(--catalog-blue); color:#fff; box-shadow:none; }
html[data-theme=dark] #screen-explorer :is(.explorer-levels button,.explorer-tab)[aria-pressed=true] { color:#10243d; }
#screen-explorer .explorer-tabs { box-shadow:none; background:var(--card); }
#screen-explorer .explorer-toolbar { gap:14px; }
#screen-explorer .explorer-cards { gap:18px; }
#screen-explorer .subject-card { min-height:210px; padding:22px; border-radius:18px; border-color:var(--border); background:var(--card); box-shadow:0 5px 18px #12264806; }
#screen-explorer .subject-title { font-size:20px; line-height:1.5; }
#screen-explorer .subject-top { color:var(--catalog-blue); font-size:12px; }
#screen-explorer .subject-footer { gap:8px; border-color:var(--border); padding-top:15px; }
#screen-explorer .level-chip { background:var(--catalog-soft); border-color:transparent; color:var(--catalog-blue); }
#screen-explorer .card-arrow { display:grid; place-items:center; border-radius:50%; width:30px; height:30px; background:var(--catalog-soft); color:var(--catalog-blue); }
#screen-explorer :where(button,input,select):focus-visible { outline:3px solid var(--catalog-blue); outline-offset:3px; }
@media(hover:hover) and (pointer:fine) {
  #screen-explorer .subject-card:hover { transform:translateY(-3px); border-color:var(--catalog-blue); box-shadow:0 10px 26px #12264810; }
}
@media(max-width:1000px) {
  body.is-welcome .landing-nav { gap:14px; }
  body.is-welcome .landing-proof { grid-template-columns:minmax(0,1fr); gap:24px; }
  body.is-welcome .landing-demo-options { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:720px) {
  body.is-welcome .topbar { padding:8px 8px 0; }
  body.is-welcome .topbar-inner { min-height:62px; border-radius:18px; padding:10px 12px; gap:8px; }
  body.is-welcome .landing-nav { display:none; }
  body.is-welcome .landing :where(.landing-method-section,#landing-skills,.landing-proof) { padding:20px 16px; border-radius:20px; margin-block:24px; }
  body.is-welcome .landing-content-nav { padding:12px; gap:10px; }
  body.is-welcome .demo-paired-text { grid-template-columns:minmax(0,1fr); }
  body.is-welcome .landing-demo-text { font-size:18px; }
  body.is-welcome .landing-demo-feedback { padding:18px; }
  body.is-welcome .landing-method-section .landing-steps { grid-template-columns:minmax(0,1fr); gap:20px; }
  body.is-welcome .landing-faq { padding:24px 18px; }
  #screen-explorer .section-photo-banner { height:140px; margin-bottom:20px; }
  #screen-explorer .explore-skill-switch { gap:4px; padding:4px; margin-bottom:22px; }
  #screen-explorer .explore-skill-switch button { flex-direction:column; gap:3px; font-size:13px; }
  #screen-explorer .catalog-guide { padding:18px; }
  .catalog-guide strong { font-size:15px; }
  .catalog-guide ol { gap:10px 20px; }
  #screen-explorer .explorer-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #screen-explorer .subject-card { padding:16px; min-height:200px; }
  #screen-explorer .subject-title { font-size:17px; }
}
@media(max-width:480px) {
  #screen-explorer .explorer-cards { grid-template-columns:minmax(0,1fr); }
  #screen-explorer .subject-card { min-height:170px; }
  body.is-welcome .landing-value-points article { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
  #screen-explorer .subject-card { transition:none; }
  #screen-explorer .subject-card:hover { transform:none; }
}
/* Hidden state takes priority over grid display in both translation modes. */
body.is-welcome .landing [hidden] { display:none!important; }

/* Visitors can inspect the programme before the account gate. */
body.is-welcome .demo-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; list-style:none; padding:0; margin:24px 0; }
body.is-welcome .demo-progress li { display:flex; align-items:center; gap:9px; padding:12px; border:1px solid var(--welcome-border); border-radius:12px; color:var(--welcome-muted); font-size:14px; line-height:1.6; }
body.is-welcome .demo-progress li span { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border-radius:50%; background:var(--welcome-surface-soft); font-size:12px; font-weight:750; }
body.is-welcome .demo-progress [aria-current=step],body.is-welcome .demo-progress .is-complete { color:var(--welcome-accent); border-color:var(--welcome-accent-line); background:var(--welcome-accent-soft); }
body.is-welcome #landing-demo-next { margin-top:20px; }
body.is-welcome .transfer-heading { display:flex; gap:18px; align-items:start; justify-content:space-between; margin-bottom:24px; }
body.is-welcome .transfer-heading h3 { margin:6px 0; color:var(--welcome-text); font-size:24px; line-height:1.6; }
body.is-welcome .transfer-heading .button { flex-shrink:0; font-size:13px; }
body.is-welcome .transfer-text { font-size:20px; line-height:1.9; color:var(--welcome-text); }
body.is-welcome .transfer-translation { border:1px solid var(--welcome-border); border-radius:12px; padding:4px 16px; background:var(--welcome-surface); }
body.is-welcome .transfer-translation summary { min-height:44px; padding-block:10px; font-size:14px; line-height:1.8; color:var(--welcome-accent); cursor:pointer; }
body.is-welcome .transfer-translation p { color:var(--welcome-muted); font-size:15px; line-height:1.9; margin-block:8px 14px; }
body.is-welcome .landing-transfer .landing-demo-options { margin-top:20px; }
body.is-welcome .demo-result { padding:28px; border:1px solid var(--welcome-accent-line); border-radius:20px; background:var(--welcome-surface-soft); margin-bottom:30px; }
body.is-welcome .demo-result h3 { color:var(--welcome-text); font-size:26px; line-height:1.6; margin-block:8px 12px; }
body.is-welcome .demo-result p { font-size:15px; line-height:1.9; color:var(--welcome-muted); }
body.is-welcome .demo-result-evidence { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-block:20px; }
body.is-welcome .demo-result-evidence>div { padding:18px; border:1px solid var(--welcome-border); border-radius:12px; background:var(--welcome-surface); }
body.is-welcome .demo-result-evidence dt { font-size:13px; color:var(--welcome-muted); margin-bottom:8px; }
body.is-welcome .demo-result-evidence dd { margin:0; font-size:16px; line-height:1.8; font-weight:700; color:var(--welcome-text); }
body.is-welcome .demo-result .demo-result-limit { font-size:12px; }
body.is-welcome .demo-result-next { border-top:1px solid var(--welcome-border); margin-top:20px; padding-top:22px; }
body.is-welcome .demo-result-next strong { color:var(--welcome-text); font-size:17px; line-height:1.9; }
body.is-welcome .demo-result-next .landing-actions { margin-block:18px 10px; }
body.is-welcome .demo-result-next p { font-size:13px; }
body.is-welcome .offer-comparison { overflow-x:auto; margin:28px 0 16px; border:1px solid var(--welcome-border); border-radius:18px; background:var(--welcome-surface); }
body.is-welcome .offer-comparison table { width:100%; border-collapse:collapse; table-layout:fixed; color:var(--welcome-text); font-size:14px; line-height:1.8; }
body.is-welcome .offer-comparison caption { text-align:start; padding:20px; font-weight:750; font-size:19px; color:var(--welcome-text); }
body.is-welcome .offer-comparison :is(th,td) { text-align:start; padding:16px 20px; border-top:1px solid var(--welcome-border); vertical-align:top; overflow-wrap:anywhere; }
body.is-welcome .offer-comparison th[scope=row] { width:40%; font-weight:650; }
body.is-welcome .offer-comparison thead { background:var(--welcome-surface-soft); }
body.is-welcome .offer-comparison td { color:var(--welcome-muted); }
body.is-welcome .offer-choice-note { color:var(--welcome-muted); font-size:15px; line-height:1.9; margin-bottom:26px; }
body.is-welcome :is(.transfer-translation summary,.offer-comparison):focus-visible { outline:3px solid var(--welcome-accent); outline-offset:4px; }
@media(max-width:720px) {
  body.is-welcome .transfer-heading { flex-direction:column; }
  body.is-welcome .demo-progress { gap:6px; }
  body.is-welcome .demo-progress li { flex-direction:column; gap:7px; text-align:center; padding:10px 5px; font-size:12px; }
  body.is-welcome .demo-result { padding:20px 16px; }
  body.is-welcome .demo-result-evidence { grid-template-columns:minmax(0,1fr); }
  body.is-welcome .transfer-text { font-size:18px; }
  body.is-welcome .offer-comparison table { font-size:12px; }
  body.is-welcome .offer-comparison :is(th,td) { padding:12px 9px; }
  body.is-welcome .offer-comparison caption { font-size:17px; padding:16px; }
}
body.is-welcome .public-levels { display:flex; width:fit-content; margin:24px auto; gap:5px; padding:5px; border:1px solid var(--welcome-border); border-radius:14px; background:var(--welcome-surface); }
body.is-welcome .public-levels button { min-height:46px; min-width:68px; padding:10px 18px; border:0; border-radius:10px; background:transparent; color:var(--welcome-muted); font:inherit; font-weight:750; cursor:pointer; }
body.is-welcome .public-levels button[aria-pressed=true] { background:var(--welcome-accent); color:var(--welcome-accent-foreground); }
body.is-welcome .public-skills { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; max-width:760px; margin-inline:auto; padding:5px; border:1px solid var(--welcome-border); border-radius:16px; background:var(--welcome-surface); }
body.is-welcome .public-skills button { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; min-height:58px; min-width:0; padding:10px; border:1px solid transparent; border-radius:11px; background:transparent; color:var(--welcome-muted); font:inherit; cursor:pointer; }
body.is-welcome .public-skills button[aria-pressed=true] { background:var(--welcome-accent-soft); color:var(--welcome-accent); border-color:var(--welcome-accent-line); }
body.is-welcome .public-skills bdi { font-size:16px; font-weight:750; }
body.is-welcome .public-skills span { font-size:13px; }
body.is-welcome .public-catalog-status { color:var(--welcome-muted); font-size:14px; line-height:1.8; margin:22px 0 16px; }
body.is-welcome :is(.public-catalog-cards,.public-course-cards) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.is-welcome :is(.public-part-card,.public-course-card) { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--welcome-border); border-radius:20px; background:var(--welcome-surface); box-shadow:0 6px 22px #12264806; }
body.is-welcome .public-part-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
body.is-welcome .public-part-icon { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:12px; background:var(--welcome-accent-soft); color:var(--welcome-accent); }
body.is-welcome .public-part-icon svg { width:23px; height:23px; }
body.is-welcome .public-part-badge { padding:4px 8px; border:1px solid var(--welcome-border); border-radius:7px; color:var(--welcome-muted); font-size:12px; font-weight:700; }
body.is-welcome :is(.public-part-card,.public-course-card) h3 { font-size:21px; line-height:1.65; color:var(--welcome-text); margin:0 0 8px; }
body.is-welcome :is(.public-part-card,.public-course-card)>p { font-size:15px; line-height:1.9; color:var(--welcome-muted); margin:0 0 22px; }
body.is-welcome .public-part-open { display:block; width:100%; min-height:46px; margin-top:auto; padding:10px 12px; border:1px solid var(--welcome-accent-line); border-radius:10px; background:var(--welcome-accent-soft); color:var(--welcome-accent); font:inherit; font-size:14px; line-height:1.6; font-weight:750; cursor:pointer; }
body.is-welcome :is(.public-part-open,.public-levels button,.public-skills button,.public-lesson-details summary):focus-visible { outline:3px solid var(--welcome-accent); outline-offset:4px; }
body.is-welcome .public-catalog-note { border-inline-start:3px solid var(--welcome-accent); margin-top:22px; padding:6px 20px; color:var(--welcome-muted); font-size:14px; line-height:1.9; }
body.is-welcome .public-lock-note { color:var(--welcome-text); font-weight:700; }
body.is-welcome .public-catalog-note p { margin:8px 0; }
body.is-welcome .public-catalog-note a { color:var(--welcome-accent); display:inline-block; padding-block:8px; }
body.is-welcome .public-lesson-details { border-top:1px solid var(--welcome-border); margin-bottom:18px; }
body.is-welcome .public-lesson-details summary { min-height:48px; padding-block:12px; cursor:pointer; color:var(--welcome-accent); font-size:14px; font-weight:700; }
body.is-welcome .public-lesson-list { padding-inline-start:22px; margin:0 0 10px; }
body.is-welcome .public-lesson-list li { padding:9px 4px; color:var(--welcome-muted); border-bottom:1px solid var(--welcome-border); font-size:13px; }
body.is-welcome .public-lesson-list strong { display:block; color:var(--welcome-text); margin-bottom:4px; }
body.is-welcome .public-lesson-list span { display:block; text-align:start; }
body.is-welcome .public-unit-test { display:grid; gap:5px; padding:14px; margin-top:auto; margin-bottom:16px; border-radius:10px; background:var(--welcome-page); color:var(--welcome-text); font-size:13px; line-height:1.8; }
body.is-welcome .public-unit-test span { color:var(--welcome-muted); }
body.is-welcome .public-course-card .public-part-open { margin-top:0; }
body.is-welcome .public-course-final { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; margin-top:22px; border:1px solid var(--welcome-accent-line); border-radius:20px; background:var(--welcome-surface); }
body.is-welcome .public-course-final bdi { color:var(--welcome-accent); font-size:13px; font-weight:750; }
body.is-welcome .public-course-final h3 { font-size:23px; margin:8px 0; color:var(--welcome-text); }
body.is-welcome .public-course-final p,body.is-welcome .public-course-disclaimer { color:var(--welcome-muted); line-height:1.9; font-size:14px; margin-bottom:0; }
body.is-welcome .public-course-final .button { flex-shrink:0; }
body.is-welcome .public-course-disclaimer { margin-top:16px; }
@media(hover:hover) and (pointer:fine) {
  body.is-welcome .public-part-open:hover { border-color:var(--welcome-accent); background:var(--welcome-accent); color:var(--welcome-accent-foreground); }
}
@media(max-width:1000px) {
  body.is-welcome :is(.public-catalog-cards,.public-course-cards) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.is-welcome .public-course-final { flex-direction:column; align-items:stretch; }
}
@media(max-width:600px) {
  body.is-welcome :is(.public-catalog-cards,.public-course-cards) { grid-template-columns:minmax(0,1fr); gap:14px; }
  body.is-welcome :is(.public-part-card,.public-course-card) { padding:20px; }
  body.is-welcome .public-skills button { flex-direction:column; gap:4px; padding:8px 3px; }
  body.is-welcome .public-skills bdi { font-size:13px; }
  body.is-welcome .public-skills span { font-size:12px; }
  body.is-welcome .public-course-final { padding:22px; }
  body.is-welcome .public-levels button { min-width:58px; padding-inline:14px; }
}

/* Give the decision a clear hierarchy: purpose, duration, price, then details. */
body.is-welcome .landing .offer-grid { align-items:stretch; gap:20px; }
body.is-welcome .landing .offer-card { display:flex; flex-direction:column; padding:30px 24px 24px; position:relative; }
body.is-welcome .offer-purpose { display:block; min-height:3.6em; font-size:14px; line-height:1.8; color:var(--welcome-muted); margin-bottom:14px; }
body.is-welcome .landing .offer-card h3 { font-size:23px; line-height:1.6; margin:0 0 12px; }
body.is-welcome .landing .offer-card .offer-amount { line-height:1.2; margin:4px 0 12px; }
body.is-welcome .landing .offer-card>p { font-size:14px; line-height:1.8; margin:0; }
body.is-welcome .offer-benefits { list-style:none; padding:0; margin:22px 0 26px; border-top:1px solid var(--welcome-border); }
body.is-welcome .offer-benefits li { position:relative; padding:14px 22px 14px 0; border-bottom:1px solid var(--welcome-border); font-size:14px; line-height:1.85; color:var(--welcome-text); }
body.is-welcome .offer-benefits li::before { content:'✓'; position:absolute; inset-inline-start:0; color:var(--welcome-accent); font-weight:750; }
body.is-welcome .landing .offer-card .button { margin-top:auto; white-space:normal; text-align:center; }
body.is-welcome .landing .offer-quarter { border-color:var(--welcome-accent-line); background:var(--welcome-accent-soft); }
body.is-welcome .landing .offer-ribbon { position:absolute; top:-14px; inset-inline-start:auto; inset-inline-end:20px; padding:5px 13px; line-height:1.6; font-size:12px; }
body.is-welcome .offer-choice-note { max-width:80ch; margin-inline:auto; text-align:center; margin-block:20px 36px; }
body.is-welcome .landing-closing>p { max-width:24ch; font-size:clamp(25px,3.2vw,38px); line-height:1.7; }
body.is-welcome .landing-closing>small { max-width:65ch; font-size:12px; line-height:1.9; color:var(--welcome-muted); }
body.is-welcome .landing-lead { max-width:46ch; }
@media(max-width:720px) {
  body.is-welcome .landing .offer-card { padding:26px 20px 22px; }
  body.is-welcome .offer-purpose { min-height:0; }
  body.is-welcome .landing .offer-grid { gap:28px; }
}

/* Editorial cleanup: origin story and optional access details. */
body.is-welcome .landing-proof { display:block; }
body.is-welcome .landing-proof-story { max-width:76ch; margin:0 auto; }
body.is-welcome .offer-access-details { margin-top:24px; border:1px solid var(--welcome-border); border-radius:16px; background:var(--welcome-surface); }
body.is-welcome .offer-access-details>summary { min-height:48px; padding:18px 22px; color:var(--welcome-accent); font-size:15px; line-height:1.8; font-weight:700; cursor:pointer; }
body.is-welcome .offer-access-details>summary:focus-visible { outline:3px solid var(--welcome-accent); outline-offset:3px; border-radius:16px; }
body.is-welcome .offer-access-details .offer-comparison { margin:0; border:0; border-radius:0 0 16px 16px; }

/* One shared support benefit for both paid durations. */
body.is-welcome .offer-support { padding:24px; margin:26px auto 18px; max-width:78ch; border:1px solid var(--welcome-accent-line); border-radius:18px; background:var(--welcome-accent-soft); text-align:start; }
body.is-welcome .offer-support h3 { margin:8px 0 10px; font-size:clamp(20px,2.3vw,25px); line-height:1.7; color:var(--welcome-text); }
body.is-welcome .offer-support p { margin:0; font-size:15px; line-height:1.95; color:var(--welcome-muted); }
@media(max-width:600px) { body.is-welcome .offer-support { padding:20px 18px; } }
