/* ============================================================
   READ MY SOUL – MAIN STYLESHEET v2.3
   Verbesserungen: Kontrast erhoehen, Hintergrund aufhellen, Schrift groesser
   ============================================================ */

:root {
  --rms-gold:        #C9A84C;
  --rms-gold-light:  #E8C97A;
  --rms-gold-dim:    #b8933e;
  --rms-deep:        #12101e;
  --rms-ink:         #1a1630;
  --rms-violet:      #2a1f4a;
  --rms-rose:        #9b4f6e;
  --rms-cream:       #f5f0e8;
  --rms-cream-dim:   #e2dbd0;
  --rms-white:       #ffffff;
  --rms-text:        #ede8e0;
  --rms-text-soft:   rgba(237,232,224,0.85);
}

.rms-fullpage *, .rms-fullpage *::before, .rms-fullpage *::after { box-sizing:border-box; margin:0; padding:0; }
.rms-fullpage { background:var(--rms-deep); color:var(--rms-text); font-family:'Jost',sans-serif; font-weight:300; font-size:17px; line-height:1.75; overflow-x:hidden; }

#stars { position:fixed; inset:0; pointer-events:none; z-index:0; }

/* NAV */
.rms-nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.5rem 4rem; background:linear-gradient(to bottom,rgba(18,16,30,.98),transparent); backdrop-filter:blur(4px); }
.rms-nav__logo { font-family:'Cinzel Decorative',serif; font-size:1.15rem; color:var(--rms-gold); text-decoration:none; letter-spacing:.08em; }
.rms-nav__links { display:flex; gap:2.5rem; list-style:none; }
.rms-nav__links a { color:var(--rms-cream-dim); text-decoration:none; font-size:.85rem; letter-spacing:.15em; text-transform:uppercase; transition:color .3s; }
.rms-nav__links a:hover { color:var(--rms-gold); }
.rms-nav__cta { border:1px solid var(--rms-gold) !important; padding:.5rem 1.5rem !important; border-radius:2px; transition:all .3s !important; }
.rms-nav__cta:hover { background:var(--rms-gold) !important; color:var(--rms-deep) !important; }
.rms-nav__mobile-toggle { display:none; background:none; border:none; color:var(--rms-gold); font-size:1.5rem; cursor:pointer; }

/* SECTION */
.rms-section-label { text-align:center; font-size:.75rem; letter-spacing:.5em; text-transform:uppercase; color:var(--rms-gold); margin-bottom:1rem; }
.rms-section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,4vw,3.8rem); text-align:center; font-weight:300; color:var(--rms-white); margin-bottom:1.2rem; line-height:1.2; }
.rms-section-sub { text-align:center; color:var(--rms-text-soft); font-size:1.05rem; line-height:1.8; margin-bottom:4rem; max-width:560px; margin-left:auto; margin-right:auto; }

/* BUTTONS */
.rms-btn { display:inline-block; text-decoration:none; border-radius:2px; font-family:'Jost',sans-serif; font-size:.85rem; letter-spacing:.25em; text-transform:uppercase; cursor:pointer; transition:all .3s; padding:1rem 2.5rem; }
.rms-btn--primary { background:linear-gradient(135deg,var(--rms-gold),var(--rms-gold-dim)); color:var(--rms-deep); border:none; box-shadow:0 0 30px rgba(201,168,76,.3); font-weight:500; }
.rms-btn--primary:hover { transform:translateY(-2px); box-shadow:0 0 50px rgba(201,168,76,.5); color:var(--rms-deep); }
.rms-btn--ghost { background:transparent; color:var(--rms-cream-dim); border:1px solid rgba(226,219,208,.45); }
.rms-btn--ghost:hover { border-color:var(--rms-gold-light); color:var(--rms-gold-light); }

/* HERO */
.rms-hero { position:relative; z-index:1; min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2rem; }
.rms-hero__ornament { width:260px; height:260px; margin:0 auto 2.5rem; display:block; animation:rmsfadeup 1.2s ease .3s both, rmsspin 90s linear 1.5s infinite; filter:drop-shadow(0 0 16px rgba(232,201,122,0.45)); }
.rms-hero__sub { font-size:.8rem; letter-spacing:.5em; text-transform:uppercase; color:var(--rms-gold); margin-bottom:1.5rem; animation:rmsfadeup 1s ease .6s both; }
.rms-hero__title { font-family:'Cinzel Decorative',serif; font-size:clamp(3rem,8vw,7rem); font-weight:700; line-height:1; background:linear-gradient(135deg,var(--rms-gold-light) 0%,var(--rms-gold) 40%,var(--rms-rose) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:1rem; animation:rmsfadeup 1s ease .8s both; }
.rms-hero__tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.3rem,2.5vw,2rem); color:var(--rms-cream); margin-bottom:2rem; animation:rmsfadeup 1s ease 1s both; }
.rms-hero__desc { max-width:620px; font-size:1.05rem; line-height:2; color:var(--rms-text); margin-bottom:3rem; animation:rmsfadeup 1s ease 1.2s both; }
.rms-hero__buttons { display:flex; gap:1.5rem; flex-wrap:wrap; justify-content:center; animation:rmsfadeup 1s ease 1.4s both; }
.rms-hero__scroll { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.5rem; opacity:.5; animation:rmspulse 2s ease infinite; }
.rms-hero__scroll span { font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; }
.rms-hero__scroll-line { width:1px; height:40px; background:var(--rms-gold); }

/* DISCIPLINES */
.rms-disciplines { position:relative; z-index:1; padding:8rem 4rem; background:linear-gradient(to bottom,transparent,var(--rms-ink) 20%,var(--rms-ink) 80%,transparent); }
.rms-disciplines__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:2px; max-width:1200px; margin:0 auto; }
.rms-discipline-card { background:rgba(38,30,62,.78); border:1px solid rgba(201,168,76,.18); padding:3rem 2.5rem; position:relative; overflow:hidden; transition:all .4s; }
.rms-discipline-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--rms-gold),transparent); transform:scaleX(0); transition:transform .4s; }
.rms-discipline-card:hover { background:rgba(52,40,88,.85); transform:translateY(-4px); }
.rms-discipline-card:hover::before { transform:scaleX(1); }
.rms-discipline-card__number { position:absolute; top:1.5rem; right:2rem; font-family:'Cormorant Garamond',serif; font-size:4rem; color:rgba(201,168,76,.08); font-weight:300; line-height:1; }
.rms-discipline-card__icon { font-size:2.5rem; margin-bottom:1.5rem; display:block; }
.rms-discipline-card__title { font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:400; color:var(--rms-gold-light); margin-bottom:.75rem; }
.rms-discipline-card__text { font-size:.95rem; line-height:1.9; color:var(--rms-text); margin-bottom:1.5rem; }
.rms-discipline-card__tags { display:flex; flex-wrap:wrap; gap:.4rem; }
.rms-tag { font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; padding:.3rem .7rem; border:1px solid rgba(201,168,76,.4); color:var(--rms-gold-dim); border-radius:1px; }

/* PRICING */
.rms-pricing { position:relative; z-index:1; padding:8rem 4rem; }
.rms-pricing__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; max-width:1000px; margin:4rem auto 0; }
.rms-price-card { border:1px solid rgba(201,168,76,.2); padding:3rem 2rem; text-align:center; position:relative; transition:all .4s; background:rgba(28,22,48,.88); }
.rms-price-card:hover { transform:translateY(-6px); border-color:rgba(201,168,76,.5); }
.rms-price-card--featured { border-color:var(--rms-gold); background:rgba(48,36,80,.88); }
.rms-price-card__badge { position:absolute; top:-.75rem; left:50%; transform:translateX(-50%); background:var(--rms-gold); color:var(--rms-deep); font-size:.7rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; padding:.3rem 1rem; border-radius:1px; white-space:nowrap; }
.rms-price-card__name { font-family:'Cinzel Decorative',serif; font-size:.95rem; color:var(--rms-gold); letter-spacing:.1em; margin-bottom:1.5rem; }
.rms-price-card__amount { font-family:'Cormorant Garamond',serif; font-size:3.8rem; font-weight:300; color:var(--rms-white); line-height:1; margin-bottom:.25rem; }
.rms-price-card__period { font-size:.82rem; color:var(--rms-cream-dim); margin-bottom:2rem; }
.rms-price-card__features { list-style:none; margin-bottom:2.5rem; text-align:left; }
.rms-price-card__features li { font-size:.9rem; line-height:1.8; color:var(--rms-text); padding:.45rem 0; border-bottom:1px solid rgba(201,168,76,.1); display:flex; gap:.6rem; align-items:flex-start; }
.rms-price-card__features li::before { content:'✦'; color:var(--rms-gold); font-size:.55rem; margin-top:.45rem; flex-shrink:0; }

/* TESTIMONIALS */
.rms-testimonials { position:relative; z-index:1; padding:8rem 4rem; }
.rms-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; max-width:1000px; margin:4rem auto 0; }
.rms-testi-card { padding:2.5rem; border:1px solid rgba(201,168,76,.18); background:rgba(30,24,52,.78); }
.rms-testi-card__quote { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--rms-gold); opacity:.4; line-height:0; margin-bottom:1rem; display:block; }
.rms-testi-card__stars { color:var(--rms-gold); font-size:.9rem; margin-bottom:.8rem; }
.rms-testi-card__text { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; line-height:1.9; color:var(--rms-text); margin-bottom:1.5rem; }
.rms-testi-card__author { font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; color:var(--rms-gold); }

/* FOOTER */
.rms-footer { position:relative; z-index:1; padding:5rem 4rem 3rem; border-top:1px solid rgba(201,168,76,.15); background:var(--rms-deep); }
.rms-footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; max-width:1000px; margin:0 auto 4rem; }
.rms-footer__brand .rms-nav__logo { display:block; margin-bottom:1rem; }
.rms-footer__tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1rem; color:rgba(237,232,224,.65); line-height:1.7; margin-bottom:1.5rem; }
.rms-footer__social { display:flex; gap:1rem; }
.rms-footer__social a { color:var(--rms-gold-dim); transition:color .3s; }
.rms-footer__social a:hover { color:var(--rms-gold); }
.rms-footer__col h4 { font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--rms-gold-dim); margin-bottom:1.2rem; }
.rms-footer__col ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.rms-footer__col a { font-size:.88rem; color:rgba(237,232,224,.72); text-decoration:none; transition:color .3s; }
.rms-footer__col a:hover { color:var(--rms-gold-light); }
.rms-footer__bottom { text-align:center; padding-top:2rem; border-top:1px solid rgba(201,168,76,.1); font-size:.8rem; color:rgba(237,232,224,.45); max-width:1000px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }

/* APP */
.rms-app-section { position:relative; z-index:1; padding:8rem 4rem; background:linear-gradient(to bottom,var(--rms-ink),var(--rms-deep)); }
.rms-app-wrapper { max-width:860px; margin:4rem auto 0; background:rgba(22,18,38,.97); border:1px solid rgba(201,168,76,.28); border-radius:8px; overflow:hidden; box-shadow:0 60px 120px rgba(0,0,0,.65); position:relative; }
.rms-app-bar { background:rgba(14,11,24,.92); padding:1rem 2rem; display:flex; align-items:center; gap:.6rem; border-bottom:1px solid rgba(201,168,76,.15); }
.rms-app-dot { width:10px; height:10px; border-radius:50%; }
.rms-app-dot--r { background:#ff5f57; } .rms-app-dot--y { background:#febc2e; } .rms-app-dot--g { background:#28c840; }
.rms-app-title { margin:0 auto; font-family:'Cinzel Decorative',serif; font-size:.72rem; color:var(--rms-gold-dim); letter-spacing:.15em; }
.rms-app-body { padding:3rem 4rem; }

/* FORM */
.rms-form-section { display:none; }
.rms-form-section--active { display:block; }
.rms-form-heading { font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--rms-white); margin-bottom:.5rem; }
.rms-form-sub { font-size:.95rem; color:rgba(237,232,224,.78); margin-bottom:2.5rem; line-height:1.7; }
.rms-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.rms-form-group { display:flex; flex-direction:column; gap:.5rem; }
.rms-form-group--full { grid-column:1/-1; }
.rms-form-label { font-size:.78rem; letter-spacing:.15em; text-transform:uppercase; color:var(--rms-gold); }
.rms-form-input { background:rgba(14,10,28,.72); border:1px solid rgba(201,168,76,.3); color:#ffffff; padding:.9rem 1.1rem; font-family:'Jost',sans-serif; font-size:1rem; border-radius:2px; outline:none; transition:border-color .3s; width:100%; }
.rms-form-input:focus { border-color:rgba(201,168,76,.6); }
.rms-form-input::placeholder { color:rgba(237,232,224,.4); }
.rms-form-input option { background:#1a1630; color:#fff; }
.rms-upload-area { border:1px dashed rgba(201,168,76,.42); border-radius:4px; padding:2rem; text-align:center; cursor:pointer; transition:all .3s; background:rgba(14,10,28,.4); }
.rms-upload-area:hover { border-color:var(--rms-gold); background:rgba(201,168,76,.07); }
.rms-upload-area__icon { font-size:2rem; margin-bottom:.5rem; }
.rms-upload-area__text { font-size:.92rem; color:rgba(237,232,224,.85); }
.rms-upload-area__sub { font-size:.78rem; color:rgba(237,232,224,.55); margin-top:.3rem; }
.rms-form-nav { display:flex; justify-content:space-between; align-items:center; margin-top:2.5rem; padding-top:2rem; border-top:1px solid rgba(201,168,76,.12); }
.rms-btn--next { background:linear-gradient(135deg,var(--rms-gold),var(--rms-gold-dim)); color:var(--rms-deep); border:none; padding:.9rem 2.5rem; font-family:'Jost',sans-serif; font-weight:500; font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:all .3s; min-height:48px; touch-action:manipulation; -webkit-tap-highlight-color:rgba(201,168,76,.2); }
.rms-btn--next:hover { opacity:.9; transform:translateX(2px); }
.rms-btn--back { background:transparent; color:var(--rms-cream-dim); border:1px solid rgba(226,219,208,.32); padding:.9rem 2rem; font-family:'Jost',sans-serif; font-weight:300; font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:all .3s; min-height:48px; touch-action:manipulation; -webkit-tap-highlight-color:rgba(201,168,76,.1); }
.rms-btn--back:hover { border-color:var(--rms-cream-dim); }

/* PROGRESS */
.rms-progress { display:flex; align-items:center; margin-bottom:3rem; }
.rms-progress__step { display:flex; flex-direction:column; align-items:center; gap:.4rem; flex:1; }
.rms-progress__circle { width:38px; height:38px; border-radius:50%; border:1px solid rgba(201,168,76,.35); display:flex; align-items:center; justify-content:center; font-size:.8rem; color:var(--rms-cream-dim); background:var(--rms-deep); transition:all .3s; }
.rms-progress__circle--active { border-color:var(--rms-gold); background:rgba(201,168,76,.18); color:var(--rms-gold); box-shadow:0 0 15px rgba(201,168,76,.3); }
.rms-progress__circle--done { background:var(--rms-gold); color:var(--rms-deep); border-color:var(--rms-gold); }
.rms-progress__label { font-size:.68rem; letter-spacing:.1em; color:var(--rms-cream-dim); opacity:.85; text-align:center; }
.rms-progress__line { flex:1; height:1px; background:rgba(201,168,76,.22); margin-bottom:1.2rem; }

/* LOADING */
.rms-loading { display:none; position:fixed; inset:0; background:rgba(12,9,22,.96); z-index:9999; align-items:center; justify-content:center; flex-direction:column; gap:1.5rem; border-radius:0; }
.rms-loading--active { display:flex; }
.rms-loading__circle { width:60px; height:60px; border:1px solid rgba(201,168,76,.22); border-top-color:var(--rms-gold); border-radius:50%; animation:rmsspin 1.2s linear infinite; }
.rms-loading__text { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.2rem; color:var(--rms-cream); }
.rms-loading__sub { font-size:.8rem; color:var(--rms-gold-dim); letter-spacing:.2em; text-transform:uppercase; }

/* RESULT */
.rms-result { display:none; }
.rms-result__header { background:linear-gradient(135deg,var(--rms-violet),rgba(155,79,110,.45)); padding:3rem 4rem; text-align:center; border-bottom:1px solid rgba(201,168,76,.2); }
.rms-result__label { font-family:'Cinzel Decorative',serif; font-size:.7rem; letter-spacing:.4em; color:var(--rms-gold); margin-bottom:.5rem; }
.rms-result__name { font-family:'Cormorant Garamond',serif; font-size:2.2rem; color:var(--rms-white); font-style:italic; }
.rms-result__body { padding:3rem 4rem; }
.rms-result__chapter { margin-bottom:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(201,168,76,.12); }
.rms-result__chapter:last-child { border-bottom:none; }
.rms-result__chapter-header { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.rms-result__chapter-icon { font-size:1.5rem; }
.rms-result__chapter-title { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--rms-gold-light); }
.rms-result__chapter-text { font-size:.95rem; line-height:2.1; color:var(--rms-text); }
.rms-result__highlight { background:rgba(201,168,76,.1); border-left:3px solid var(--rms-gold); padding:1.1rem 1.5rem; margin:1.5rem 0; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:var(--rms-white); }

/* GIFT */
.rms-gift-section { position:relative; z-index:1; padding:8rem 4rem; background:linear-gradient(135deg,rgba(155,79,110,.08),rgba(42,31,74,.35),rgba(18,16,30,0)); }
.rms-occ-tab { padding:.4rem .9rem; border:1px solid rgba(201,168,76,.28); border-radius:20px; font-size:.78rem; cursor:pointer; color:var(--rms-cream-dim); transition:all .2s; background:transparent; font-family:'Jost',sans-serif; }
.rms-occ-tab:hover, .rms-occ-tab--active { background:rgba(201,168,76,.18); border-color:var(--rms-gold); color:var(--rms-gold-light); }
.rms-voucher-card { background:linear-gradient(135deg,#1a1030,#2a1f4a,#1a0f20); border:1px solid rgba(201,168,76,.35); border-radius:8px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.55); aspect-ratio:1.6/1; display:flex; flex-direction:column; justify-content:space-between; cursor:pointer; transition:transform .3s; }
.rms-voucher-card:hover { transform:translateY(-4px); }

/* ANIMATIONS */
@keyframes rmsfadeup { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes rmspulse  { 0%,100%{opacity:.5} 50%{opacity:.9} }
@keyframes rmsspin   { to{transform:rotate(360deg)} }
@keyframes rmsbounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

.rms-gen-dot { width:8px; height:8px; border-radius:50%; background:var(--rms-gold); animation:rmsbounce 1.2s ease infinite; }
.rms-gen-dot:nth-child(2){animation-delay:.2s} .rms-gen-dot:nth-child(3){animation-delay:.4s}
.rms-gen-dot:nth-child(4){animation-delay:.6s} .rms-gen-dot:nth-child(5){animation-delay:.8s}
.rms-reveal { opacity:0; transform:translateY(30px); transition:all .6s ease; }
.rms-reveal--visible { opacity:1; transform:translateY(0); }
/* ============================================================
   MOBILE OPTIMIERUNGEN – vollständig überarbeitet
   ============================================================ */

/* ── KLEINE TABLETS (max 900px) ── */
@media (max-width: 900px) {
  .rms-pricing__grid  { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
  .rms-testi-grid     { grid-template-columns: 1fr; max-width: 500px; margin-left: auto; margin-right: auto; }
  .rms-footer__grid   { grid-template-columns: 1fr 1fr; gap: 2rem; }

  /* Gift section: stack form + preview */
  .rms-gift-section > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── SMARTPHONES (max 768px) ── */
@media (max-width: 768px) {
  /* Basis */
  .rms-fullpage { font-size: 16px; }

  /* Navigation */
  .rms-nav { padding: 1rem 1.2rem; }
  .rms-nav__links { display: none; }
  .rms-nav__links--open {
    display: flex; flex-direction: column;
    position: fixed; top: 58px; left: 0; right: 0; bottom: 0;
    background: rgba(18,16,30,.99);
    padding: 2rem 1.5rem; gap: 1.8rem; z-index: 999;
    overflow-y: auto;
  }
  .rms-nav__links--open a { font-size: 1rem !important; }
  .rms-nav__mobile-toggle { display: block; }
  .rms-nav__logo { font-size: 1rem; }

  /* Hero */
  .rms-hero { padding: 6rem 1.5rem 4rem; min-height: 90vh; }
  .rms-hero__ornament { width: 120px; height: 120px; }
  .rms-hero__title { font-size: clamp(2.5rem, 12vw, 4rem); }
  .rms-hero__tagline { font-size: 1.1rem; }
  .rms-hero__desc { font-size: .95rem; }
  .rms-hero__buttons { flex-direction: column; align-items: center; gap: 1rem; }
  .rms-hero__buttons .rms-btn { width: 100%; max-width: 300px; text-align: center; }

  /* Sections */
  .rms-disciplines,
  .rms-pricing,
  .rms-testimonials,
  .rms-app-section,
  .rms-gift-section { padding: 4rem 1.2rem; }

  /* How-it-works */
  .rms-how-section { padding: 4rem 1.2rem !important; }
  .rms-how-section > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  /* Section titles */
  .rms-section-title { font-size: clamp(1.8rem, 7vw, 2.8rem); }
  .rms-section-sub   { font-size: .95rem; }

  /* Disciplines */
  .rms-disciplines__grid { grid-template-columns: 1fr; }
  .rms-discipline-card { padding: 2rem 1.5rem; }

  /* Footer */
  .rms-footer { padding: 3rem 1.2rem 2rem; }
  .rms-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .rms-footer__bottom { flex-direction: column; text-align: center; }

  /* App / Form */
  .rms-app-section { padding: 4rem 1rem; }
  .rms-app-wrapper { margin: 2rem auto 0; border-radius: 4px; }
  .rms-app-bar { padding: .8rem 1.2rem; }
  .rms-app-title { font-size: .6rem; }
  .rms-app-body { padding: 1.5rem 1.2rem; }
  .rms-form-grid { grid-template-columns: 1fr; gap: 1rem; }
  .rms-form-heading { font-size: 1.5rem; }
  .rms-form-sub { font-size: .88rem; }
  .rms-form-input { font-size: .95rem; padding: .8rem .9rem; }

  /* Progress */
  .rms-progress { gap: 0; }
  .rms-progress__circle { width: 30px; height: 30px; font-size: .7rem; }
  .rms-progress__label { font-size: .55rem; }
  .rms-progress__line { min-width: 8px; }

  /* Nav buttons */
  .rms-form-nav { flex-direction: column-reverse; gap: .8rem; }
  .rms-btn--next, .rms-btn--back { width: 100%; text-align: center; }

  /* Result */
  .rms-result__header { padding: 1.5rem 1.2rem; }
  .rms-result__name   { font-size: 1.6rem; }
  .rms-result__body   { padding: 1.5rem 1.2rem; }
  .rms-result__chapter-text { font-size: .9rem; line-height: 1.9; }

  /* Gift / Voucher */
  .rms-gift-section > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .rms-voucher-card { aspect-ratio: unset; min-height: 200px; }

  /* Testimonials */
  .rms-testi-card { padding: 1.5rem; }
  .rms-testi-card__text { font-size: 1rem; }

  /* Upload areas */
  .rms-upload-area { padding: 1.2rem; }
  .rms-upload-area__icon { font-size: 1.5rem; }

  /* Numerologie Vorschau */
  #rms-num-preview > div { gap: 1rem !important; }
}

/* ── SEHR KLEINE SCREENS (max 380px) ── */
@media (max-width: 380px) {
  .rms-hero__title { font-size: 2.2rem; }
  .rms-nav__logo   { font-size: .9rem; }
  .rms-app-body    { padding: 1.2rem 1rem; }
  .rms-progress    { display: none; } /* hide on tiny screens */
}

/* How-it-works grid */
.rms-how-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem 6rem;
  max-width: 900px;
  margin: 4rem auto 0;
}
@media (max-width: 640px) {
  .rms-how-grid { grid-template-columns: 1fr; gap: 2rem; }
}
