
/* ReHeart psychology editorial visual system.
   The puzzle motif stays shared; each family gets a distinct arrangement. */
.guide-theme{
  --theme-ink:#375b48;--theme-accent:#8fae99;--theme-glow:#e6eee3;
  --theme-pale:#f2f4ee;--theme-border:#d9e1d8;--theme-warm:#e8ddc6;
}
.guide-theme[data-guide-theme="esteem"]{
  --theme-ink:#694f4b;--theme-accent:#b58d87;--theme-glow:#f7e6df;
  --theme-pale:#fcf6f1;--theme-border:#eadbd2;--theme-warm:#dfc69f;
}
.guide-theme[data-guide-theme="cognition"]{
  --theme-ink:#305649;--theme-accent:#779c84;--theme-glow:#dfece1;
  --theme-pale:#eff5ef;--theme-border:#cbdccf;--theme-warm:#decd9b;
}
.guide-theme[data-guide-theme="connection"]{
  --theme-ink:#3e5d5a;--theme-accent:#7da19a;--theme-glow:#e4efec;
  --theme-pale:#f3f8f5;--theme-border:#d5e1db;--theme-warm:#ebd5cc;
}
.guide-theme[data-guide-theme="calm"]{
  --theme-ink:#4d6070;--theme-accent:#9cb8c3;--theme-glow:#e7f0f1;
  --theme-pale:#f2f6f6;--theme-border:#d7e4e7;--theme-warm:#d9dfc6;
}
.guide-theme[data-guide-theme="horizon"]{
  --theme-ink:#655a42;--theme-accent:#bca576;--theme-glow:#f7eddc;
  --theme-pale:#faf7ed;--theme-border:#e6ddc6;--theme-warm:#b7c7af;
}
.guide-theme .intro-hero{
  background:radial-gradient(ellipse 50% 75% at 91% 36%,var(--theme-glow) 0,transparent 80%),
  linear-gradient(133deg,#fffefa 0%,var(--theme-pale) 95%);
  border-color:var(--theme-border);
}
.guide-theme .intro-hero h1{color:var(--theme-ink);max-width:760px}
.guide-theme .microtitle,.guide-theme .section-kicker{color:var(--theme-accent)}
.guide-theme .section-title,.guide-theme .prose h2,.guide-theme .prose h3{color:var(--theme-ink)}
.guide-theme .puzzle-link,.guide-theme .info-card{border-color:var(--theme-border)}
.guide-theme .puzzle-link:hover,.guide-theme .info-card:hover{border-color:var(--theme-accent)}
.guide-theme .reflect{background:linear-gradient(135deg,var(--theme-pale),#fffefa);border-color:var(--theme-border)}
.guide-theme .example{border-left-color:var(--theme-accent);background:var(--theme-pale)}
.guide-theme .intro-hero .hero-puzzles{display:none}
.guide-theme .theme-visual{position:absolute;right:clamp(10px,3vw,45px);top:50%;transform:translateY(-50%);width:clamp(215px,30%,335px);height:auto;z-index:1;pointer-events:none;opacity:.93}
.guide-theme .theme-visual svg{width:100%;height:auto;display:block;overflow:visible}
.guide-theme .theme-visual .piece{filter:drop-shadow(0 5px 9px #39544613)}
.guide-theme .theme-caption{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:6px 14px;border:1px solid var(--theme-border);border-radius:50px;background:#fffef9bb;color:var(--theme-ink);font-size:11px;letter-spacing:.035em;position:relative;z-index:3}
.guide-theme .theme-caption:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--theme-accent)}
.guide-theme .category-group .category-heading .badge{color:var(--theme-ink);background:var(--theme-pale)}
.guide-theme .bottom-cta{border-color:var(--theme-border);background:linear-gradient(125deg,var(--theme-glow),#faf8f2)}
.guide-theme .bottom-cta a:not(.secondary){background:var(--theme-ink)}
/* Brand identity: same puzzle symbol, different vocabulary of composition. */
.guide-theme[data-guide-theme="esteem"] .intro-hero{
  background:
  radial-gradient(ellipse 46% 88% at 92% 45%,#e7cfbe66,transparent 80%),
  radial-gradient(circle at 52% 100%,#f4e5d8,transparent 55%),
  linear-gradient(133deg,#fffefa,#fcf2e9);
}
.guide-theme[data-guide-theme="esteem"] .info-card,.guide-theme[data-guide-theme="esteem"] .puzzle-link{background:linear-gradient(145deg,#fffef9,#fbf3ed)}
.guide-theme[data-guide-theme="esteem"] .read-more{color:#996f69}
.guide-theme[data-guide-theme="connection"] .intro-hero{
  background:radial-gradient(ellipse 44% 70% at 92% 45%,#d5e7df,transparent 83%),
  linear-gradient(140deg,#fffefa,#f1f7f3);
}
.guide-theme[data-guide-theme="calm"] .intro-hero{
  background:radial-gradient(ellipse 48% 80% at 90% 45%,#e2f0f1,transparent 83%),
  linear-gradient(145deg,#fffefa,#f0f5f5);
}
.guide-theme[data-guide-theme="horizon"] .intro-hero{
  background:radial-gradient(ellipse 51% 80% at 93% 58%,#f5e6c7,transparent 79%),
  linear-gradient(138deg,#fffefa,#f7f4e7);
}
.guide-theme .info-card[data-family="esteem"]{background:linear-gradient(145deg,#fffaf7,#f5e7df);border-color:#e5d4ca}
.guide-theme .info-card[data-family="cognition"]{background:linear-gradient(145deg,#f9fdf8,#e7f0e7);border-color:#cadcca}
.guide-theme .info-card[data-family="connection"]{background:linear-gradient(145deg,#fbfffd,#e6f1ec);border-color:#d1e2da}
.guide-theme .info-card[data-family="calm"]{background:linear-gradient(145deg,#fcfffe,#e7f0f2);border-color:#d2e1e5}
.guide-theme .info-card[data-family="horizon"]{background:linear-gradient(145deg,#fffefa,#f4eddd);border-color:#e5dac0}
.guide-theme .info-card[data-family]::after{content:"";position:absolute;right:18px;bottom:17px;width:40px;height:40px;opacity:.14;border:2px solid #779981;border-radius:50% 50% 6px 50%;transform:rotate(-25deg);pointer-events:none}
.guide-theme .info-card[data-family="esteem"]::after{border-color:#b88e8a;border-radius:50% 50% 7px 7px;transform:rotate(-45deg)}
.guide-theme .info-card[data-family="connection"]::after{border-color:#78a49b;border-radius:50% 30% 50% 30%}
.guide-theme .info-card[data-family="calm"]::after{border-color:#8caeba;border-radius:100% 5px 100% 5px}
.guide-theme .info-card[data-family="horizon"]::after{border-color:#bbad83;border-radius:100% 100% 5px 5px}
/* Self-esteem page: interlocking heart and four different emotional pieces. */
.esteem-pathway{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:28px}
.esteem-pathway a{position:relative;display:flex;flex-direction:column;min-height:206px;padding:22px 17px;border:1px solid var(--theme-border);border-radius:16px;background:#fffefb;transition:transform .24s,box-shadow .24s}
.esteem-pathway a:hover{transform:translateY(-4px);box-shadow:0 16px 32px #6a4e4a14}
.esteem-pathway .esteem-piece{width:50px;height:50px;margin:0 0 14px}
.esteem-pathway .esteem-piece svg{width:100%;height:100%}
.esteem-pathway strong{font:500 18px/1.6 var(--font-heading);color:#664b48;margin-bottom:7px}
.esteem-pathway span{font-size:11px;line-height:1.8;color:#81716b}
.esteem-pathway small{font:600 10px Georgia,serif;letter-spacing:.12em;color:#b78e87;position:absolute;top:19px;right:17px}
.esteem-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:31px 0 16px}
.esteem-split .esteem-feature{border-radius:17px;background:linear-gradient(133deg,#f3e2d8,#faf4ed);padding:29px 30px;border:1px solid #ead9d0}
.esteem-split .esteem-feature:nth-child(2){background:linear-gradient(133deg,#e4eee2,#f6f7ee);border-color:#d5e1d1}
.esteem-split h3{font:500 20px/1.7 var(--font-heading);color:#6a514b;margin:0 0 10px}
.esteem-split p{font-size:12px;line-height:2;color:#6f6d63;margin:0}
.esteem-feature-link{display:inline-block;color:#82655e;font-weight:700;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin-top:14px}
.esteem-step-list{list-style:none;counter-reset:esteem-steps;margin:23px 0;padding:0}
.esteem-step-list li{position:relative;counter-increment:esteem-steps;padding:16px 18px 16px 64px;margin:0 0 12px;border:1px solid #e8dbd1;border-radius:12px;background:#fffcf9;line-height:2}
.esteem-step-list li::before{content:counter(esteem-steps,decimal-leading-zero);position:absolute;top:16px;left:18px;font:600 22px Georgia,serif;color:#bb9890}
.esteem-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:21px}
.esteem-evidence a{display:block;padding:20px 19px;border-radius:13px;border:1px solid var(--theme-border);background:#fffefa}
.esteem-evidence strong{display:block;font:500 16px/1.8 var(--font-heading);color:#745550}
.esteem-evidence small{display:block;font-size:11px;color:#8c8278;margin-top:5px;line-height:1.6}
.esteem-evidence a:hover{border-color:#c3a49c}
.theme-article-note{border-left:3px solid var(--theme-accent);padding:17px 20px;margin:30px 0;background:var(--theme-pale);font-size:12px;line-height:2}
.theme-article-note a{text-decoration:underline;text-underline-offset:3px}
.esteem-callout{margin:24px 0 30px;padding:27px 29px;background:linear-gradient(130deg,#f7eee5,#fffefa);border-radius:15px;border:1px solid #e6d4c5}
.esteem-callout h3{margin:0 0 12px;font:500 22px var(--font-heading);color:#74524b}
.esteem-callout p{margin:0;font-size:13px;color:#735e56}
@media(min-width:980px){
 .guide-theme .intro-hero h1{max-width:67%}
 .guide-theme .intro-hero .intro-copy{max-width:65%}
}
@media(max-width:820px){
 .guide-theme .theme-visual{width:245px;right:3%;opacity:.35}
 .esteem-pathway{grid-template-columns:repeat(2,1fr)}
 .esteem-evidence{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
 .guide-theme .theme-visual{width:180px;right:-25px;top:56%;opacity:.16}
 .guide-theme .intro-hero{min-height:290px}
 .guide-theme .intro-hero h1{max-width:100%}
 .guide-theme .intro-hero .intro-copy{max-width:100%}
 .esteem-pathway{gap:10px}
 .esteem-pathway a{min-height:170px;padding:15px 13px}
 .esteem-pathway strong{font-size:16px}
 .esteem-pathway .esteem-piece{width:42px;height:42px}
 .esteem-split{grid-template-columns:1fr}
 .esteem-evidence{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.esteem-pathway a{transition:none;transform:none!important}}
