
/* MY RHYTHM — DAILY RHYTHM → WELLNESS → SUPPORT → LIFE → ENJOY.
   A journey layer over the existing island. Same shape as the HU Kitchen stages so
   the two pages feel like one product. Prefix rj- (verified free). */
#rjWrap{
  --rj-navy:#243447; --rj-muted:#5A6472; --rj-line:#E8E4DC;
  --rj-sage:#5F7350; --rj-sage-s:#EEF4EC; --rj-cream:#FBF6EC;
  --rj-lav:#EFEAF4; --rj-blush:#F7EDE9; --rj-gold:#CF9E3F;
  font-family:'Nunito',system-ui,-apple-system,sans-serif;
  max-width:1180px; margin:0 auto; padding:0 clamp(18px,5vw,64px) 56px;
}
#rjWrap *{ box-sizing:border-box; }

.rj-intro{ padding:8px 0 4px; }
.rj-kicker{ margin:0 0 6px; font-size:.68rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  color:var(--rj-sage) !important; -webkit-text-fill-color:var(--rj-sage) !important; }
.rj-intro-h{ font-family:'Playfair Display',Georgia,serif; font-weight:700;
  font-size:clamp(1.3rem,2.4vw,1.75rem); line-height:1.2; margin:0;
  color:var(--rj-navy) !important; -webkit-text-fill-color:var(--rj-navy) !important; }
.rj-intro-s{ margin:8px 0 0; font-size:.95rem; line-height:1.6; max-width:62ch;
  color:var(--rj-muted) !important; -webkit-text-fill-color:var(--rj-muted) !important; }

.rj-qa{ margin:18px 0 20px; }
.rj-qa-row{ display:flex; gap:9px; flex-wrap:wrap; }
.rj-qa-in{ flex:1 1 260px; min-width:0; border:1.5px solid var(--rj-line); border-radius:16px;
  padding:13px 16px; font-family:inherit; font-size:.95rem; background:#FDFCFA;
  color:var(--rj-navy); min-height:52px; }
.rj-qa-in:focus{ outline:none; border-color:var(--rj-sage); background:#fff; }
.rj-qa-btn{ display:inline-flex; align-items:center; cursor:pointer; font-family:inherit;
  font-size:.86rem; font-weight:800; border-radius:999px; padding:12px 20px; min-height:52px;
  background:var(--rj-navy) !important; border:1px solid var(--rj-navy);
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
.rj-qa-btn:hover{ background:#31465F !important; }
.rj-qa-mic{ cursor:pointer; border-radius:999px; min-height:52px; width:52px; flex:none;
  background:#fff !important; border:1px solid var(--rj-line); font-size:1.05rem;
  color:var(--rj-navy) !important; }
.rj-qa-mic:hover{ background:var(--rj-sage-s) !important; border-color:var(--rj-sage); }
.rj-qa-hint{ margin:8px 0 0; font-size:.79rem;
  color:var(--rj-muted) !important; -webkit-text-fill-color:var(--rj-muted) !important; }

#rjNav{ position:sticky; top:64px; z-index:40;
  background:rgba(255,255,255,.94); backdrop-filter:blur(8px);
  border:1px solid var(--rj-line); border-radius:999px; padding:6px; margin:0 0 26px;
  display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; }
#rjNav::-webkit-scrollbar{ height:0; }
#rjNav a{ flex:1 0 auto; text-align:center; text-decoration:none; white-space:nowrap;
  font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  border-radius:999px; padding:11px 18px; min-height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--rj-muted) !important; -webkit-text-fill-color:var(--rj-muted) !important;
  transition:background .16s, color .16s; }
#rjNav a:hover{ background:var(--rj-sage-s) !important; }
#rjNav a[aria-current="true"]{ background:var(--rj-navy) !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
#rjNav a:focus-visible{ outline:3px solid var(--rj-gold); outline-offset:2px; }

.rj-sec{ padding:32px 0 8px; scroll-margin-top:130px; }
.rj-sec + .rj-sec{ border-top:1px solid var(--rj-line); }
.rj-head{ margin-bottom:18px; }
.rj-label{ margin:0 0 7px; font-size:.68rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.rj-h{ font-family:'Playfair Display',Georgia,serif; font-weight:700;
  font-size:clamp(1.2rem,2.2vw,1.6rem); line-height:1.2; margin:0;
  color:var(--rj-navy) !important; -webkit-text-fill-color:var(--rj-navy) !important; }
.rj-live{ margin:8px 0 0; font-size:.86rem; font-weight:700;
  color:var(--rj-sage) !important; -webkit-text-fill-color:var(--rj-sage) !important; }

.rj-primary{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center;
  width:100%; text-align:left; cursor:pointer; font-family:inherit;
  border:1px solid var(--rj-line); border-radius:22px; padding:22px 24px;
  transition:transform .16s, box-shadow .16s; }
.rj-primary:hover{ transform:translateY(-2px); box-shadow:0 10px 28px rgba(36,52,71,.08); }
.rj-primary:focus-visible{ outline:3px solid var(--rj-gold); outline-offset:3px; }
.rj-p-ic{ width:56px; height:56px; border-radius:18px; display:grid; place-items:center;
  font-size:1.45rem; background:#fff; flex:none; }
.rj-p-t{ display:block; font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:1.15rem;
  color:var(--rj-navy) !important; -webkit-text-fill-color:var(--rj-navy) !important; }
.rj-p-d{ display:block; margin-top:5px; font-size:.88rem; line-height:1.55;
  color:var(--rj-muted) !important; -webkit-text-fill-color:var(--rj-muted) !important; }
.rj-p-go{ flex:none; display:inline-flex; align-items:center; border-radius:999px;
  padding:11px 20px; min-height:44px; font-size:.82rem; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase;
  background:var(--rj-navy); color:#fff !important; -webkit-text-fill-color:#fff !important; }

.rj-support{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }
.rj-s{ display:flex; align-items:flex-start; gap:11px; text-align:left; cursor:pointer;
  font-family:inherit; background:#fff !important; border:1px solid var(--rj-line);
  border-radius:16px; padding:14px 15px; min-height:44px;
  transition:border-color .16s, transform .16s; }
.rj-s:hover{ border-color:var(--rj-sage); transform:translateY(-1px); }
.rj-s:focus-visible{ outline:3px solid var(--rj-gold); outline-offset:2px; }
.rj-s-ic{ font-size:1.05rem; flex:none; line-height:1.3; }
.rj-s-t{ display:block; font-size:.9rem; font-weight:700;
  color:var(--rj-navy) !important; -webkit-text-fill-color:var(--rj-navy) !important; }
.rj-s-d{ display:block; margin-top:3px; font-size:.78rem; line-height:1.45;
  color:var(--rj-muted) !important; -webkit-text-fill-color:var(--rj-muted) !important; }

/* one soft tint per stage — a cue alongside the label, never the only identifier */
.rj-sec[data-stage="rhythm"]  .rj-label{ color:#5F7350 !important; -webkit-text-fill-color:#5F7350 !important; }
.rj-sec[data-stage="rhythm"]  .rj-primary{ background:#F5F3EE; border-color:#E6E2D9; }
.rj-sec[data-stage="wellness"].rj-label,
.rj-sec[data-stage="wellness"] .rj-label{ color:#4A6F46 !important; -webkit-text-fill-color:#4A6F46 !important; }
.rj-sec[data-stage="wellness"] .rj-primary{ background:var(--rj-sage-s); border-color:#DCE7D8; }
.rj-sec[data-stage="support"] .rj-label{ color:#7A5C8A !important; -webkit-text-fill-color:#7A5C8A !important; }
.rj-sec[data-stage="support"] .rj-primary{ background:var(--rj-lav); border-color:#E3DBEC; }
.rj-sec[data-stage="life"]    .rj-label{ color:#A05949 !important; -webkit-text-fill-color:#A05949 !important; }
.rj-sec[data-stage="life"]    .rj-primary{ background:var(--rj-blush); border-color:#EFDCD5; }
.rj-sec[data-stage="enjoy"]   .rj-label{ color:#8A6A2F !important; -webkit-text-fill-color:#8A6A2F !important; }
.rj-sec[data-stage="enjoy"]   .rj-primary{ background:var(--rj-cream); border-color:#EDE4D4; }

@media (max-width:900px){
  .rj-support{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rj-primary{ grid-template-columns:auto minmax(0,1fr); }
  .rj-primary .rj-p-go{ grid-column:1/-1; justify-content:center; }
}
@media (max-width:560px){
  .rj-support{ grid-template-columns:minmax(0,1fr); }
  #rjNav{ border-radius:18px; }
}
@media (prefers-reduced-motion:reduce){ .rj-primary,.rj-s{ transition:none !important; } }

/* the welcome line, sitting between the heading and the supporting copy */
.rj-greet{
  margin:10px 0 0; font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.05rem,1.9vw,1.3rem); font-weight:700; font-style:italic;
  color:var(--rj-sage) !important; -webkit-text-fill-color:var(--rj-sage) !important;
}
.rj-greet:empty{ display:none; }

/* welcome tile — the greeting in a card with a sunshine */
.rj-welcome{
  display:flex; align-items:center; gap:16px; margin:18px 0 0;
  background:linear-gradient(180deg,#FEF8EA 0%,#FDFBF5 100%);
  border:1px solid #F1E5C9; border-radius:22px; padding:18px 22px;
  box-shadow:0 4px 18px rgba(36,52,71,.05);
}
.rj-welcome-ic{
  flex:none; width:54px; height:54px; border-radius:18px; display:grid; place-items:center;
  background:#fff; border:1px solid #F1E5C9; font-size:1.6rem; line-height:1;
  box-shadow:0 2px 10px rgba(207,158,63,.16);
}
.rj-welcome-b{ min-width:0; }
.rj-welcome .rj-greet{
  margin:0; font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(1.1rem,2vw,1.35rem); font-weight:700; font-style:italic;
  color:var(--rj-navy) !important; -webkit-text-fill-color:var(--rj-navy) !important;
}
/* A global `.welcome-card … p, .greeting…` rule forces white on anything matching
   "welcome" here. The visible text was still correct because -webkit-text-fill-color
   wins over color when rendering, but that is fragile — any engine without the
   prefixed property would show white-on-cream. Both are pinned with id weight. */
.rj-welcome-d{
  margin:5px 0 0; font-size:.88rem; line-height:1.5; font-weight:700;
}
#rjWrap .rj-welcome .rj-welcome-d{
  color:#8A6A2F !important; -webkit-text-fill-color:#8A6A2F !important;
}
#rjWrap .rj-welcome .rj-greet{
  color:var(--rj-navy) !important; -webkit-text-fill-color:var(--rj-navy) !important;
}
.rj-welcome-d:empty{ display:none; }
@media (max-width:560px){
  .rj-welcome{ padding:16px; gap:13px; }
  .rj-welcome-ic{ width:46px; height:46px; font-size:1.35rem; }
}
