/* Follow the existing warm-paper theme; no alternative UI framework. */
.passions-panel{max-width:980px;margin:auto}.passions-intro{max-width:670px;margin:8px 0 26px}.passions-intro h2{margin:9px 0 16px}.passions-intro>p:last-child{color:var(--muted);font-size:15px}.passion-month{padding:18px 22px;border:1px solid var(--border);border-radius:10px;background:var(--paper2);display:grid;gap:6px;margin-bottom:18px}.passion-month strong{font-size:14px}.passion-month span{font-size:13px}.passion-month small,.passion-context small{font-size:12px;color:var(--muted)}.passion-context{padding:16px 20px;border-bottom:1px solid var(--border);margin-bottom:24px}.passion-context summary{cursor:pointer;font-weight:650}.passion-context p{font-size:13px;margin:12px 0}.passions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.passion-card{padding:23px;background:var(--paper2);border:1px solid var(--border);border-radius:12px;min-width:0}.passion-card.is-known{border-color:var(--green);box-shadow:var(--shadow)}.passion-card header{display:flex;gap:14px;align-items:center}.passion-card h3{font:26px/1.25 Georgia,serif}.passion-glyph{display:grid;place-items:center;background:var(--green2);color:var(--green);border-radius:50%;width:48px;height:48px;flex-shrink:0;font:28px Georgia,serif}.passion-status{color:var(--muted);font-size:12px;margin-top:4px}.passion-origin{font-size:13px;margin:18px 0 20px;min-height:42px}.passion-practice{display:grid;gap:10px}.passion-practice label{font-size:12px;font-weight:650}.passion-practice select{width:100%;max-width:100%;min-width:0;white-space:normal;font-size:13px;padding:11px 8px;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--ink)}.passion-practice>.btn-small{min-height:44px;background:var(--green);color:var(--paper2)}.passion-secondary{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.passion-secondary .btn-small{font-size:11px;background:transparent;min-height:40px;border-color:var(--border)}.passion-routine{font-size:12px;margin-top:10px;color:var(--green)}.passion-limits{font-size:12px;margin:12px 0;color:var(--muted)}.passion-limits summary{cursor:pointer}.passion-limits ul{padding-left:18px}.passion-limits li{margin:8px 0}.passion-history,.passion-shared{margin-top:32px;padding:24px 0;border-top:1px solid var(--border)}.passion-history>p,.passion-shared>p{font-size:13px;color:var(--muted);margin-top:12px}.passion-history ol{list-style:none;padding:0 0 0 20px;border-left:1px solid var(--border);margin-top:23px}.passion-history li{margin:20px 0}.passion-history li span{font-size:11px;color:var(--muted)}.passion-history li p{font-size:14px;margin-top:4px}.passion-shared blockquote{margin:18px 0;padding:14px 18px;background:var(--green2);border-radius:8px;font-size:13px}.passion-shared small{color:var(--muted)}
@media(max-width:700px){.passions-grid{grid-template-columns:1fr}.passion-card{padding:20px}.passions-intro{margin-top:0}.passion-month{padding:16px}.passion-secondary .btn-small{min-height:44px}.passions-intro h2{font-size:34px}}
.passion-month{margin-top:20px;margin-bottom:0}
.passion-month summary{cursor:pointer;color:var(--green);font-weight:700;font-size:13px}
.passion-month:not([open]) > :not(summary){display:none}

.passion-offer-note{margin:0;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.family-formation-panel{margin:22px 0;padding:22px;border:1px solid var(--line,#ded8cd);border-radius:18px;background:var(--paper,#fbf8f1)}
.family-formation-panel h3{margin:7px 0 9px}.family-formation-panel>label,.family-route-create label{display:block;margin:12px 0;font-size:.9rem;font-weight:600}.family-formation-panel select{display:block;width:100%;max-width:520px;margin-top:6px;padding:10px;border:1px solid var(--line,#ded8cd);border-radius:9px;background:white;color:inherit}.family-route-list{display:grid;gap:10px;margin:18px 0}.family-route-item{padding:14px;border:1px solid var(--line,#ded8cd);border-radius:12px;background:#fff}.family-route-item strong,.family-route-item span,.family-route-item small{display:block}.family-route-item span{font-size:.82rem;margin:4px 0;color:var(--muted,#716c63)}.family-route-item small{line-height:1.5}.family-route-create{margin-top:18px;padding-top:15px;border-top:1px solid var(--line,#ded8cd)}

/* A few lived interests lead; the catalogue stays small and easy to scan. */
.passions-panel{max-width:1000px;padding-bottom:48px}
.passions-intro{max-width:750px;margin:6px 0 38px}
.passions-intro h2{font:clamp(38px,4vw,56px)/1.08 Georgia,serif;letter-spacing:-.035em;color:var(--green);margin:12px 0 17px}
.passions-intro>p:last-child{font-size:17px;line-height:1.65;max-width:620px}
.passion-chapter{padding:26px 0 31px;border-top:1px solid var(--border)}
.passion-chapter-head{margin-bottom:21px}
.passion-chapter-head h3,.passion-history h3,.passion-shared h3{font:32px/1.18 Georgia,serif;color:var(--green);margin:8px 0}
.passion-chapter-head p,.passion-shared>p{font-size:15px;line-height:1.6;color:var(--muted);margin:7px 0 0}
.passions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.passion-card{padding:25px 27px;border-radius:16px;background:var(--paper2);box-shadow:none}
.passion-card.is-known{border-color:#bacbb7;box-shadow:0 9px 26px rgba(27,60,40,.055)}
.passion-card h3{font-size:29px}
.passion-status{font-size:13px;margin-top:5px}
.passion-origin{font-size:15px;line-height:1.6;min-height:0;margin:20px 0 23px}
.passion-glyph{width:54px;height:54px;border-radius:14px;font-size:29px}
.passion-first-moment{margin:0 0 22px;padding:15px 18px;border-left:2px solid var(--green);background:rgba(101,138,106,.075);font-size:15px;line-height:1.6}
.passion-first-moment span{display:block;color:var(--green);font-weight:700;font-size:12px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px}
.passion-practice{gap:9px}.passion-practice label{font-size:13px}.passion-practice select{font-size:14px;padding:12px}
.passion-offer-note{font-size:13px}.passion-practice>.btn-small{margin-top:5px}
.passion-secondary{align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:14px;margin-top:22px}
.passion-secondary .btn-small{font-size:12px;min-height:38px}
.passion-other summary{cursor:pointer;color:var(--muted);font-size:12px}
.passion-other[open]>.btn-small{margin:9px 7px 0 0}
.passion-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.passion-discovery{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 17px;border:1px solid var(--border);border-radius:12px;background:var(--paper2);min-width:0}
.passion-discovery>span:first-child{font:25px Georgia,serif;color:var(--green)}
.passion-discovery strong,.passion-discovery small{display:block}.passion-discovery strong{font:19px Georgia,serif;color:var(--green)}
.passion-discovery small{font-size:12px;line-height:1.4;color:var(--muted);margin-top:4px}
.passion-discovery .btn-small{font-size:12px;min-height:38px;white-space:nowrap}
.passion-unavailable{font-size:12px;line-height:1.4;color:var(--muted)}
.passion-month{margin:25px 0 0;padding:16px 20px;background:transparent}
.passion-month summary{font-size:15px;color:var(--green)}
.passion-month strong,.passion-month span{font-size:14px;line-height:1.5}
.passion-history,.passion-shared{margin-top:28px;padding-top:28px}
.passion-history ol{margin-top:19px}.passion-history li span{font-size:12px}.passion-history li p,.passion-shared blockquote{font-size:15px;line-height:1.6}
@media(max-width:740px){.passions-grid,.passion-discovery-grid{grid-template-columns:1fr}.passion-card{padding:21px}.passion-discovery{grid-template-columns:30px minmax(0,1fr)}.passion-discovery .btn-small,.passion-discovery .passion-unavailable{grid-column:2;justify-self:start}.passions-intro{margin-bottom:29px}.passion-chapter-head h3{font-size:29px}}
