
#page-rhythm .wph-sec{ max-width:1360px; margin:34px auto 10px; padding:0 40px; box-sizing:border-box; }
#page-rhythm .wph-sec *{ box-sizing:border-box; }
#page-rhythm .wph-eyebrow{ font-size:0.72rem; font-weight:800; letter-spacing:0.16em; text-transform:uppercase; color:#5E7E57 !important; -webkit-text-fill-color:#5E7E57 !important; margin:0 0 8px; }
#page-rhythm .wph-h2{ font-family:Georgia,serif; font-size:clamp(1.7rem,3vw,2.3rem); color:#243447 !important; -webkit-text-fill-color:#243447 !important; margin:0 0 8px; font-weight:700; line-height:1.15; }
#page-rhythm .wph-lede{ font-size:1.02rem; line-height:1.65; color:#46566a !important; -webkit-text-fill-color:#46566a !important; margin:0; max-width:620px; }

/* generic white panel (avoid -card / -tile substrings: global pill rule) */
#page-rhythm .wph-panel{ background:#fff; border:1px solid rgba(36,52,71,0.10); border-radius:24px; box-shadow:0 2px 12px rgba(58,45,30,.05); }

/* hero */
#page-rhythm .wph-hero{ display:grid; grid-template-columns:1fr 1.05fr; gap:26px; padding:30px; align-items:center; margin-top:16px; }
#page-rhythm .wph-pill{ display:inline-flex; align-items:center; gap:8px; background:#EDF3EB; color:#4C6B46 !important; -webkit-text-fill-color:#4C6B46 !important; border-radius:50px; padding:8px 16px; font-size:0.8rem; font-weight:800; margin-bottom:14px; }
#page-rhythm .wph-hero-h{ font-family:Georgia,serif; font-size:clamp(1.9rem,3.4vw,2.7rem); color:#243447 !important; -webkit-text-fill-color:#243447 !important; margin:0 0 12px; line-height:1.14; font-weight:700; }
#page-rhythm .wph-hero-p{ font-size:1.05rem; line-height:1.7; color:#5a6a7c !important; -webkit-text-fill-color:#5a6a7c !important; margin:0 0 20px; }
#page-rhythm .wph-btns{ display:flex; flex-wrap:wrap; gap:12px; }
#page-rhythm .wph-btn{ display:inline-flex; align-items:center; gap:8px; border-radius:50px; padding:13px 22px; font-family:inherit; font-size:0.84rem; font-weight:800; cursor:pointer; border:none; transition:.18s; min-height:48px; }
#page-rhythm .wph-btn-solid{ background:#5E7E57; color:#fff !important; -webkit-text-fill-color:#fff !important; }
#page-rhythm .wph-btn-solid:hover{ background:#4d6a47; }
#page-rhythm .wph-btn-ghost{ background:#fff; color:#3f5a3a !important; -webkit-text-fill-color:#3f5a3a !important; border:1px solid rgba(36,52,71,0.14); }
#page-rhythm .wph-btn-ghost:hover{ background:#F6F9F5; }

/* photo upload area (class avoids -tile) */
#page-rhythm .wph-photo{ position:relative; overflow:hidden; border-radius:22px; border:1px solid #DDE7DA; background:linear-gradient(135deg,#F6F9F5,#fff 55%,#FBF8F2); min-height:250px; }
#page-rhythm .wph-photo.is-compact{ min-height:132px; border-radius:18px; }
#page-rhythm .wph-photo-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; min-height:inherit; padding:26px 18px; text-align:center; cursor:pointer; transition:.16s; }
#page-rhythm .wph-photo-empty:hover{ background:rgba(255,255,255,.6); }
#page-rhythm .wph-photo-ic{ width:54px; height:54px; border-radius:16px; background:#EAF1E7; color:#5E7E57; display:flex; align-items:center; justify-content:center; margin-bottom:12px; box-shadow:inset 0 0 0 1px #D6E4D2; }
#page-rhythm .wph-photo.is-compact .wph-photo-ic{ width:40px; height:40px; border-radius:12px; margin-bottom:8px; }
#page-rhythm .wph-photo-ic svg{ width:24px; height:24px; }
#page-rhythm .wph-photo.is-compact .wph-photo-ic svg{ width:19px; height:19px; }
#page-rhythm .wph-photo-lbl{ font-weight:800; font-size:0.94rem; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#page-rhythm .wph-photo.is-compact .wph-photo-lbl{ font-size:0.82rem; }
#page-rhythm .wph-photo-help{ font-size:0.85rem; line-height:1.5; color:#75808d !important; -webkit-text-fill-color:#75808d !important; margin-top:6px; max-width:250px; }
#page-rhythm .wph-photo.is-compact .wph-photo-help{ font-size:0.74rem; margin-top:3px; }
#page-rhythm .wph-photo-choose{ margin-top:14px; display:inline-flex; align-items:center; gap:6px; border:1px solid #D6E4D2; background:#fff; border-radius:50px; padding:9px 16px; font-size:0.74rem; font-weight:800; color:#4C6B46 !important; -webkit-text-fill-color:#4C6B46 !important; }
#page-rhythm .wph-photo.is-compact .wph-photo-choose{ display:none; }
#page-rhythm .wph-photo-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#page-rhythm .wph-photo-scrim{ position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,.03) 55%,transparent); }
#page-rhythm .wph-photo-acts{ position:absolute; left:10px; right:10px; bottom:10px; display:flex; justify-content:space-between; gap:8px; }
#page-rhythm .wph-mini{ display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.95); border:none; border-radius:50px; padding:8px 14px; font-family:inherit; font-size:0.74rem; font-weight:800; cursor:pointer; color:#243447 !important; -webkit-text-fill-color:#243447 !important; box-shadow:0 2px 8px rgba(0,0,0,.12); }
#page-rhythm .wph-mini.is-remove{ color:#8a3a3a !important; -webkit-text-fill-color:#8a3a3a !important; }
#page-rhythm .wph-mini svg{ width:14px; height:14px; }
#page-rhythm .wph-photo input[type=file]{ display:none; }

/* feature row */
#page-rhythm .wph-feats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; border-top:1px solid rgba(36,52,71,0.08); background:#FCFDFB; padding:22px; border-radius:0 0 24px 24px; }
#page-rhythm .wph-feat{ background:#fff; border:1px solid rgba(36,52,71,0.09); border-radius:20px; padding:20px 16px; text-align:center; transition:.18s; }
#page-rhythm .wph-feat:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(58,45,30,.09); }
#page-rhythm .wph-feat-ic{ width:46px; height:46px; margin:0 auto 12px; border-radius:14px; background:#EAF1E7; color:#5E7E57; display:flex; align-items:center; justify-content:center; }
#page-rhythm .wph-feat-ic svg{ width:22px; height:22px; }
#page-rhythm .wph-feat-t{ font-weight:800; font-size:0.94rem; color:#243447 !important; -webkit-text-fill-color:#243447 !important; margin:0 0 6px; }
#page-rhythm .wph-feat-d{ font-size:0.84rem; line-height:1.55; color:#75808d !important; -webkit-text-fill-color:#75808d !important; margin:0; }

/* section blocks */
#page-rhythm .wph-block{ padding:26px 28px; margin-top:22px; }
#page-rhythm .wph-block-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px; }
#page-rhythm .wph-block-h{ font-family:Georgia,serif; font-size:1.4rem; font-weight:700; color:#243447 !important; -webkit-text-fill-color:#243447 !important; margin:0; }
#page-rhythm .wph-block-sub{ font-size:0.88rem; color:#75808d !important; -webkit-text-fill-color:#75808d !important; margin:4px 0 0; }
#page-rhythm .wph-link{ background:none; border:none; font-family:inherit; font-size:0.82rem; font-weight:800; color:#4C6B46 !important; -webkit-text-fill-color:#4C6B46 !important; cursor:pointer; padding:8px 0; min-height:44px; }

/* wellness team messages */
#page-rhythm .wph-msgs{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
#page-rhythm .wph-msg{ display:grid; grid-template-columns:126px 1fr; gap:14px; background:#fff; border:1px solid rgba(36,52,71,0.10); border-radius:22px; padding:14px; }
#page-rhythm .wph-msg-body{ display:flex; flex-direction:column; justify-content:space-between; min-width:0; }
#page-rhythm .wph-msg-eye{ font-size:0.68rem; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; color:#5E7E57 !important; -webkit-text-fill-color:#5E7E57 !important; margin:0; }
#page-rhythm .wph-msg-t{ font-size:1.02rem; font-weight:800; color:#243447 !important; -webkit-text-fill-color:#243447 !important; margin:7px 0 0; line-height:1.3; }
#page-rhythm .wph-msg-role{ font-size:0.84rem; color:#7a8794 !important; -webkit-text-fill-color:#7a8794 !important; margin:2px 0 0; }
#page-rhythm .wph-msg-meta{ font-size:0.84rem; color:#75808d !important; -webkit-text-fill-color:#75808d !important; margin:7px 0 0; }
#page-rhythm .wph-msg-date{ display:inline-flex; align-items:center; gap:5px; font-size:0.75rem; color:#94a0ac !important; -webkit-text-fill-color:#94a0ac !important; margin:5px 0 0; }
#page-rhythm .wph-msg-date svg{ width:12px; height:12px; }
#page-rhythm .wph-play{ margin-top:14px; align-self:flex-start; display:inline-flex; align-items:center; gap:9px; background:#EDF3EB; border:none; border-radius:50px; padding:11px 18px; font-family:inherit; font-size:0.8rem; font-weight:800; color:#3f5a3a !important; -webkit-text-fill-color:#3f5a3a !important; cursor:pointer; min-height:44px; }
#page-rhythm .wph-play:hover{ background:#e2ebdf; }
#page-rhythm .wph-play svg{ width:15px; height:15px; }
#page-rhythm .wph-open{ margin-top:14px; align-self:flex-start; display:inline-flex; align-items:center; gap:6px; background:none; border:none; font-family:inherit; font-size:0.82rem; font-weight:800; color:#4C6B46 !important; -webkit-text-fill-color:#4C6B46 !important; cursor:pointer; padding:8px 0; min-height:44px; }
#page-rhythm .wph-open svg{ width:14px; height:14px; }

/* two-column: library + plan */
#page-rhythm .wph-two{ display:grid; grid-template-columns:0.85fr 1.35fr; gap:22px; margin-top:22px; align-items:start; }
#page-rhythm .wph-lib-row{ display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:none; border-radius:16px; padding:12px 14px; font-family:inherit; text-align:left; cursor:pointer; transition:.15s; min-height:48px; }
#page-rhythm .wph-lib-row:hover{ background:#F6F9F5; }
#page-rhythm .wph-lib-left{ display:flex; align-items:center; gap:12px; }
#page-rhythm .wph-lib-ic{ width:34px; height:34px; border-radius:11px; background:#EFF4ED; color:#5E7E57; display:flex; align-items:center; justify-content:center; flex:0 0 34px; }
#page-rhythm .wph-lib-ic svg{ width:16px; height:16px; }
#page-rhythm .wph-lib-name{ font-weight:700; font-size:0.94rem; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
#page-rhythm .wph-lib-count{ display:flex; align-items:center; gap:8px; font-size:0.84rem; color:#7a8794 !important; -webkit-text-fill-color:#7a8794 !important; }
#page-rhythm .wph-lib-count svg{ width:15px; height:15px; color:#b3bdc7; }

/* exercise rows */
#page-rhythm .wph-ex{ display:grid; grid-template-columns:112px 1fr auto; gap:14px; align-items:center; background:#fff; border:1px solid rgba(36,52,71,0.10); border-radius:20px; padding:14px; transition:.18s; }
#page-rhythm .wph-ex + .wph-ex{ margin-top:14px; }
#page-rhythm .wph-ex.is-done{ background:#F7FAF6; border-color:#D6E4D2; }
#page-rhythm .wph-ex-t{ font-weight:800; font-size:0.98rem; color:#243447 !important; -webkit-text-fill-color:#243447 !important; margin:0; }
#page-rhythm .wph-ex.is-done .wph-ex-t{ text-decoration:line-through; text-decoration-color:#A9C3A0; }
#page-rhythm .wph-ex-d{ font-size:0.86rem; color:#75808d !important; -webkit-text-fill-color:#75808d !important; margin:4px 0 0; }
#page-rhythm .wph-check{ width:44px; height:44px; border-radius:50%; border:1.5px solid #D6DEE4; background:#fff; color:transparent; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.15s; flex:0 0 44px; }
#page-rhythm .wph-check:hover{ border-color:#A9C3A0; }
#page-rhythm .wph-check.is-on{ background:#5E7E57; border-color:#5E7E57; color:#fff; }
#page-rhythm .wph-check svg{ width:20px; height:20px; }

/* progress + snapshot */
#page-rhythm .wph-two-b{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:22px; align-items:start; }
#page-rhythm .wph-metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:18px; }
#page-rhythm .wph-metric{ border:1px solid rgba(36,52,71,0.09); background:#FBFCFA; border-radius:18px; padding:15px 13px; }
#page-rhythm .wph-metric-top{ display:flex; align-items:center; justify-content:space-between; }
#page-rhythm .wph-metric-l{ font-size:0.68rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:#8b95a1 !important; -webkit-text-fill-color:#8b95a1 !important; margin:0; }
#page-rhythm .wph-metric-top svg{ width:15px; height:15px; color:#A9C3A0; }
#page-rhythm .wph-metric-v{ font-size:1.35rem; font-weight:800; color:#5E7E57 !important; -webkit-text-fill-color:#5E7E57 !important; margin:9px 0 0; }
#page-rhythm .wph-metric-s{ font-size:0.72rem; color:#8b95a1 !important; -webkit-text-fill-color:#8b95a1 !important; margin:2px 0 0; }
#page-rhythm .wph-snap{ background:linear-gradient(150deg,#F7FAF6,#FBF8F2); border:1px solid #E3EADF; }
#page-rhythm .wph-snap-in{ display:flex; gap:16px; align-items:flex-start; }
#page-rhythm .wph-snap-ic{ width:52px; height:52px; flex:0 0 52px; border-radius:16px; background:#EAF1E7; color:#5E7E57; display:flex; align-items:center; justify-content:center; }
#page-rhythm .wph-snap-ic svg{ width:24px; height:24px; }
#page-rhythm .wph-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
#page-rhythm .wph-chip{ background:#fff; border:1px solid #E3EADF; border-radius:50px; padding:7px 13px; font-size:0.73rem; font-weight:800; color:#4C6B46 !important; -webkit-text-fill-color:#4C6B46 !important; }

/* privacy banner */
#page-rhythm .wph-priv{ margin-top:22px; background:#EFF4ED; border:1px solid #DDE7DA; border-radius:24px; padding:24px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
#page-rhythm .wph-priv-in{ display:flex; gap:16px; align-items:flex-start; }
#page-rhythm .wph-priv-ic{ width:56px; height:56px; flex:0 0 56px; border-radius:17px; background:#fff; color:#5E7E57; display:flex; align-items:center; justify-content:center; }
#page-rhythm .wph-priv-ic svg{ width:26px; height:26px; }

@media (max-width:1100px){
  #page-rhythm .wph-feats{ grid-template-columns:repeat(2,1fr); }
  #page-rhythm .wph-msgs{ grid-template-columns:1fr; }
  #page-rhythm .wph-two-b{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  #page-rhythm .wph-sec{ padding:0 20px; }
  #page-rhythm .wph-hero{ grid-template-columns:1fr; padding:22px; }
  #page-rhythm .wph-block{ padding:20px 18px; }
  #page-rhythm .wph-metrics{ grid-template-columns:repeat(2,1fr); }
  #page-rhythm .wph-priv{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:560px){
  #page-rhythm .wph-feats{ grid-template-columns:1fr; }
  #page-rhythm .wph-msg{ grid-template-columns:1fr; }
  #page-rhythm .wph-ex{ grid-template-columns:96px 1fr; grid-template-areas:"photo text" "check check"; }
  #page-rhythm .wph-check{ grid-area:check; justify-self:start; }
}
