
:root{--bg:#f4efe6;--paper:#fbf8f2;--ink:#1f2a22;--muted:#6f756d;--line:#cfc8bb;--sage:#dfe6da;--sand:#e9dfcf;--rose:#ead9d7;--blue:#dde4e5;--yellow:#eee4b7;--active:#ece4d7}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5} a{color:inherit;text-decoration:none}
.app{min-height:100vh;display:grid;grid-template-columns:220px 1fr;grid-template-rows:78px 1fr}
.topbar{grid-column:1/-1;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--bg)}
.brand-wrap{display:flex;align-items:baseline;gap:22px}.brand{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:31px}.tagline{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--muted);line-height:1.2}
.top-actions{display:flex;gap:24px;font-size:14px}.sidebar{grid-column:1;grid-row:2;border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column;justify-content:space-between}
.side-nav{display:flex;flex-direction:column;gap:7px}.side-link{display:flex;gap:13px;align-items:center;padding:11px 12px;border-radius:22px}.side-link.active{background:var(--active)}
.side-icon{width:22px;text-align:center;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px}.side-note{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;text-align:center;padding:22px 10px;color:#3d463e}
.main{grid-column:2;grid-row:2;padding:52px 54px 80px}.content-wrap{max-width:1180px;margin:0 auto}.kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:12px;margin-bottom:14px}
h1,h2,h3{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;margin:0} h1{font-size:58px;line-height:1} h2{font-size:34px} h3{font-size:24px}
.lead{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:21px;max-width:680px;margin:22px 0 0}.hero{min-height:330px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line);padding-bottom:48px}
.section{padding:48px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:flex-start;margin-bottom:26px}.section-head p{max-width:500px;color:var(--muted);margin:4px 0 0}
.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.home-card{min-height:180px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper)}
.home-card:nth-child(1){background:var(--sage)}.home-card:nth-child(2){background:var(--sand)}.home-card:nth-child(3){background:var(--blue)}.home-card:nth-child(4){background:var(--yellow)}.home-card:nth-child(5){background:var(--rose)}
.home-card p{color:#404940;margin:12px 0}.community-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:34px}.community-sub{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;margin-top:12px}
.member-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.member-row{min-height:132px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.member-mark{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,#ffd970 0 18%,#ff8f73 32%,rgba(255,143,115,.15) 68%,transparent 72%)}
.member-row:nth-child(2) .member-mark{background:radial-gradient(circle,#fff18c 0 18%,#8fdcc8 32%,rgba(143,220,200,.15) 68%,transparent 72%)}
.member-row:nth-child(3) .member-mark{background:radial-gradient(circle,#f9b4db 0 18%,#b998e8 32%,rgba(185,152,232,.15) 68%,transparent 72%)}
.member-row:nth-child(4) .member-mark{background:radial-gradient(circle,#b7d8ff 0 18%,#6b78e8 32%,rgba(107,120,232,.15) 68%,transparent 72%)}
.member-row:nth-child(5) .member-mark{background:radial-gradient(circle,#fff1a6 0 18%,#a9d36e 32%,rgba(169,211,110,.15) 68%,transparent 72%)}
.member-row:nth-child(6) .member-mark{background:radial-gradient(circle,#ffb2a5 0 18%,#e85879 32%,rgba(232,88,121,.15) 68%,transparent 72%)}
.member-name{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:20px}.member-meta{color:var(--muted);font-size:13px}.list{border-top:1px solid var(--line)}.list a{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.meta{color:var(--muted);font-size:13px}
.footer{padding:28px 0 0;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.topbar{grid-column:1;flex-wrap:wrap;gap:12px;padding:18px}.sidebar{grid-column:1;grid-row:2;border-right:0;border-bottom:1px solid var(--line)}.side-nav{display:grid;grid-template-columns:repeat(2,1fr)}.side-note{display:none}.main{grid-column:1;grid-row:3;padding:35px 22px 60px}.home-grid,.member-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tagline{display:none}.home-grid,.member-list{grid-template-columns:1fr}h1{font-size:44px}.community-head,.section-head{display:block}}


/* restrained old-web utility typography */
.top-actions,
.side-link,
.kicker,
.meta,
.member-meta,
.footer {
  font-family: Verdana, Geneva, sans-serif;
}
.top-actions,
.side-link { font-size: 12px; }
.kicker { font-size: 11px; }
.meta,
.member-meta,
.footer { font-size: 11px; }


/* ideas board */
.idea-compose{
  border:1px solid var(--line);
  background:rgba(251,248,242,.55);
  padding:18px;
  margin:28px 0 34px;
}
.idea-compose textarea{
  width:100%;
  min-height:110px;
  resize:vertical;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  font:inherit;
  color:var(--ink);
  padding:4px 0 14px;
  outline:none;
}
.idea-compose-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding-top:14px;
}
.idea-compose button{
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  padding:8px 14px;
  font:inherit;
  cursor:pointer;
}
.idea-board{
  border-top:1px solid var(--line);
}
.idea-post{
  padding:24px 0 22px;
  border-bottom:1px solid var(--line);
}
.idea-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:var(--muted);
  font-family:Verdana,Geneva,sans-serif;
  font-size:11px;
  margin-bottom:8px;
}
.idea-title{
  font-size:20px;
  font-weight:500;
  margin:0 0 8px;
}
.idea-body{
  max-width:760px;
  margin:0 0 14px;
  font-size:16px;
}
.idea-actions{
  display:flex;
  gap:18px;
  font-family:Verdana,Geneva,sans-serif;
  font-size:11px;
  color:var(--muted);
}
.idea-actions a:hover{
  color:var(--ink);
}

/* fundraiser page */
.fundraiser-hero{
  padding:0 0 44px;
  border-bottom:1px solid var(--line);
}
.fundraiser-feature{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:34px;
  padding:34px 0 44px;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.fundraiser-graphic{
  min-height:190px;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  background:var(--paper);
  font-size:25px;
  letter-spacing:-.03em;
}
.fundraiser-graphic.loic{
  background:linear-gradient(135deg,var(--yellow),var(--sage));
}
.fundraiser-graphic.paintings{
  background:linear-gradient(135deg,var(--rose),var(--yellow));
}
.fundraiser-graphic.diana{
  background:linear-gradient(135deg,var(--blue),var(--rose));
}
.fundraiser-copy h2{margin-bottom:13px}
.fundraiser-copy p{max-width:720px;margin:0 0 14px;font-size:16px}
.fundraiser-link{
  display:inline-block;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
  margin-top:5px;
}
.fundraiser-section{
  padding:44px 0;
  border-bottom:1px solid var(--line);
}
.fundraiser-section > p{
  max-width:720px;
  font-size:18px;
  margin:10px 0 28px;
}
@media(max-width:700px){
  .fundraiser-feature{grid-template-columns:1fr}
  .fundraiser-graphic{min-height:140px}
}

/* updates */
.updates-home{padding:44px 0;border-bottom:1px solid var(--line)}
.updates-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px}
.updates-list{border-top:1px solid var(--line)}
.update-item{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:18px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.update-date{
  font-family:Verdana,Geneva,sans-serif;
  font-size:11px;
  color:var(--muted);
  padding-top:3px;
}
.update-title{font-size:16px}
.update-note{font-size:13px;color:var(--muted);margin-top:3px;max-width:720px}
.all-updates{
  font-family:Verdana,Geneva,sans-serif;
  font-size:11px;
}
@media(max-width:560px){
  .update-item{grid-template-columns:1fr;gap:4px}
}

.brand-orb{
  width:34px;
  height:34px;
  object-fit:cover;
  border-radius:50%;
  flex:0 0 34px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.about-page{max-width:820px;padding:28px 0 60px}
.about-copy{max-width:690px;margin-top:38px;font-size:19px;line-height:1.65}
.about-copy p{margin:0 0 25px}

/* newly diagnosed section rhythm */
.newly-section{
  padding:34px 0 38px;
  border-bottom:1px solid var(--line);
  max-width:760px;
}
.newly-section:first-of-type{
  padding-top:18px;
}
.newly-section h2{
  margin-bottom:16px;
}
.newly-section p{
  margin:0 0 17px;
}
.newly-section.soft{
  background:rgba(251,248,242,.45);
  margin-left:-22px;
  margin-right:-22px;
  padding-left:22px;
  padding-right:22px;
}
.newly-links{
  padding:30px 0 10px;
  max-width:760px;
}
.newly-links a{
  display:block;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}

/* EXPERIMENTAL: subtle handmade-web touches */
.brand{transition:color .5s ease}
.brand:hover{color:#5a6b56;text-decoration:none}
.side-link[href="ideas.html"] .side-icon{
  animation:tinyPulse 12s ease-in-out infinite;
  transform-origin:center;
}
@keyframes tinyPulse{
  0%,88%,100%{transform:scale(1);opacity:1}
  92%{transform:scale(1.18);opacity:.7}
  96%{transform:scale(.96);opacity:1}
}
.side-link:hover .side-icon{transform:translateX(1px)}
.member-row .member-mark{transition:filter .25s ease,transform .25s ease}
.member-row:hover .member-mark{filter:saturate(1.15);transform:scale(1.08)}
.idea-post:hover,.post:hover{background:rgba(251,248,242,.24)}
.site-trace{
  margin-top:34px;
  padding-top:16px;
  border-top:1px dotted var(--line);
  font-family:Verdana,Geneva,sans-serif;
  font-size:11px;
  color:var(--muted);
  max-width:620px;
}
.trace-dot{
  display:inline-block;
  width:6px;height:6px;border-radius:50%;
  margin-right:8px;vertical-align:1px;
  background:#b6a76f;
  box-shadow:0 0 8px rgba(182,167,111,.22);
}
.exp-accent{width:42px;height:1px;background:#8d866f;margin-top:18px}
textarea:focus,input:focus{border-color:#7f8777}
@media(min-width:1050px){
  .main .content-wrap{padding-right:28px}
  .about-page,.newly-section{margin-left:8px}
}

/* EXPERIMENTAL v4 — quiet thread colors */
.idea-post,
.post{
  border:1px solid var(--line);
  margin:12px 0;
  padding:22px 24px;
}

/* soft, irregular palette rather than category colors */
.idea-post:nth-of-type(6n+1),
.post:nth-of-type(6n+1){background:#f5eedf;}
.idea-post:nth-of-type(6n+2),
.post:nth-of-type(6n+2){background:#edf1e6;}
.idea-post:nth-of-type(6n+3),
.post:nth-of-type(6n+3){background:#f2e8e4;}
.idea-post:nth-of-type(6n+4),
.post:nth-of-type(6n+4){background:#e8eef0;}
.idea-post:nth-of-type(6n+5),
.post:nth-of-type(6n+5){background:#f3f0dc;}
.idea-post:nth-of-type(6n),
.post:nth-of-type(6n){background:#eee8f0;}

.idea-post:hover,
.post:hover{
  filter:brightness(.995);
  transform:translateX(1px);
}

/* v5: Questions = knowledge / Ideas = possibility */

/* Questions: orderly, archival, square */
body.questions-page .idea-post,
body.questions-page .post{
  border-radius:0;
  transform:none;
}
body.questions-page .idea-post:hover,
body.questions-page .post:hover{
  transform:none;
}
.question-category{
  font-family:Verdana,Geneva,sans-serif;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:9px;
  opacity:.62;
}
.question-meta{
  font-family:Verdana,Geneva,sans-serif;
  font-size:10px;
  margin-top:14px;
  opacity:.58;
}

/* Ideas: a little softer, less uniform, more alive */
body.ideas-page .idea-post,
body.ideas-page .post{
  border-radius:6px 3px 7px 4px;
  transition:transform .18s ease,filter .18s ease;
}
body.ideas-page .idea-post:nth-of-type(odd),
body.ideas-page .post:nth-of-type(odd){
  margin-right:22px;
}
body.ideas-page .idea-post:nth-of-type(even),
body.ideas-page .post:nth-of-type(even){
  margin-left:14px;
}
body.ideas-page .idea-post:hover,
body.ideas-page .post:hover{
  transform:translateX(2px);
}
.idea-momentum{
  font-family:Verdana,Geneva,sans-serif;
  font-size:10px;
  margin-top:14px;
  opacity:.68;
}
.idea-help{
  margin-left:14px;
}

/* v6 — Ideas: aligned blocks + gentle color lift */
body.ideas-page .idea-post:nth-of-type(odd),
body.ideas-page .post:nth-of-type(odd),
body.ideas-page .idea-post:nth-of-type(even),
body.ideas-page .post:nth-of-type(even){
  margin-left:0;
  margin-right:0;
}

body.ideas-page .idea-post,
body.ideas-page .post{
  transition:filter .22s ease, transform .22s ease;
}

body.ideas-page .idea-post:hover,
body.ideas-page .post:hover{
  transform:none;
  filter:brightness(1.035) saturate(1.035);
}

/* v7 — Questions: same gentle color lift on hover */
body.questions-page .idea-post,
body.questions-page .post{
  transition:filter .22s ease;
}
body.questions-page .idea-post:hover,
body.questions-page .post:hover{
  transform:none;
  filter:brightness(1.035) saturate(1.035);
}

/* v8 — Home grid: same gentle color lift on hover */
.home-card{
  transition:filter .22s ease;
}
.home-card:hover{
  transform:none;
  filter:brightness(1.035) saturate(1.035);
}

/* v9 — tiny living touches */

/* presence indicator */
.presence{
  font-family:Verdana,Geneva,sans-serif;
  font-size:10px;
  color:var(--muted);
  text-align:center;
  padding:8px 0 14px;
}
.presence-dot{
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#8ea27f;
  margin-right:7px;
  vertical-align:1px;
  box-shadow:0 0 7px rgba(142,162,127,.25);
}

/* each sidebar symbol gets one tiny, distinct hover behavior */
.side-link .side-icon{
  display:inline-block;
  transition:transform .18s ease, opacity .18s ease, text-shadow .18s ease;
}

/* newly diagnosed: a tiny outward breath */
.side-link[href="newly-diagnosed.html"]:hover .side-icon{
  transform:scale(1.08);
}

/* community: a slight glow */
.side-link[href="community.html"]:hover .side-icon{
  text-shadow:0 0 7px rgba(90,108,86,.28);
}

/* ask a question: lift */
.side-link[href="questions.html"]:hover .side-icon{
  transform:translateY(-1px);
}

/* ideas: brighten */
.side-link[href="ideas.html"]:hover .side-icon{
  text-shadow:0 0 8px rgba(150,130,70,.30);
  transform:scale(1.08);
}

/* research: tiny nudge right */
.side-link[href="research.html"]:hover .side-icon{
  transform:translateX(1px);
}

/* fundraisers: small rise */
.side-link[href="fundraisers.html"]:hover .side-icon{
  transform:translateY(-1px) scale(1.03);
}

/* updates: soft pulse only on hover */
.side-link[href="updates.html"]:hover .side-icon{
  animation:onePulse .55s ease 1;
}
@keyframes onePulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.14);opacity:.75}
  100%{transform:scale(1);opacity:1}
}

/* tiny handmade underline behavior */
.top-actions a,
.footer a{
  position:relative;
}
.top-actions a:after,
.footer a:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:currentColor;
  transition:width .18s ease;
  opacity:.55;
}
.top-actions a:hover:after,
.footer a:hover:after{
  width:calc(100% + 4px);
}

/* v10 — pkan.portal: a little more alive on hover */
.brand{
  position:relative;
  display:inline-block;
  transition:color .28s ease, transform .28s ease, letter-spacing .28s ease;
}
.brand:hover{
  color:#52634f;
  transform:translateY(-1px);
  letter-spacing:.018em;
}
.brand:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-5px;
  width:0;
  height:1px;
  background:currentColor;
  opacity:.55;
  transition:width .32s ease;
}
.brand:hover:after{
  width:100%;
}

/* v11 — experimental floating ideas */
body.ideas-page .idea-board{
  position:relative;
  overflow:hidden;
  padding:8px 6px 10px;
}

body.ideas-page .idea-post{
  position:relative;
  border-radius:18px;
  border:1px solid rgba(207,200,187,.9);
  box-shadow:0 8px 20px rgba(70,64,54,.035);
  animation:ideaFloat 8s ease-in-out infinite;
  will-change:transform;
}

/* stagger movement so they don't feel synchronized */
body.ideas-page .idea-post:nth-of-type(2){animation-delay:-2s;animation-duration:9.5s}
body.ideas-page .idea-post:nth-of-type(3){animation-delay:-4.5s;animation-duration:10.5s}
body.ideas-page .idea-post:nth-of-type(4){animation-delay:-1s;animation-duration:8.8s}
body.ideas-page .idea-post:nth-of-type(5){animation-delay:-6s;animation-duration:11s}
body.ideas-page .idea-post:nth-of-type(6){animation-delay:-3.5s;animation-duration:9.2s}

@keyframes ideaFloat{
  0%{transform:translateY(0px)}
  50%{transform:translateY(-4px)}
  100%{transform:translateY(0px)}
}

/* subtle thought-bubble tail */
body.ideas-page .idea-post:after{
  content:"";
  position:absolute;
  left:24px;
  bottom:-9px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:inherit;
  border:1px solid rgba(207,200,187,.8);
}
body.ideas-page .idea-post:before{
  content:"";
  position:absolute;
  left:14px;
  bottom:-16px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:inherit;
  border:1px solid rgba(207,200,187,.7);
}

/* on hover, pause the float and brighten slightly */
body.ideas-page .idea-post:hover{
  animation-play-state:paused;
  transform:translateY(-2px);
  filter:brightness(1.045) saturate(1.04);
}

/* keep text sharp and calm */
body.ideas-page .idea-title,
body.ideas-page .idea-body,
body.ideas-page .idea-meta,
body.ideas-page .idea-actions{
  position:relative;
  z-index:1;
}

/* v12 — Community world map */
.community-map-wrap{
  margin-top:30px;
}
.world-map{
  position:relative;
  width:100%;
  aspect-ratio:1.9 / 1;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(251,248,242,.18);
  overflow:hidden;
}
.world-map svg{
  width:100%;
  height:100%;
  display:block;
}
.world-land{
  fill:none;
  stroke:#8f938b;
  stroke-width:1.2;
  vector-effect:non-scaling-stroke;
  opacity:.72;
}
.family-light{
  position:absolute;
  width:11px;
  height:11px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 0 12px rgba(255,185,90,.32);
  cursor:pointer;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.family-light:hover,
.family-light:focus{
  transform:translate(-50%,-50%) scale(1.35);
  filter:brightness(1.12) saturate(1.08);
  box-shadow:0 0 18px rgba(255,185,90,.42);
  outline:none;
}
.family-light .map-label{
  position:absolute;
  left:16px;
  top:-8px;
  min-width:165px;
  padding:8px 9px;
  background:var(--paper);
  border:1px solid var(--line);
  font-family:Verdana,Geneva,sans-serif;
  font-size:10px;
  line-height:1.45;
  color:var(--ink);
  opacity:0;
  pointer-events:none;
  transform:translateY(3px);
  transition:opacity .16s ease,transform .16s ease;
  z-index:4;
}
.family-light:hover .map-label,
.family-light:focus .map-label{
  opacity:1;
  transform:translateY(0);
}
.light-1{background:#f3a06f}
.light-2{background:#63bba5}
.light-3{background:#a984d8}
.light-4{background:#6684dc}
.light-5{background:#83b55d}
.light-6{background:#df6d78}
.light-7{background:#d7b65e}
.light-8{background:#78a7b8}

.map-note{
  font-family:Verdana,Geneva,sans-serif;
  font-size:10px;
  color:var(--muted);
  margin-top:10px;
}
.country-directory{
  padding:28px 0 0;
}
.country-directory h2{
  margin-bottom:16px;
}
.country-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  font-family:Verdana,Geneva,sans-serif;
  font-size:11px;
}
.country-links a{
  border-bottom:1px solid transparent;
}
.country-links a:hover{
  border-bottom-color:currentColor;
}
@media(max-width:700px){
  .world-map{aspect-ratio:1.35 / 1}
  .family-light .map-label{
    min-width:135px;
    font-size:9px;
  }
}

/* v13 — family grid beneath world map */
.family-grid-section{
  padding:38px 0 0;
}
.family-grid-section h2{
  margin-bottom:18px;
}
.family-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.family-card{
  min-height:150px;
  padding:20px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(251,248,242,.28);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:filter .2s ease, background .2s ease;
}
.family-card:hover{
  filter:brightness(1.025) saturate(1.02);
  background:rgba(251,248,242,.48);
}
.family-card-top{
  display:flex;
  align-items:center;
  gap:12px;
}
.family-card .member-mark{
  width:22px;
  height:22px;
  flex:0 0 auto;
}
.family-card-name{
  font-size:21px;
}
.family-card-meta{
  font-family:Verdana,Geneva,sans-serif;
  font-size:11px;
  color:var(--muted);
  line-height:1.55;
}
.family-card-note{
  margin-top:12px;
  font-size:14px;
  color:#495049;
}
@media(max-width:900px){
  .family-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .family-grid{grid-template-columns:1fr}
}

/* v14 — each family gets its own color orb */
.family-card:nth-child(1) .member-mark{
  background:radial-gradient(circle at 38% 35%,#fff3ad 0 10%,#f3a06f 34%,#d96f74 62%,rgba(217,111,116,.08) 74%,transparent 78%);
  box-shadow:0 0 12px rgba(243,160,111,.26);
}
.family-card:nth-child(2) .member-mark{
  background:radial-gradient(circle at 40% 34%,#d8ffe9 0 10%,#63bba5 35%,#4c8f91 62%,rgba(76,143,145,.08) 74%,transparent 78%);
  box-shadow:0 0 12px rgba(99,187,165,.26);
}
.family-card:nth-child(3) .member-mark{
  background:radial-gradient(circle at 38% 35%,#ffd8ef 0 10%,#a984d8 35%,#7764bd 62%,rgba(119,100,189,.08) 74%,transparent 78%);
  box-shadow:0 0 12px rgba(169,132,216,.26);
}
.family-card:nth-child(4) .member-mark{
  background:radial-gradient(circle at 40% 34%,#d9efff 0 10%,#6684dc 35%,#5c6ca9 62%,rgba(92,108,169,.08) 74%,transparent 78%);
  box-shadow:0 0 12px rgba(102,132,220,.26);
}
.family-card:nth-child(5) .member-mark{
  background:radial-gradient(circle at 38% 35%,#f4f6a8 0 10%,#83b55d 35%,#6c8e54 62%,rgba(108,142,84,.08) 74%,transparent 78%);
  box-shadow:0 0 12px rgba(131,181,93,.26);
}
.family-card:nth-child(6) .member-mark{
  background:radial-gradient(circle at 40% 34%,#ffd3bd 0 10%,#df6d78 35%,#b65d79 62%,rgba(182,93,121,.08) 74%,transparent 78%);
  box-shadow:0 0 12px rgba(223,109,120,.26);
}
.family-card:hover .member-mark{
  transform:scale(1.08);
  filter:brightness(1.08) saturate(1.05);
}

/* v15 — family cards returned to the cleaner original grid aesthetic */
.family-grid-section{
  padding:34px 0 0;
}
.family-grid-section h2{
  margin-bottom:18px;
}
.family-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.family-card{
  min-height:205px;
  padding:34px 34px 30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:transparent;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:filter .2s ease, background .2s ease;
}
.family-card:hover{
  background:rgba(251,248,242,.26);
  filter:brightness(1.02) saturate(1.02);
}
.family-card-top{
  display:block;
}
.family-card .member-mark{
  width:28px;
  height:28px;
  margin-bottom:38px;
}
.family-card-name{
  font-size:25px;
  line-height:1.1;
  margin-bottom:10px;
}
.family-card-meta{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:14px;
  color:var(--muted);
  line-height:1.45;
}
.family-card-note{
  display:none;
}
@media(max-width:900px){
  .family-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .family-grid{grid-template-columns:1fr}
  .family-card{min-height:180px}
}

/* v16 — restore the simpler v10 family-orb aesthetic */
.family-card .member-mark{
  width:28px;
  height:28px;
  border-radius:50%;
  margin-bottom:38px;
  transition:filter .25s ease, transform .25s ease;
}

.family-card:nth-child(1) .member-mark{
  background:radial-gradient(circle,#fff2a8 0 14%,#f3a06f 32%,rgba(243,160,111,.13) 66%,transparent 72%);
  box-shadow:0 0 13px rgba(255,190,90,.25);
}
.family-card:nth-child(2) .member-mark{
  background:radial-gradient(circle,#b8f0d8 0 14%,#63bba5 32%,rgba(99,187,165,.13) 66%,transparent 72%);
  box-shadow:0 0 13px rgba(99,187,165,.22);
}
.family-card:nth-child(3) .member-mark{
  background:radial-gradient(circle,#ffc6e4 0 14%,#a984d8 32%,rgba(169,132,216,.13) 66%,transparent 72%);
  box-shadow:0 0 13px rgba(169,132,216,.22);
}
.family-card:nth-child(4) .member-mark{
  background:radial-gradient(circle,#d3e7ff 0 14%,#6684dc 32%,rgba(102,132,220,.13) 66%,transparent 72%);
  box-shadow:0 0 13px rgba(102,132,220,.22);
}
.family-card:nth-child(5) .member-mark{
  background:radial-gradient(circle,#f8ef9b 0 14%,#83b55d 32%,rgba(131,181,93,.13) 66%,transparent 72%);
  box-shadow:0 0 13px rgba(131,181,93,.22);
}
.family-card:nth-child(6) .member-mark{
  background:radial-gradient(circle,#ffc3ad 0 14%,#df6d78 32%,rgba(223,109,120,.13) 66%,transparent 72%);
  box-shadow:0 0 13px rgba(223,109,120,.22);
}
.family-card:hover .member-mark{
  transform:scale(1.08);
  filter:brightness(1.06) saturate(1.03);
}

/* v17 — restore short family notes beneath location/language */
.family-card .family-card-note-restored{
  display:block;
  margin-top:24px;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:14px;
  line-height:1.45;
  color:#495049;
}
.family-card{
  min-height:220px;
}

/* v18 — research + treatment */
.research-page{max-width:980px}
.research-intro{max-width:760px;margin-bottom:42px}
.research-feature{
  border:1px solid var(--line);
  padding:34px 36px 36px;
  margin:0 0 34px;
  background:#f1eee5;
}
.research-feature-soft{background:#edf0e8}
.research-status,.section-label,.research-affiliation,.research-updated{
  font-family:Verdana,Geneva,sans-serif;
  font-size:10px;
  letter-spacing:.08em;
  color:var(--muted);
}
.research-status{margin-bottom:22px}
.research-feature h2{font-size:34px;margin:0 0 18px}
.research-feature p{max-width:760px;line-height:1.65}
.research-progress{margin:30px 0 20px;max-width:700px}
.progress-top,.progress-bottom{
  display:flex;justify-content:space-between;
  font-family:Verdana,Geneva,sans-serif;font-size:10px;color:var(--muted)
}
.progress-top strong{font-weight:normal;color:var(--ink)}
.progress-track{height:7px;background:#ded9cd;margin:10px 0 8px;overflow:hidden}
.progress-fill{width:40%;height:100%;background:#8ea27f}
.research-links{margin-top:24px}
.research-links a{text-decoration:underline;text-underline-offset:4px}
.research-people{margin:52px 0}
.research-people .section-label{margin-bottom:16px}
.research-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line)
}
.research-person{
  min-height:220px;padding:26px 28px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line)
}
.research-symbol{font-size:24px;margin-bottom:28px}
.research-person h3{font-size:22px;margin:0 0 7px}
.research-affiliation{margin-bottom:18px}
.research-person p{font-size:14px;line-height:1.55;max-width:360px}
.research-watch{
  display:grid;grid-template-columns:1fr 1.25fr;gap:45px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:32px 0;margin:50px 0 22px
}
.research-watch h2{font-size:27px;margin-top:10px}
.research-watch p{margin:0;line-height:1.6}
.research-updated{text-align:right;margin-bottom:35px}
@media(max-width:700px){
  .research-feature{padding:26px 22px}
  .research-grid{grid-template-columns:1fr}
  .research-watch{grid-template-columns:1fr;gap:18px}
}

/* v19 — spark */
.spark-action{
  display:inline-block;
  transition:filter .18s ease, text-shadow .18s ease, transform .18s ease;
}
.spark-action:hover{
  filter:brightness(1.08);
  text-shadow:0 0 7px rgba(174,145,74,.20);
}
.spark-action.sparked{
  animation:sparkOnce .42s ease 1;
}
@keyframes sparkOnce{
  0%{transform:scale(1);filter:brightness(1)}
  45%{transform:scale(1.08);filter:brightness(1.22);text-shadow:0 0 10px rgba(174,145,74,.35)}
  100%{transform:scale(1);filter:brightness(1)}
}

/* v20 — sidebar feels quietly alive */

/* traveling point of light along the divider */
.sidebar{
  position:relative;
  overflow:hidden;
}
.sidebar:after{
  content:"";
  position:absolute;
  right:-1px;
  top:10%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#b8a76c;
  box-shadow:0 0 9px rgba(184,167,108,.35);
  opacity:0;
  animation:dividerLight 24s ease-in-out infinite;
}
@keyframes dividerLight{
  0%{top:8%;opacity:0}
  8%{opacity:.8}
  45%{top:52%;opacity:.55}
  82%{top:90%;opacity:.7}
  92%{opacity:0}
  100%{top:92%;opacity:0}
}

/* stronger but still gentle icon wake-up */
.side-link .side-icon{
  transition:transform .2s ease, opacity .2s ease, text-shadow .2s ease, filter .2s ease;
}
.side-link:hover .side-icon{
  filter:brightness(1.1);
  text-shadow:0 0 8px rgba(122,115,88,.20);
}

/* active room gets a whisper of light */
.side-link.active{
  background:rgba(236,228,215,.78);
  box-shadow:inset 0 0 0 1px rgba(207,200,187,.32);
}
.side-link.active .side-icon{
  text-shadow:0 0 8px rgba(122,115,88,.16);
}

/* presence dot breathes slowly */
.presence-dot{
  animation:presenceBreath 4.8s ease-in-out infinite;
}
@keyframes presenceBreath{
  0%,100%{opacity:.68;transform:scale(1)}
  50%{opacity:1;transform:scale(1.18)}
}

/* v21 — remove traveling divider light */
.sidebar:after{
  display:none !important;
  animation:none !important;
}

/* v22 — family orbs appear beside posts */
.post-author{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
}
.post-author .post-orb{
  width:16px;
  height:16px;
  border-radius:50%;
  flex:0 0 16px;
}
.post-author .post-orb.diana{
  background:radial-gradient(circle,#fff2a8 0 14%,#f3a06f 32%,rgba(243,160,111,.13) 66%,transparent 72%);
  box-shadow:0 0 10px rgba(243,160,111,.22);
}
.post-author .post-orb.luca{
  background:radial-gradient(circle,#b8f0d8 0 14%,#63bba5 32%,rgba(99,187,165,.13) 66%,transparent 72%);
  box-shadow:0 0 10px rgba(99,187,165,.20);
}
.post-author .post-orb.minseo{
  background:radial-gradient(circle,#ffc6e4 0 14%,#a984d8 32%,rgba(169,132,216,.13) 66%,transparent 72%);
  box-shadow:0 0 10px rgba(169,132,216,.20);
}
.post-author .post-orb.noah{
  background:radial-gradient(circle,#d3e7ff 0 14%,#6684dc 32%,rgba(102,132,220,.13) 66%,transparent 72%);
  box-shadow:0 0 10px rgba(102,132,220,.20);
}
.post-author .post-orb.amira{
  background:radial-gradient(circle,#f8ef9b 0 14%,#83b55d 32%,rgba(131,181,93,.13) 66%,transparent 72%);
  box-shadow:0 0 10px rgba(131,181,93,.20);
}
.post-author .post-orb.mateo{
  background:radial-gradient(circle,#ffc3ad 0 14%,#df6d78 32%,rgba(223,109,120,.13) 66%,transparent 72%);
  box-shadow:0 0 10px rgba(223,109,120,.20);
}
.post-author .meta{
  margin:0;
}

/* v23 — spark mark beside pkan.portal */
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.brand-spark{
  position:relative;
  width:20px;
  height:20px;
  flex:0 0 20px;
}
.brand-spark:before,
.brand-spark:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:currentColor;
  transform-origin:center;
}
.brand-spark:before{
  width:1px;
  height:20px;
  transform:translate(-50%,-50%);
  box-shadow:
    0 0 0 currentColor;
}
.brand-spark:after{
  width:20px;
  height:1px;
  transform:translate(-50%,-50%);
}
.brand-spark i,
.brand-spark b{
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:18px;
  background:currentColor;
  transform-origin:center;
}
.brand-spark i{transform:translate(-50%,-50%) rotate(45deg)}
.brand-spark b{transform:translate(-50%,-50%) rotate(-45deg)}
.brand:hover .brand-spark{
  animation:brandSparkPulse .45s ease 1;
}
@keyframes brandSparkPulse{
  0%{transform:scale(1);opacity:1}
  50%{transform:scale(1.16);opacity:.72}
  100%{transform:scale(1);opacity:1}
}

/* v24 — primitive sidebar icon family */
.side-icon{
  position:relative;
  width:28px !important;
  height:28px !important;
  flex:0 0 28px;
  display:inline-block;
  font-size:0 !important;
  color:var(--ink);
}

/* community — little constellation */
.side-icon.icon-community:before{
  content:"";
  position:absolute;
  width:5px;height:5px;border-radius:50%;
  background:currentColor;
  left:3px;top:7px;
  box-shadow:14px -6px 0 currentColor,20px 10px 0 currentColor,8px 15px 0 currentColor;
}
.side-icon.icon-community:after{
  content:"";
  position:absolute;
  left:6px;top:9px;
  width:18px;height:14px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:rotate(22deg);
}

/* ideas — 8-ray spark */
.side-icon.icon-ideas:before,
.side-icon.icon-ideas:after{
  content:"";position:absolute;left:13px;top:1px;
  width:1px;height:26px;background:currentColor;
}
.side-icon.icon-ideas:after{transform:rotate(90deg)}
.side-icon.icon-ideas i,
.side-icon.icon-ideas b{
  position:absolute;left:13px;top:2px;width:1px;height:24px;background:currentColor;
}
.side-icon.icon-ideas i{transform:rotate(45deg)}
.side-icon.icon-ideas b{transform:rotate(-45deg)}

/* ask — open crescent */
.side-icon.icon-question:before{
  content:"";
  position:absolute;left:3px;top:3px;
  width:18px;height:22px;
  border:1.5px solid currentColor;
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(45deg);
}

/* research — winding path */
.side-icon.icon-research:before{
  content:"~";
  position:absolute;
  left:0;top:-10px;
  font-family:Georgia,serif;
  font-size:38px;
  font-weight:normal;
  transform:rotate(12deg) scaleX(.85);
}

/* fundraisers — little sun */
.side-icon.icon-fundraisers:before{
  content:"☼";
  position:absolute;
  left:0;top:-6px;
  font-family:Georgia,serif;
  font-size:35px;
  font-weight:normal;
}

/* about — doorway */
.side-icon.icon-about:before{
  content:"";
  position:absolute;
  left:6px;top:3px;
  width:15px;height:22px;
  border:1.5px solid currentColor;
  border-bottom:0;
}
.side-icon.icon-about:after{
  content:"";
  position:absolute;
  left:3px;bottom:2px;
  width:21px;height:1px;
  background:currentColor;
}

/* home stays simple */
.side-icon.icon-home:before{
  content:"⌂";
  position:absolute;left:1px;top:-4px;
  font-size:30px;
  font-family:Georgia,serif;
}

/* v25 — smaller sidebar symbols + missing icons */
.side-icon{
  width:23px !important;
  height:23px !important;
  flex-basis:23px !important;
  transform:scale(.86);
  transform-origin:center;
}

/* Ask a Question — simple question mark */
.side-icon.icon-question:before{
  content:"?" !important;
  position:absolute !important;
  inset:auto !important;
  left:4px !important;
  top:-5px !important;
  width:auto !important;
  height:auto !important;
  border:0 !important;
  border-radius:0 !important;
  transform:none !important;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important;
  font-size:29px !important;
  line-height:1 !important;
  font-weight:400 !important;
}
.side-icon.icon-question:after{display:none !important}

/* Newly diagnosed — concentric opening / beginning */
.side-icon.icon-newly:before{
  content:"";
  position:absolute;
  left:3px;top:3px;
  width:16px;height:16px;
  border:1.4px solid currentColor;
  border-radius:50%;
  box-shadow:inset 0 0 0 4px var(--paper);
}
.side-icon.icon-newly:after{
  content:"";
  position:absolute;
  left:8px;top:8px;
  width:6px;height:6px;
  border:1.2px solid currentColor;
  border-radius:50%;
}

/* Updates — simple radiating signal */
.side-icon.icon-updates:before{
  content:"";
  position:absolute;
  left:9px;top:9px;
  width:5px;height:5px;
  border-radius:50%;
  background:currentColor;
}
.side-icon.icon-updates:after{
  content:"";
  position:absolute;
  left:3px;top:3px;
  width:15px;height:15px;
  border:1px solid currentColor;
  border-radius:50%;
  opacity:.55;
}

/* v26 — typewriter experiment
   Interface + headings = Courier-style mono
   Longer reading copy stays soft sans-serif. */

:root{
  --mono:"Courier New", Courier, monospace;
  --reading:"Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* interface / navigation / labels */
.brand,
.topbar,
.sidebar,
.side-link,
.kicker,
.section-label,
.research-status,
.research-affiliation,
.research-updated,
.map-note,
.country-links,
button,
.button,
.btn,
input,
select,
textarea,
.idea-meta,
.meta,
.post-author,
.footer{
  font-family:var(--mono) !important;
}

/* headings + thread titles */
h1,h2,h3,h4,
.idea-title,
.family-card-name{
  font-family:var(--mono) !important;
  letter-spacing:-.025em;
}

/* longer explanatory copy remains softer + easier to read */
.lead,
p,
.idea-body,
.family-card-meta,
.family-card-note,
.research-feature p,
.research-person p,
.research-watch p{
  font-family:var(--reading) !important;
}

/* a little extra old-web character without becoming retro cosplay */
.brand{
  letter-spacing:.02em !important;
}
.side-link{
  letter-spacing:0 !important;
}

/* v27 — all typewriter, no mixed typography */
html, body,
body *,
body *::before,
body *::after{
  font-family:"Courier New", Courier, monospace !important;
}

/* keep icon glyphs / CSS drawings behaving normally where needed */
.side-icon.icon-fundraisers:before,
.side-icon.icon-research:before,
.side-icon.icon-home:before{
  font-family:"Courier New", Courier, monospace !important;
}

/* v28 — Helvetica Neue body, typewriter only in sidebar + top bar */

/* Reset the site/body back to Helvetica Neue */
html, body,
body *,
body *::before,
body *::after{
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

/* Keep the navigation / chrome in typewriter */
.sidebar,
.sidebar *,
.topbar,
.topbar *,
.brand,
.brand *,
header,
header *{
  font-family:"Courier New", Courier, monospace !important;
}

/* CSS-drawn sidebar symbols don't depend on font, but preserve
   the typewriter character treatment for glyph-based icons. */
.side-icon.icon-fundraisers:before,
.side-icon.icon-research:before,
.side-icon.icon-home:before,
.side-icon.icon-question:before{
  font-family:"Courier New", Courier, monospace !important;
}

/* v29 — compressed landing hero + quiet activity */
.compact-hero{
  min-height:auto !important;
  padding:76px 0 58px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:44px;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.compact-hero .hero-copy{
  max-width:980px;
}
.compact-hero h1{
  margin:26px 0 22px;
  font-size:clamp(48px,6.5vw,92px);
  line-height:.98;
}
.compact-hero .lead{
  max-width:860px;
  margin:0;
}
.hero-spark{
  position:relative;
  width:58px;
  height:58px;
  justify-self:center;
  opacity:.62;
}
.hero-spark:before,
.hero-spark:after,
.hero-spark span,
.hero-spark i,
.hero-spark b{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:58px;
  background:var(--ink);
  transform-origin:center;
}
.hero-spark:before{transform:translate(-50%,-50%) rotate(0deg)}
.hero-spark:after{transform:translate(-50%,-50%) rotate(90deg)}
.hero-spark span{transform:translate(-50%,-50%) rotate(45deg)}
.hero-spark i{transform:translate(-50%,-50%) rotate(-45deg)}
.hero-spark b{
  width:7px;
  height:7px;
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.hero-spark:hover{
  animation:heroSpark .48s ease 1;
}
@keyframes heroSpark{
  0%{transform:scale(1);opacity:.62}
  50%{transform:scale(1.08);opacity:.82}
  100%{transform:scale(1);opacity:.62}
}
.activity-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
}
.activity-item{
  min-height:74px;
  padding:18px 18px;
  display:flex;
  align-items:center;
  gap:9px;
  border-right:1px solid var(--line);
  font-family:"Courier New", Courier, monospace !important;
  font-size:11px;
  line-height:1.4;
  color:var(--muted);
  transition:background .2s ease, color .2s ease;
}
.activity-item:last-child{border-right:0}
.activity-item:hover{
  background:rgba(251,248,242,.35);
  color:var(--ink);
}
.activity-item span{
  color:var(--ink);
  flex:0 0 auto;
}
@media(max-width:900px){
  .compact-hero{
    grid-template-columns:1fr 70px;
    padding:58px 0 42px;
  }
  .hero-spark{width:42px;height:42px}
  .hero-spark:before,.hero-spark:after,.hero-spark span,.hero-spark i{
    height:42px;
  }
  .activity-strip{grid-template-columns:repeat(2,1fr)}
  .activity-item:nth-child(2){border-right:0}
  .activity-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:560px){
  .compact-hero{
    grid-template-columns:1fr;
    padding:44px 0 34px;
  }
  .hero-spark{
    justify-self:start;
    margin-top:4px;
  }
  .activity-strip{grid-template-columns:1fr}
  .activity-item{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
}

/* v31 — keep landing statement on one line */
.compact-hero h1{
  font-size:clamp(42px,4.9vw,72px) !important;
  line-height:1.02 !important;
  white-space:nowrap;
  letter-spacing:-.045em;
}

@media(max-width:900px){
  .compact-hero h1{
    font-size:clamp(34px,6.2vw,54px) !important;
  }
}

@media(max-width:650px){
  .compact-hero h1{
    white-space:normal;
    font-size:44px !important;
  }
}

/* v32 — more breathing room before homepage updates */
.home-updates,
.updates-section,
section.updates{
  margin-top:72px !important;
}

/* v33 — clickable hero spark */
.hero-spark{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  color:var(--ink);
  overflow:visible;
}
.hero-spark:focus-visible{
  outline:1px dotted var(--ink);
  outline-offset:8px;
}
.hero-spark.clicked{
  animation:heroSparkClick .46s ease 1;
}
@keyframes heroSparkClick{
  0%{transform:scale(1);opacity:.62}
  38%{transform:scale(1.13);opacity:.95}
  100%{transform:scale(1);opacity:.62}
}
.spark-particle{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  font-family:"Courier New",Courier,monospace !important;
  font-size:13px;
  line-height:1;
  pointer-events:none;
  transform:translate(-50%,-50%);
  animation:sparkBurst .95s cubic-bezier(.15,.65,.25,1) forwards;
}
@keyframes sparkBurst{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.55) rotate(0deg);
  }
  14%{opacity:.9}
  100%{
    opacity:0;
    transform:
      translate(calc(-50% + var(--x)), calc(-50% + var(--y)))
      scale(.9)
      rotate(var(--r));
  }
}

/* v34 — move spark higher/right + softer sprinkle effect */

/* Move the spark into the upper-right pocket of the hero */
.compact-hero{
  position:relative;
}
.hero-spark{
  position:absolute !important;
  right:7.5% !important;
  top:16% !important;
  justify-self:auto !important;
  width:52px !important;
  height:52px !important;
  opacity:.55;
}

/* soften the star itself */
.hero-spark:before,
.hero-spark:after,
.hero-spark span,
.hero-spark i{
  height:42px !important;
  opacity:.72;
}
.hero-spark b{
  width:6px !important;
  height:6px !important;
  opacity:.75;
}

/* sprinkle particles: dots only */
.spark-particle{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%) scale(.55);
  animation:sprinkleBurst 1.15s cubic-bezier(.16,.7,.26,1) forwards;
  box-shadow:0 0 6px rgba(0,0,0,.04);
}
@keyframes sprinkleBurst{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.45);
  }
  18%{
    opacity:.8;
  }
  100%{
    opacity:0;
    transform:
      translate(calc(-50% + var(--x)), calc(-50% + var(--y)))
      scale(var(--s));
  }
}

/* slightly softer click pulse */
.hero-spark.clicked{
  animation:heroSparkClickSoft .5s ease 1;
}
@keyframes heroSparkClickSoft{
  0%{transform:scale(1);opacity:.55}
  42%{transform:scale(1.08);opacity:.78}
  100%{transform:scale(1);opacity:.55}
}

@media(max-width:900px){
  .hero-spark{
    right:5% !important;
    top:14% !important;
  }
}
@media(max-width:650px){
  .hero-spark{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    margin-top:18px;
  }
}

/* v35 — remove radial/vertical star lines completely.
   The interactive mark is now just a quiet dot until clicked. */
.hero-spark:before,
.hero-spark:after,
.hero-spark > span,
.hero-spark > i{
  display:none !important;
}
.hero-spark > b{
  display:block !important;
  position:absolute;
  left:50%;
  top:50%;
  width:7px !important;
  height:7px !important;
  border-radius:50%;
  background:var(--ink);
  transform:translate(-50%,-50%);
  opacity:.5;
}

/* even lighter, airier sprinkle */
.spark-particle{
  box-shadow:none !important;
  opacity:0;
  filter:none;
}
@keyframes sprinkleBurst{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.35);
  }
  12%{opacity:.58}
  55%{opacity:.46}
  100%{
    opacity:0;
    transform:
      translate(calc(-50% + var(--x)), calc(-50% + var(--y)))
      scale(var(--s));
  }
}

/* v36 — spark at rest, dots disperse on click */

/* restore the quiet 8-ray spark icon */
.hero-spark:before,
.hero-spark:after,
.hero-spark > span,
.hero-spark > i{
  display:block !important;
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:1px !important;
  height:38px !important;
  background:var(--ink);
  opacity:.48;
  transform-origin:center;
}
.hero-spark:before{
  transform:translate(-50%,-50%) rotate(0deg) !important;
}
.hero-spark:after{
  transform:translate(-50%,-50%) rotate(90deg) !important;
}
.hero-spark > span{
  transform:translate(-50%,-50%) rotate(45deg) !important;
}
.hero-spark > i{
  transform:translate(-50%,-50%) rotate(-45deg) !important;
}
.hero-spark > b{
  display:block !important;
  position:absolute;
  left:50%;
  top:50%;
  width:6px !important;
  height:6px !important;
  border-radius:50%;
  background:var(--ink);
  transform:translate(-50%,-50%);
  opacity:.55;
}

/* during click, the spark gently fades while the dots leave it */
.hero-spark.clicked:before,
.hero-spark.clicked:after,
.hero-spark.clicked > span,
.hero-spark.clicked > i,
.hero-spark.clicked > b{
  animation:sparkLinesFade .72s ease;
}
@keyframes sparkLinesFade{
  0%{opacity:.5}
  30%{opacity:.2}
  70%{opacity:.28}
  100%{opacity:.5}
}

/* particles remain dots only */
.spark-particle{
  border-radius:50% !important;
  box-shadow:none !important;
}

/* v37 — bigger spark, shifted 50px left */
.hero-spark{
  right:calc(7.5% + 50px) !important;
  width:72px !important;
  height:72px !important;
}
.hero-spark:before,
.hero-spark:after,
.hero-spark > span,
.hero-spark > i{
  height:54px !important;
}
.hero-spark > b{
  width:7px !important;
  height:7px !important;
}

@media(max-width:900px){
  .hero-spark{
    right:calc(5% + 50px) !important;
    width:64px !important;
    height:64px !important;
  }
  .hero-spark:before,
  .hero-spark:after,
  .hero-spark > span,
  .hero-spark > i{
    height:48px !important;
  }
}

/* v38 — spark activation: hover wakes it up, click releases playful dots */

/* keep size + placement from v37 */
.hero-spark{
  transition:transform .24s ease, opacity .24s ease, filter .24s ease;
}

/* hover = activated, but still calm */
.hero-spark:hover{
  transform:scale(1.06);
  opacity:.78;
  filter:brightness(1.05);
}
.hero-spark:hover:before,
.hero-spark:hover:after,
.hero-spark:hover > span,
.hero-spark:hover > i{
  opacity:.68 !important;
}
.hero-spark:hover > b{
  opacity:.82 !important;
}

/* subtle little hover dots */
.hover-dot{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%) scale(.4);
  animation:hoverWake .75s ease-out forwards;
}
@keyframes hoverWake{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.35);
  }
  28%{opacity:.6}
  70%{opacity:.42}
  100%{
    opacity:0;
    transform:
      translate(calc(-50% + var(--x)), calc(-50% + var(--y)))
      scale(.85);
  }
}

/* click = playful sprinkle burst */
.click-dot{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%) scale(.35);
  animation:clickSprinkle 1.05s cubic-bezier(.16,.7,.26,1) forwards;
}
@keyframes clickSprinkle{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.3);
  }
  16%{opacity:.8}
  55%{opacity:.58}
  100%{
    opacity:0;
    transform:
      translate(calc(-50% + var(--x)), calc(-50% + var(--y)))
      scale(1);
  }
}

/* click gives the spark one satisfying little bounce */
.hero-spark.clicked{
  animation:sparkClickPop .5s ease 1;
}
@keyframes sparkClickPop{
  0%{transform:scale(1)}
  38%{transform:scale(1.12) rotate(2deg)}
  68%{transform:scale(.98) rotate(-1deg)}
  100%{transform:scale(1) rotate(0)}
}

/* v39 — make Ideas sidebar hover behave like the other nav items */
.side-link[href="ideas.html"]:hover{
  opacity:1 !important;
  transform:translateX(3px);
}
.side-link[href="ideas.html"]:hover .side-icon{
  transform:scale(.94) rotate(8deg) !important;
}
.side-link[href="ideas.html"]:hover::after{
  transform:scaleX(1) !important;
  opacity:1 !important;
}

/* v40 — Newly Diagnosed feels like an orientation */
.newly-orientation{
  max-width:820px;
}

.newly-orientation .newly-section{
  margin:18px 0;
  padding:30px 32px 32px;
  border:1px solid var(--line);
  background:transparent;
}

.newly-orientation .newly-section h2{
  margin-top:0;
  max-width:680px;
}

.newly-orientation .newly-section p{
  max-width:690px;
}

.newly-step{
  font-family:"Courier New", Courier, monospace !important;
  font-size:10px;
  letter-spacing:.12em;
  color:var(--muted);
  margin-bottom:18px;
}

/* each orientation block gets its own quiet color */
.newly-orientation .newly-section:nth-of-type(1){
  background:#f4e9e2;
}
.newly-orientation .newly-section:nth-of-type(2){
  background:#e9eef0;
}
.newly-orientation .newly-section:nth-of-type(3){
  background:#eaf0e6;
}
.newly-orientation .newly-section:nth-of-type(4){
  background:#f4efda;
}
.newly-orientation .newly-section:nth-of-type(5){
  background:#eee8f1;
}

/* remove the previous alternating-band treatment inside this page */
.newly-orientation .newly-section.soft{
  margin-left:0;
  margin-right:0;
  padding-left:32px;
  padding-right:32px;
}

/* make the bottom pathways feel like the next steps of the orientation */
.newly-orientation .newly-links{
  margin-top:26px;
  padding-top:26px;
  border-top:1px solid var(--line);
}

/* v41 — softer Newly Diagnosed opening */
.newly-welcome-soft{
  margin:22px 0 42px;
  padding:34px 38px 36px;
  background:linear-gradient(
    90deg,
    rgba(244,233,226,.72) 0%,
    rgba(244,233,226,.38) 58%,
    rgba(244,233,226,0) 100%
  );
  border:0;
  max-width:820px;
}
.newly-welcome-soft p{
  max-width:690px;
  margin:0 0 18px;
  line-height:1.65;
}
.newly-welcome-soft .welcome-line{
  font-size:24px;
  line-height:1.35;
  margin-bottom:20px;
}
.newly-welcome-soft p:last-child{
  margin-bottom:0;
}

/* orientation blocks below feel like steps, not alerts */
.newly-orientation .newly-section{
  border:0;
  padding:30px 34px 34px;
  margin:18px 0;
  box-shadow:none;
}
.newly-orientation .newly-section:nth-of-type(2){
  background:#e9eef0;
}
.newly-orientation .newly-section:nth-of-type(3){
  background:#eaf0e6;
}
.newly-orientation .newly-section:nth-of-type(4){
  background:#f4efda;
}
.newly-orientation .newly-section:nth-of-type(5){
  background:#eee8f1;
}
.newly-orientation .newly-step{
  margin-bottom:14px;
}

/* v43 — personal family profile pages */
.family-profile{
  max-width:900px;
}
.family-profile-head{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:22px;
  align-items:start;
  padding:10px 0 34px;
  border-bottom:1px solid var(--line);
}
.family-profile-orb{
  width:54px;
  height:54px;
  border-radius:50%;
  margin-top:4px;
}
.family-profile h1{
  margin:0 0 10px;
}
.family-profile-meta{
  font-size:14px;
  color:var(--muted);
  line-height:1.55;
}
.family-story{
  padding:38px 0;
  border-bottom:1px solid var(--line);
  max-width:760px;
}
.family-story h2,
.family-links h2,
.family-gallery h2{
  margin-bottom:18px;
}
.family-story p{
  font-size:18px;
  line-height:1.68;
}
.family-gallery{
  padding:38px 0;
  border-bottom:1px solid var(--line);
}
.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.photo-placeholder{
  aspect-ratio:1/1;
  border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(233,238,240,.75), rgba(244,233,226,.72));
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Courier New",Courier,monospace !important;
  font-size:10px;
  color:var(--muted);
}
.family-links{
  padding:38px 0;
}
.family-link-list{
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--line);
}
.family-link-list a{
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.profile-actions{
  display:flex;
  gap:12px;
  margin-top:22px;
  flex-wrap:wrap;
}
.profile-pill{
  display:inline-block;
  padding:8px 12px;
  border:1px solid var(--line);
  background:rgba(251,248,242,.35);
  font-size:12px;
}
.orb-diana{
  background:radial-gradient(circle,#fff2a8 0 14%,#f3a06f 32%,rgba(243,160,111,.13) 66%,transparent 72%);
  box-shadow:0 0 16px rgba(243,160,111,.24);
}
.orb-luca{
  background:radial-gradient(circle,#b8f0d8 0 14%,#63bba5 32%,rgba(99,187,165,.13) 66%,transparent 72%);
  box-shadow:0 0 16px rgba(99,187,165,.22);
}
.orb-minseo{
  background:radial-gradient(circle,#ffc6e4 0 14%,#a984d8 32%,rgba(169,132,216,.13) 66%,transparent 72%);
  box-shadow:0 0 16px rgba(169,132,216,.22);
}
@media(max-width:700px){
  .family-profile-head{grid-template-columns:1fr}
  .photo-grid{grid-template-columns:1fr}
}

/* v44 — social + personal links on family profiles */
.family-link-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  text-decoration:none;
}
.family-link-list a:hover{
  padding-left:6px;
}
.link-kind{
  font-family:"Courier New", Courier, monospace !important;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  flex:0 0 90px;
}

/* v45 — Random: low-stakes community space */
.icon-random:before,
.icon-random:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:currentColor;
}
.icon-random:before{
  width:4px;height:4px;left:4px;top:7px;
  box-shadow:8px -3px 0 currentColor, 12px 7px 0 currentColor, 3px 10px 0 currentColor;
}
.icon-random:after{
  width:2px;height:2px;left:13px;top:15px;
}

.random-page{max-width:1040px}
.random-compose{
  margin:28px 0 38px;
  padding:15px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  font-family:"Courier New",Courier,monospace !important;
  font-size:12px;
  cursor:pointer;
}
.random-compose-note{color:var(--muted)}
.random-feed{
  columns:2;
  column-gap:18px;
}
.random-post{
  break-inside:avoid;
  margin:0 0 18px;
  padding:20px;
  border:1px solid var(--line);
  background:#f4efda;
}
.random-post:nth-child(2){background:#eee8f1}
.random-post:nth-child(3){background:#e9eef0}
.random-post:nth-child(4){background:#eaf0e6}
.random-photo-placeholder{
  min-height:220px;
  background:rgba(255,255,255,.26);
  border:1px dashed rgba(38,49,38,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Courier New",Courier,monospace !important;
  font-size:10px;
  color:var(--muted);
  margin-bottom:16px;
}
.random-post.tall .random-photo-placeholder{min-height:330px}
.random-caption,
.random-big-text{
  font-size:20px;
  line-height:1.4;
  margin-bottom:22px;
}
.random-big-text{font-size:25px}
.random-link-kind{
  font-family:"Courier New",Courier,monospace !important;
  font-size:9px;
  letter-spacing:.12em;
  color:var(--muted);
  margin-bottom:13px;
}
.random-meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  color:var(--muted);
}
.mini-orb{
  display:inline-block;
  width:14px;
  height:14px;
  border-radius:50%;
  flex:0 0 14px;
}
@media(max-width:700px){
  .random-feed{columns:1}
}

/* v46 — random sits apart from the main navigation */
.random-side-link{
  margin-top:64px !important;
}

/* give it a little more visual separation while keeping it part of the sidebar */
.sidebar .random-side-link{
  position:relative;
}

/* v47 — random rejoins nav between Updates and Fundraisers */
.random-side-link{
  margin-top:0 !important;
}

/* Updates icon gets a quiet green accent */
.side-link[href="updates.html"] .side-icon{
  color:#6f8f72 !important;
}
.side-link[href="updates.html"]:hover .side-icon{
  color:#4f7654 !important;
}


/* v49 — educational resources + random separated below primary navigation */
.icon-education:before{content:"↗";font-size:16px;line-height:1;font-weight:500;}
.random-side-link{margin-top:64px !important;}
@media(max-width:900px){.random-side-link{margin-top:0 !important;}}

/* v50 — educational resources */
.resources-page{max-width:980px}
.resources-feature{padding-bottom:34px}
.resource-list{margin-top:30px;border-top:1px solid var(--line)}
.resource-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:center;
  padding:22px 4px 22px 0;
  border-bottom:1px solid var(--line);
  transition:padding-left .16s ease,background .16s ease;
}
.resource-row:hover{padding-left:8px}
.resource-type{
  font-size:11px;
  letter-spacing:.11em;
  color:var(--muted);
  margin-bottom:7px;
}
.resource-row h3{font-size:21px;margin:0 0 7px}
.resource-row p{font-size:14px;line-height:1.55;margin:0;max-width:690px;color:#4c554c}
.resource-arrow{font-size:22px;color:var(--muted);padding-right:2px}
@media(max-width:560px){
  .resource-row{grid-template-columns:1fr auto;gap:14px}
  .resource-row h3{font-size:19px}
}

.fundraiser-graphic img{max-width:100%;max-height:190px;width:auto;height:auto;object-fit:contain;display:block}
.fundraiser-graphic.loic{background:var(--paper)}

/* fundraiser image cards */
.fundraiser-graphic.paintings{background:var(--paper);padding:0;overflow:hidden}
.fundraiser-graphic.paintings img{width:100%;height:260px;max-height:none;object-fit:cover;display:block}
.fundraiser-graphic:is(a){color:inherit;text-decoration:none}
@media(max-width:700px){.fundraiser-graphic.paintings img{height:220px}}
.fundraiser-graphic.diana{background:var(--paper);padding:0;overflow:hidden}
.fundraiser-graphic.diana img{width:100%;height:260px;max-height:none;object-fit:cover;display:block}
@media(max-width:700px){.fundraiser-graphic.diana img{height:220px}}


/* v59 — Stories of Progress as a loose reading table / clipping board */
.progress-board{
  position:relative;
  min-height:610px;
  margin:38px -8px 6px;
  padding:20px 10px 10px;
}
.progress-board:before{
  content:"";
  position:absolute;
  left:5%; right:4%; top:49%;
  border-top:1px dashed rgba(76,85,76,.22);
  transform:rotate(-2deg);
  pointer-events:none;
}
.progress-card{
  position:absolute;
  display:block;
  box-sizing:border-box;
  color:var(--ink);
  text-decoration:none;
  border:1px solid rgba(76,85,76,.26);
  padding:28px 28px 24px;
  background:#f7f2e7;
  box-shadow:3px 5px 0 rgba(76,85,76,.07);
  transition:transform .18s ease,box-shadow .18s ease;
}
.progress-card:before{
  content:"";
  position:absolute;
  width:58px;height:17px;
  top:-9px;left:50%;
  transform:translateX(-50%) rotate(-2deg);
  background:rgba(218,211,187,.72);
  border-left:1px solid rgba(120,115,95,.10);
  border-right:1px solid rgba(120,115,95,.10);
}
.progress-card:hover{
  z-index:5;
  box-shadow:7px 9px 0 rgba(76,85,76,.09);
}
.progress-card-a{
  width:45%;left:0;top:24px;
  transform:rotate(-1.7deg);
  background:#f6f0df;
}
.progress-card-a:hover{transform:rotate(-1.7deg) translateY(-5px)}
.progress-card-b{
  width:43%;right:1%;top:0;
  transform:rotate(1.25deg);
  background:#edf0e8;
}
.progress-card-b:hover{transform:rotate(1.25deg) translateY(-5px)}
.progress-card-c{
  width:54%;left:23%;top:345px;
  transform:rotate(-.45deg);
  background:#f1e8df;
}
.progress-card-c:hover{transform:rotate(-.45deg) translateY(-5px)}
.progress-number{
  display:block;
  position:absolute;
  right:20px;top:17px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:42px;
  line-height:1;
  color:rgba(76,85,76,.13);
}
.progress-source{
  display:block;
  max-width:75%;
  margin-bottom:35px;
  font-family:Verdana,Geneva,sans-serif;
  font-size:9px;
  letter-spacing:.1em;
  color:var(--muted);
}
.progress-card h3{
  margin:0 0 16px;
  font-size:27px;
  line-height:1.08;
  font-weight:normal;
}
.progress-card p{
  margin:0 0 28px;
  max-width:330px;
  font-size:13px;
  line-height:1.55;
  color:#4c554c;
}
.progress-open{
  font-family:Verdana,Geneva,sans-serif;
  font-size:10px;
  letter-spacing:.08em;
  border-bottom:1px solid rgba(76,85,76,.35);
  padding-bottom:3px;
}
@media(max-width:700px){
  .progress-board{min-height:0;margin:28px 0 0;padding:0}
  .progress-board:before{display:none}
  .progress-card,
  .progress-card-a,.progress-card-b,.progress-card-c{
    position:relative;width:auto;left:auto;right:auto;top:auto;
    margin:0 0 22px;
    transform:none;
  }
  .progress-card:hover,
  .progress-card-a:hover,.progress-card-b:hover,.progress-card-c:hover{
    transform:translateY(-3px);
  }
}


/* v60 — ideas as a drifting field of thoughts */
.ideas-page .content-wrap{max-width:1040px}
.ideas-page .idea-compose{
  max-width:700px;
  border:0;
  background:transparent;
  padding:0;
  margin:34px 0 46px;
}
.ideas-page .idea-compose textarea{
  min-height:88px;
  box-sizing:border-box;
  border:1px dashed rgba(76,85,76,.38);
  border-radius:46% 54% 51% 49% / 55% 45% 55% 45%;
  padding:25px 34px 18px;
  background:rgba(251,248,242,.55);
}
.ideas-page .idea-compose-row{padding:10px 12px 0 20px}
.ideas-page .idea-board{
  position:relative;
  min-height:760px;
  border-top:0;
  margin:10px 0 55px;
}
.ideas-page .idea-post{
  position:absolute;
  box-sizing:border-box;
  border:1px solid rgba(76,85,76,.30);
  padding:30px 32px 28px;
  background:#f6f0df;
  transition:transform .2s ease,box-shadow .2s ease;
}
.ideas-page .idea-post:after{
  content:"";
  position:absolute;
  width:18px;height:18px;
  background:inherit;
  border-right:1px solid rgba(76,85,76,.30);
  border-bottom:1px solid rgba(76,85,76,.30);
  transform:rotate(45deg);
}
.ideas-page .idea-post:nth-child(1){
  width:47%;left:0;top:18px;
  border-radius:49% 51% 46% 54% / 42% 49% 51% 58%;
  background:#f6f0df;
  transform:rotate(-1.1deg);
}
.ideas-page .idea-post:nth-child(1):after{right:54px;bottom:-10px}
.ideas-page .idea-post:nth-child(2){
  width:43%;right:0;top:0;
  border-radius:55% 45% 52% 48% / 49% 58% 42% 51%;
  background:#edf0e8;
  transform:rotate(1deg);
}
.ideas-page .idea-post:nth-child(2):after{left:55px;bottom:-10px}
.ideas-page .idea-post:nth-child(3){
  width:45%;left:8%;top:385px;
  border-radius:47% 53% 55% 45% / 55% 44% 56% 45%;
  background:#f1e8df;
  transform:rotate(.7deg);
}
.ideas-page .idea-post:nth-child(3):after{right:70px;top:-10px;transform:rotate(225deg)}
.ideas-page .idea-post:nth-child(4){
  width:42%;right:3%;top:355px;
  border-radius:54% 46% 45% 55% / 45% 53% 47% 55%;
  background:#eef0e6;
  transform:rotate(-.8deg);
}
.ideas-page .idea-post:nth-child(4):after{left:62px;top:-10px;transform:rotate(225deg)}
.ideas-page .idea-post:hover{z-index:4;box-shadow:5px 7px 0 rgba(76,85,76,.07)}
.ideas-page .idea-post:nth-child(1):hover{transform:rotate(-1.1deg) translateY(-4px)}
.ideas-page .idea-post:nth-child(2):hover{transform:rotate(1deg) translateY(-4px)}
.ideas-page .idea-post:nth-child(3):hover{transform:rotate(.7deg) translateY(-4px)}
.ideas-page .idea-post:nth-child(4):hover{transform:rotate(-.8deg) translateY(-4px)}
.ideas-page .post-author{margin-bottom:14px}
.ideas-page .idea-meta{font-size:9px;margin-bottom:0}
.ideas-page .idea-title{
  max-width:85%;
  font-size:24px;
  line-height:1.12;
  font-weight:normal;
  margin:0 auto 14px;
  text-align:center;
}
.ideas-page .idea-body{
  max-width:82%;
  margin:0 auto 20px;
  font-size:14px;
  line-height:1.5;
  text-align:center;
}
.ideas-page .idea-actions{
  justify-content:center;
  gap:14px;
  font-size:9px;
}
@media(max-width:760px){
  .ideas-page .idea-board{min-height:0}
  .ideas-page .idea-post,
  .ideas-page .idea-post:nth-child(1),
  .ideas-page .idea-post:nth-child(2),
  .ideas-page .idea-post:nth-child(3),
  .ideas-page .idea-post:nth-child(4){
    position:relative;width:auto;left:auto;right:auto;top:auto;
    margin:0 0 25px;transform:none;
  }
  .ideas-page .idea-post:hover,
  .ideas-page .idea-post:nth-child(1):hover,
  .ideas-page .idea-post:nth-child(2):hover,
  .ideas-page .idea-post:nth-child(3):hover,
  .ideas-page .idea-post:nth-child(4):hover{transform:translateY(-3px)}
}


/* v61 — roomier composer + looser chronological thought field */
.ideas-page .idea-compose{max-width:820px;margin:38px 0 58px}
.ideas-page .idea-compose textarea{
  min-height:150px;
  border-radius:48% 52% 49% 51% / 43% 46% 54% 57%;
  padding:42px 48px 30px;
  font-size:18px;
}
.ideas-page .idea-board{min-height:900px;margin-top:0}
.ideas-page .idea-post:nth-child(1){
  width:44%;left:2%;top:8px;
  transform:rotate(-2.1deg);
}
.ideas-page .idea-post:nth-child(2){
  width:39%;right:3%;top:145px;
  transform:rotate(2.4deg);
}
.ideas-page .idea-post:nth-child(3){
  width:42%;left:12%;top:455px;
  transform:rotate(1.6deg);
}
.ideas-page .idea-post:nth-child(4){
  width:38%;right:7%;top:620px;
  transform:rotate(-2.6deg);
}
.ideas-page .idea-post:nth-child(1):hover{transform:rotate(-2.1deg) translateY(-4px)}
.ideas-page .idea-post:nth-child(2):hover{transform:rotate(2.4deg) translateY(-4px)}
.ideas-page .idea-post:nth-child(3):hover{transform:rotate(1.6deg) translateY(-4px)}
.ideas-page .idea-post:nth-child(4):hover{transform:rotate(-2.6deg) translateY(-4px)}
/* DOM order is newest → oldest, so newest thoughts occupy the upper field. */
@media(max-width:760px){
  .ideas-page .idea-compose{max-width:none}
  .ideas-page .idea-compose textarea{min-height:135px;padding:34px 30px 25px}
  .ideas-page .idea-board{min-height:0}
  .ideas-page .idea-post:nth-child(1),
  .ideas-page .idea-post:nth-child(2),
  .ideas-page .idea-post:nth-child(3),
  .ideas-page .idea-post:nth-child(4){width:auto;left:auto;right:auto;top:auto;transform:none}
}


/* v62 — prevent the drifting idea bubbles from being clipped by the end of the board */
.ideas-page .idea-board{
  min-height:1120px;
  padding-bottom:90px;
  overflow:visible;
}
.ideas-page .idea-post{
  overflow:visible;
}
@media(max-width:760px){
  .ideas-page .idea-board{
    min-height:0;
    padding-bottom:20px;
  }
}


/* v63 — robust fix for clipped Ideas bubbles */
html, body, .app, .main, .ideas-page .content-wrap{
  overflow:visible !important;
}

.ideas-page .idea-board{
  position:relative;
  min-height:1280px !important;
  height:auto !important;
  overflow:visible !important;
  margin-bottom:80px;
}

.ideas-page .idea-post{
  overflow:visible !important;
}

/* ensure the footer cannot visually overlap the absolutely positioned thought field */
.ideas-page .footer{
  position:relative;
  z-index:1;
  clear:both;
  margin-top:0;
}

@media(max-width:760px){
  .ideas-page .idea-board{
    min-height:0 !important;
    margin-bottom:35px;
  }
}


/* =========================================================
   v64 — sitewide cohesion pass
   Preserve the calm informational pages, but let the portal
   show subtle signs that people and ideas are alive inside it.
   ========================================================= */

/* Sidebar rhythm: no category labels, just enough air to imply groups. */
.side-nav .side-link[href="community.html"]{margin-top:0}
.side-nav .side-link[href="research.html"]{margin-top:0}
.side-nav .side-link[href="fundraisers.html"]{margin-top:0}
.side-nav .side-link[href="updates.html"]{margin-top:-4px}
.side-nav .random-side-link{margin-top:58px !important}

/* HOME — signs of activity rather than a conventional dashboard */
.portal-signals{
  display:grid;
  grid-template-columns:1.05fr 1.15fr .95fr .95fr;
  border-bottom:1px solid var(--line);
  min-height:96px;
}
.portal-signal{
  position:relative;
  display:flex;
  gap:12px;
  align-items:center;
  padding:20px 18px;
  border-right:1px solid var(--line);
  color:var(--muted);
  font-family:"Courier New",Courier,monospace;
  font-size:12px;
  line-height:1.35;
  transition:background .18s ease,transform .18s ease,color .18s ease;
}
.portal-signal:last-child{border-right:0}
.portal-signal:hover{
  color:var(--ink);
  background:rgba(251,248,242,.3);
  transform:translateY(-2px);
}
.portal-signal small{
  display:block;
  margin-bottom:5px;
  font-family:Verdana,Geneva,sans-serif;
  font-size:8px;
  letter-spacing:.08em;
  color:var(--muted);
}
.signal-mark{
  flex:0 0 auto;
  font-size:18px;
  color:#687468;
}
.signal-orb{
  width:11px;height:11px;flex:0 0 11px;border-radius:50%;
  background:radial-gradient(circle at 38% 35%,#fff3ad 0 10%,#f3a06f 34%,#d96f74 62%,rgba(217,111,116,.08) 74%,transparent 78%);
  box-shadow:0 0 11px rgba(243,160,111,.34);
}
.signal-resource{transform:translateY(5px)}
.signal-resource:hover{transform:translateY(2px)}
.signal-family{transform:translateY(-3px)}
.signal-family:hover{transform:translateY(-6px)}
@media(max-width:900px){
  .portal-signals{grid-template-columns:repeat(2,1fr)}
  .portal-signal:nth-child(2){border-right:0}
  .portal-signal:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .signal-resource,.signal-family{transform:none}
}
@media(max-width:560px){
  .portal-signals{grid-template-columns:1fr}
  .portal-signal{border-right:0;border-bottom:1px solid var(--line)}
  .portal-signal:last-child{border-bottom:0}
}

/* COMMUNITY — a constellation rather than a spreadsheet of families */
.family-constellation-section{
  padding-top:58px;
}
.family-constellation-section > h2{
  margin-bottom:12px;
}
.family-constellation{
  position:relative;
  display:grid !important;
  grid-template-columns:repeat(12,1fr) !important;
  gap:24px 12px;
  min-height:590px;
  padding:35px 14px 45px;
  border:0 !important;
  background:
    radial-gradient(circle at 16% 18%,rgba(76,85,76,.20) 0 1px,transparent 1.5px),
    radial-gradient(circle at 67% 29%,rgba(76,85,76,.17) 0 1px,transparent 1.5px),
    radial-gradient(circle at 47% 73%,rgba(76,85,76,.15) 0 1px,transparent 1.5px),
    radial-gradient(circle at 88% 82%,rgba(76,85,76,.17) 0 1px,transparent 1.5px);
}
.family-constellation:before,
.family-constellation:after{
  content:"";
  position:absolute;
  height:1px;
  border-top:1px dashed rgba(76,85,76,.16);
  pointer-events:none;
}
.family-constellation:before{
  width:43%;left:12%;top:42%;
  transform:rotate(9deg);
}
.family-constellation:after{
  width:37%;right:10%;top:66%;
  transform:rotate(-13deg);
}
.family-constellation .family-card{
  position:relative;
  z-index:1;
  min-height:0 !important;
  padding:18px 20px 20px !important;
  border:1px solid rgba(76,85,76,.22) !important;
  background:rgba(247,243,233,.78) !important;
  box-shadow:3px 4px 0 rgba(76,85,76,.035);
  align-self:start;
  transition:transform .18s ease,box-shadow .18s ease !important;
}
.family-constellation .family-card:nth-child(1){grid-column:1 / span 4;grid-row:1;transform:rotate(-1.4deg)}
.family-constellation .family-card:nth-child(2){grid-column:7 / span 4;grid-row:1;transform:translateY(55px) rotate(1.2deg)}
.family-constellation .family-card:nth-child(3){grid-column:3 / span 4;grid-row:2;transform:translateY(28px) rotate(.8deg)}
.family-constellation .family-card:nth-child(4){grid-column:9 / span 4;grid-row:2;transform:translateY(-24px) rotate(-1.3deg)}
.family-constellation .family-card:nth-child(5){grid-column:1 / span 4;grid-row:3;transform:translateY(-8px) rotate(1.6deg)}
.family-constellation .family-card:nth-child(6){grid-column:6 / span 5;grid-row:3;transform:translateY(34px) rotate(-.7deg)}
.family-constellation .family-card:hover{
  box-shadow:6px 7px 0 rgba(76,85,76,.055) !important;
  z-index:3;
}
.family-constellation .family-card:nth-child(1):hover{transform:rotate(-1.4deg) translateY(-4px)}
.family-constellation .family-card:nth-child(2):hover{transform:translateY(51px) rotate(1.2deg)}
.family-constellation .family-card:nth-child(3):hover{transform:translateY(24px) rotate(.8deg)}
.family-constellation .family-card:nth-child(4):hover{transform:translateY(-28px) rotate(-1.3deg)}
.family-constellation .family-card:nth-child(5):hover{transform:translateY(-12px) rotate(1.6deg)}
.family-constellation .family-card:nth-child(6):hover{transform:translateY(30px) rotate(-.7deg)}
.family-constellation .family-card-top{
  display:grid !important;
  grid-template-columns:30px 1fr;
  gap:4px 10px !important;
  align-items:center;
}
.family-constellation .member-mark{
  grid-row:1 / span 3;
  width:26px !important;height:26px !important;
}
.family-constellation .family-card-name{font-size:20px}
.family-constellation .family-card-meta{font-size:9px}
.family-constellation .family-card-note-restored{
  margin-top:7px !important;
  font-size:12px !important;
}
@media(max-width:900px){
  .family-constellation{
    grid-template-columns:repeat(2,1fr) !important;
    min-height:0;
    gap:18px;
  }
  .family-constellation:before,.family-constellation:after{display:none}
  .family-constellation .family-card,
  .family-constellation .family-card:nth-child(n){
    grid-column:auto;grid-row:auto;transform:none;
  }
  .family-constellation .family-card:nth-child(n):hover{transform:translateY(-3px)}
}
@media(max-width:560px){
  .family-constellation{grid-template-columns:1fr !important;padding-left:0;padding-right:0}
}

/* FUNDRAISERS — less like repeated modules, more like a small gallery */
.fundraiser-feature-primary{
  grid-template-columns:minmax(250px,340px) 1fr;
  gap:50px;
  padding-top:48px;
}
.fundraiser-feature-primary .fundraiser-graphic{
  min-height:235px;
  transform:rotate(-.45deg);
}
.fundraiser-feature-paintings,
.fundraiser-feature-diana{
  border-bottom:0;
  padding:42px 0 20px;
  gap:48px;
}
.fundraiser-feature-paintings{
  grid-template-columns:minmax(260px,390px) 1fr;
}
.fundraiser-feature-paintings .fundraiser-graphic.paintings{
  transform:rotate(.7deg);
  box-shadow:4px 5px 0 rgba(76,85,76,.045);
}
.fundraiser-feature-paintings .fundraiser-graphic.paintings img{
  height:355px;
}
.fundraiser-feature-diana{
  grid-template-columns:1fr minmax(260px,350px);
}
.fundraiser-feature-diana .fundraiser-graphic{
  grid-column:2;
  grid-row:1;
  transform:rotate(-.65deg);
  box-shadow:4px 5px 0 rgba(76,85,76,.045);
}
.fundraiser-feature-diana .fundraiser-copy{
  grid-column:1;
  grid-row:1;
  align-self:center;
}
.fundraiser-feature-diana .fundraiser-graphic.diana img{
  height:320px;
}
.fundraiser-feature-paintings .fundraiser-copy{align-self:center}
@media(max-width:700px){
  .fundraiser-feature-primary,
  .fundraiser-feature-paintings,
  .fundraiser-feature-diana{grid-template-columns:1fr;gap:26px}
  .fundraiser-feature-diana .fundraiser-graphic,
  .fundraiser-feature-diana .fundraiser-copy{grid-column:1;grid-row:auto}
  .fundraiser-feature-paintings .fundraiser-graphic.paintings img,
  .fundraiser-feature-diana .fundraiser-graphic.diana img{height:260px}
}

/* Keep Research + Newly Diagnosed deliberately sober. No v64 decorative overrides there. */


/* =========================================================
   v65 — make the portal feel inhabited
   Tiny traces of presence, not a busier visual redesign.
   ========================================================= */

.human-trace{
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  color:rgba(76,85,76,.62);
  letter-spacing:.01em;
}
.trace-home{
  width:max-content;
  margin:22px 0 -14px auto;
  transform:rotate(-1.2deg);
}
.trace-pulse{
  display:inline-block;
  width:5px;height:5px;border-radius:50%;
  margin-right:7px;
  background:#83b55d;
  box-shadow:0 0 8px rgba(131,181,93,.45);
  animation:presenceBreath 3.8s ease-in-out infinite;
}
.trace-ideas{
  margin:4px 5% 10px auto;
  width:max-content;
  transform:rotate(1.1deg);
}
.trace-fundraiser{
  width:max-content;
  max-width:70%;
  margin:20px 2% -16px auto;
  transform:rotate(-.8deg);
}
@keyframes presenceBreath{
  0%,100%{opacity:.45;transform:scale(.8)}
  50%{opacity:1;transform:scale(1.25)}
}

/* Community lights now feel awake, but not like notification badges. */
.family-light{
  animation:familyGlow 4.8s ease-in-out infinite;
  animation-delay:var(--pulse-delay,0s);
}
@keyframes familyGlow{
  0%,100%{filter:brightness(.96);box-shadow:0 0 9px rgba(255,185,90,.22)}
  50%{filter:brightness(1.12);box-shadow:0 0 17px rgba(255,185,90,.43)}
}
.map-note-row{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
}
.map-live{
  color:#697569;
  white-space:nowrap;
}
.map-live i{
  display:inline-block;
  width:5px;height:5px;border-radius:50%;
  margin-right:6px;
  background:#83b55d;
  animation:presenceBreath 3.2s ease-in-out infinite;
}

/* Ideas drift by only a few pixels; hover still pauses/raises them. */
@keyframes thoughtDrift{
  0%,100%{margin-top:0}
  50%{margin-top:-5px}
}
.ideas-page .idea-post{
  animation:thoughtDrift 7s ease-in-out infinite !important;
  animation-delay:var(--drift-delay,0s) !important;
}
.ideas-page .idea-post:hover{
  animation-play-state:paused !important;
}

/* A deliberately casual marginal annotation in the clipping archive. */
.resources-feature{position:relative}
.margin-note{
  position:absolute;
  z-index:6;
  font-family:"Courier New",Courier,monospace;
  font-size:11px;
  color:rgba(76,85,76,.58);
  pointer-events:none;
}
.note-progress{
  right:-22px;
  top:178px;
  transform:rotate(7deg);
}

/* One tiny spark wanders through non-clinical pages.
   It is decorative and intentionally easy to miss. */
.wandering-spark{
  position:fixed;
  z-index:20;
  left:calc(220px + 5vw);
  top:32vh;
  width:4px;height:4px;
  border-radius:50%;
  background:#d7b65e;
  box-shadow:0 0 9px rgba(215,182,94,.38);
  opacity:0;
  pointer-events:none;
  animation:wanderSpark 24s ease-in-out infinite;
}
@keyframes wanderSpark{
  0%{opacity:0;transform:translate(0,0) scale(.7)}
  8%{opacity:.55}
  28%{opacity:.35;transform:translate(16vw,-5vh) scale(1)}
  51%{opacity:.6;transform:translate(43vw,9vh) scale(.8)}
  73%{opacity:.3;transform:translate(62vw,-3vh) scale(1.1)}
  92%{opacity:.5}
  100%{opacity:0;transform:translate(74vw,13vh) scale(.7)}
}

/* A little less geometric perfection in the homepage activity traces. */
.portal-signal:nth-child(1) .signal-mark{display:inline-block;transform:rotate(-8deg)}
.portal-signal:nth-child(2) .signal-mark{display:inline-block;transform:rotate(5deg)}
.portal-signal:nth-child(4) .signal-mark{display:inline-block;transform:translateY(-2px)}

@media(max-width:900px){
  .wandering-spark{left:5vw}
  .note-progress{right:8px;top:165px}
}
@media(max-width:560px){
  .trace-home,.trace-ideas,.trace-fundraiser{margin-left:0;margin-right:0;max-width:100%}
  .map-note-row{align-items:flex-start;flex-direction:column;gap:5px}
  .note-progress{display:none}
}

/* Respect people who prefer reduced motion. */
@media(prefers-reduced-motion:reduce){
  .wandering-spark,.family-light,.trace-pulse,.map-live i,.ideas-page .idea-post{
    animation:none !important;
  }
}


/* =========================================================
   v66 — What's happening
   A chronological cross-section of the portal. This is the
   static prototype of what will eventually be database-driven.
   ========================================================= */
.happening{
  padding:52px 0 56px;
  border-bottom:1px solid var(--line);
}
.happening-head{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:flex-end;
  margin-bottom:26px;
}
.happening-head h2{
  font-size:36px;
  margin-top:5px;
}
.happening-note{
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  color:var(--muted);
  padding-bottom:5px;
}
.happening-note span{
  display:inline-block;
  width:5px;height:5px;border-radius:50%;
  background:#83b55d;
  margin-right:6px;
  box-shadow:0 0 8px rgba(131,181,93,.35);
}
.happening-feed{
  border-top:1px solid var(--line);
}
.happening-item{
  display:grid;
  grid-template-columns:155px minmax(0,1fr) 125px;
  gap:24px;
  align-items:start;
  padding:20px 12px 21px 4px;
  border-bottom:1px solid var(--line);
  transition:background .16s ease,transform .16s ease;
}
.happening-item:hover{
  background:rgba(251,248,242,.42);
  transform:translateX(4px);
}
.happening-type{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:3px;
  font-family:Verdana,Geneva,sans-serif;
  font-size:8px;
  letter-spacing:.09em;
  color:var(--muted);
}
.activity-symbol{
  display:inline-flex;
  width:17px;height:17px;
  align-items:center;
  justify-content:center;
  flex:0 0 17px;
  font-family:"Courier New",Courier,monospace;
  font-size:14px;
  color:#667066;
}
.activity-orb{
  width:10px;height:10px;border-radius:50%;
  flex:0 0 10px;
  background:radial-gradient(circle at 38% 35%,#fff3ad 0 10%,#f3a06f 34%,#d96f74 62%,rgba(217,111,116,.08) 74%,transparent 78%);
  box-shadow:0 0 9px rgba(243,160,111,.35);
}
.happening-main h3{
  font-size:20px;
  line-height:1.2;
  margin:0 0 5px;
}
.happening-main p{
  max-width:650px;
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
}
.happening-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  color:var(--muted);
  text-align:right;
}
.happening-meta strong{
  font-weight:normal;
  color:var(--ink);
}
.happening-item:first-child{
  position:relative;
  background:rgba(238,240,230,.34);
}
.happening-item:first-child:before{
  content:"NEW";
  position:absolute;
  left:-35px;
  top:27px;
  font-family:"Courier New",Courier,monospace;
  font-size:8px;
  letter-spacing:.08em;
  color:rgba(76,85,76,.55);
  transform:rotate(-90deg);
}
.happening-item:nth-child(2){padding-left:10px}
.happening-item:nth-child(3){padding-left:1px}
.happening-item:nth-child(4){padding-left:14px}
.happening-item:nth-child(5){padding-left:7px}
.happening-foot{
  display:flex;
  justify-content:flex-end;
  padding-top:12px;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;
  color:rgba(76,85,76,.5);
}
@media(max-width:800px){
  .happening-item{grid-template-columns:110px minmax(0,1fr);gap:12px 18px}
  .happening-meta{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start}
  .happening-item:first-child:before{display:none}
}
@media(max-width:560px){
  .happening-head{display:block}
  .happening-note{margin-top:12px}
  .happening-item{grid-template-columns:1fr;padding:18px 6px !important}
  .happening-meta{grid-column:1}
  .happening-foot{justify-content:flex-start}
}


/* =========================================================
   v68 — a homepage worth returning to
   Keep v66's generous opening, then add delight + consequence.
   ========================================================= */
.wandering-spark{display:none !important}

/* Hero keeps its v66 spacing. The former decorative star becomes a daily surprise. */
.compact-hero{
  grid-template-columns:minmax(0,1fr) 210px !important;
}
.little-thing{
  position:relative;
  align-self:center;
  justify-self:end;
  width:155px;
  padding:17px 15px 18px;
  border:1px solid rgba(76,85,76,.25);
  background:rgba(246,240,223,.68);
  transform:rotate(1.25deg);
  box-shadow:3px 4px 0 rgba(76,85,76,.035);
  font-family:"Courier New",Courier,monospace;
  color:var(--ink);
}
.little-thing:before{
  content:"";
  position:absolute;
  width:43px;height:13px;
  top:-7px;left:54px;
  background:rgba(218,211,187,.62);
  transform:rotate(-3deg);
}
.little-thing-label{
  font-family:Verdana,Geneva,sans-serif;
  font-size:8px;
  line-height:1.25;
  letter-spacing:.11em;
  color:var(--muted);
}
.little-thing-date{
  margin:17px 0 13px;
  font-size:9px;
  color:rgba(76,85,76,.55);
}
.little-thing p{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.34;
}
.little-thing-mark{
  margin-top:15px;
  text-align:right;
  font-size:19px;
  color:#8a7751;
}

/* Community pulse: tiny proof of people, not fake motion. */
.community-pulse{
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  color:var(--muted);
  padding-bottom:5px;
}
.community-pulse span{
  display:inline-block;
  width:5px;height:5px;border-radius:50%;
  margin-right:7px;
  background:#83b55d;
  box-shadow:0 0 7px rgba(131,181,93,.3);
}

/* Make the newest event feel meaningfully newest. */
.happening-lead{
  grid-template-columns:155px minmax(0,1fr) 125px !important;
  padding-top:27px !important;
  padding-bottom:29px !important;
  background:rgba(238,240,230,.42) !important;
}
.happening-lead .happening-main h3{
  font-size:27px;
  max-width:760px;
}
.happening-lead .activity-symbol{
  font-size:18px;
}

/* One changing editorial surprise per day. */
.today-portal{
  position:relative;
  padding:52px 0 62px;
  border-bottom:1px solid var(--line);
}
.today-label{
  margin-bottom:18px;
  font-family:Verdana,Geneva,sans-serif;
  font-size:9px;
  letter-spacing:.1em;
  color:var(--muted);
}
.today-card{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 120px;
  gap:28px;
  max-width:900px;
  margin-left:4%;
  padding:34px 36px 35px 30px;
  border:1px solid rgba(76,85,76,.26);
  background:#f1e8df;
  transform:rotate(-.45deg);
  box-shadow:4px 5px 0 rgba(76,85,76,.045);
}
.today-card:before{
  content:"";
  position:absolute;
  width:68px;height:16px;
  top:-8px;left:44%;
  background:rgba(218,211,187,.64);
  transform:rotate(1.5deg);
}
.today-stamp{
  width:48px;height:48px;
  border:1px solid rgba(76,85,76,.32);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;
  line-height:1.15;
  color:var(--muted);
  transform:rotate(-7deg);
}
.today-kind{
  margin-bottom:11px;
  font-family:Verdana,Geneva,sans-serif;
  font-size:8px;
  letter-spacing:.1em;
  color:var(--muted);
}
.today-copy h2{
  max-width:660px;
  margin:0 0 10px;
  font-size:30px;
  line-height:1.08;
}
.today-copy p{
  max-width:620px;
  margin:0 0 20px;
  font-size:13px;
  line-height:1.55;
  color:var(--muted);
}
.today-link{
  font-family:"Courier New",Courier,monospace;
  font-size:11px;
  border-bottom:1px solid rgba(76,85,76,.35);
}
.today-side-note{
  align-self:end;
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  line-height:1.4;
  color:rgba(76,85,76,.55);
  transform:rotate(4deg);
}

@media(max-width:900px){
  .compact-hero{grid-template-columns:minmax(0,1fr) 170px !important}
  .little-thing{width:135px}
  .today-card{grid-template-columns:60px minmax(0,1fr);margin-left:0}
  .today-side-note{grid-column:2}
}
@media(max-width:650px){
  .compact-hero{grid-template-columns:1fr !important}
  .little-thing{
    justify-self:start;
    width:155px;
    margin-top:18px;
  }
  .today-card{grid-template-columns:1fr;padding:28px 25px}
  .today-side-note{grid-column:1}
  .today-copy h2{font-size:25px}
  .happening-lead{grid-template-columns:1fr !important}
}


/* =========================================================
   v69 — homepage constellation / network organism
   An HTML/SVG portal object: people finding one another,
   somewhere between a constellation and a neural network.
   ========================================================= */

.compact-hero{
  grid-template-columns:minmax(0,1fr) 285px !important;
  gap:28px !important;
}

.hero-side-world{
  position:relative;
  width:285px;
  min-height:330px;
  justify-self:end;
  align-self:center;
}

.portal-constellation{
  position:absolute;
  width:230px;
  height:250px;
  right:44px;
  top:2px;
  opacity:.88;
  transform:rotate(-3deg);
}

.portal-constellation svg{
  width:100%;
  height:100%;
  overflow:visible;
}

.constellation-line{
  fill:none;
  stroke:rgba(76,85,76,.28);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}

.constellation-node{
  fill:#f5f0df;
  stroke:rgba(76,85,76,.56);
  stroke-width:1;
}

.constellation-node.node-3{fill:#edf0e8}
.constellation-node.node-4{fill:#f1e8df}
.constellation-node.node-6{fill:#eef0e6}
.constellation-node.node-8{fill:#f6f0df}

.constellation-node.glow-a{
  fill:#d7b65e;
  stroke:#9b8241;
  filter:drop-shadow(0 0 5px rgba(215,182,94,.42));
}

.constellation-node.glow-b{
  fill:#83b55d;
  stroke:#6b8f4f;
  filter:drop-shadow(0 0 6px rgba(131,181,93,.4));
}

.constellation-caption{
  position:absolute;
  left:7px;
  bottom:-3px;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;
  color:rgba(76,85,76,.5);
  letter-spacing:.01em;
  transform:rotate(-2deg);
}

.hero-side-world .little-thing{
  position:absolute;
  right:0;
  bottom:0;
  width:145px;
  z-index:2;
  transform:rotate(1.8deg);
}

/* Slightly irregular nodes rather than a mathematically perfect diagram */
.node-1{transform:translate(1px,-1px)}
.node-2{transform:translate(-1px,1px)}
.node-4{transform:translate(1px,1px)}
.node-5{transform:translate(-1px,-1px)}
.node-7{transform:translate(1px,0)}
.node-9{transform:translate(-1px,1px)}

@media(max-width:900px){
  .compact-hero{
    grid-template-columns:minmax(0,1fr) 230px !important;
  }
  .hero-side-world{
    width:230px;
    min-height:300px;
  }
  .portal-constellation{
    width:195px;
    height:215px;
    right:28px;
  }
  .hero-side-world .little-thing{
    width:130px;
  }
}

@media(max-width:650px){
  .compact-hero{grid-template-columns:1fr !important}
  .hero-side-world{
    width:100%;
    min-height:295px;
    margin-top:8px;
    justify-self:start;
  }
  .portal-constellation{
    left:0;
    right:auto;
    top:0;
  }
  .hero-side-world .little-thing{
    left:125px;
    right:auto;
    bottom:0;
  }
}

/* v70 — remove constellation experiment; return to the simpler v68 hero */
.compact-hero{
  grid-template-columns:minmax(0,1fr) 210px !important;
  gap:44px !important;
}
.compact-hero > .little-thing{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  width:155px !important;
  align-self:center;
  justify-self:end;
  transform:rotate(1.25deg) !important;
}
@media(max-width:900px){
  .compact-hero{grid-template-columns:minmax(0,1fr) 170px !important}
  .compact-hero > .little-thing{width:135px !important}
}
@media(max-width:650px){
  .compact-hero{grid-template-columns:1fr !important}
  .compact-hero > .little-thing{
    justify-self:start;
    width:155px !important;
    margin-top:18px;
  }
}

/* v71 — move Today's Little Thing into the open dotted-box area */
.compact-hero{
  grid-template-columns:minmax(0,1fr) 290px !important;
}
.compact-hero > .little-thing{
  justify-self:start !important;
  margin-left:8px !important;
  width:155px !important;
  transform:rotate(1.25deg) !important;
}
@media(max-width:900px){
  .compact-hero{
    grid-template-columns:minmax(0,1fr) 220px !important;
  }
  .compact-hero > .little-thing{
    margin-left:0 !important;
  }
}
@media(max-width:650px){
  .compact-hero{grid-template-columns:1fr !important}
  .compact-hero > .little-thing{
    justify-self:start !important;
    margin-left:0 !important;
  }
}

/* v72 — nudge Today's Little Thing upward */
.compact-hero > .little-thing{
  transform:translateY(-34px) rotate(1.25deg) !important;
}
@media(max-width:650px){
  .compact-hero > .little-thing{
    transform:rotate(1.25deg) !important;
  }
}

/* v75 — Why we're here */
.why-home-link{
  display:inline-block;
  margin-top:18px;
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  color:var(--muted);
  border-bottom:1px solid rgba(76,85,76,.25);
}
.why-home-link:hover{color:var(--ink)}

.why-page{
  max-width:980px;
  padding-bottom:90px;
}
.why-page > h1{
  margin-bottom:55px;
}
.why-statement{
  max-width:900px;
}
.why-opening{
  max-width:840px;
  margin:0 0 58px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,5.4vw,74px);
  line-height:1.02;
  letter-spacing:-.025em;
}
.why-body{
  max-width:650px;
  margin-left:12%;
}
.why-body p{
  margin:0 0 28px;
  font-size:17px;
  line-height:1.65;
}
.why-body .why-question{
  margin:52px 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  line-height:1.3;
}
.why-welcome{
  margin:82px 0 0 34%;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  line-height:1.25;
}
.why-welcome p{margin:0 0 6px}
.why-welcome p:last-child{
  font-style:italic;
}
@media(max-width:700px){
  .why-page > h1{margin-bottom:38px}
  .why-opening{font-size:clamp(38px,11vw,58px);margin-bottom:42px}
  .why-body{margin-left:0}
  .why-body p{font-size:16px}
  .why-body .why-question{font-size:24px;margin:40px 0}
  .why-welcome{margin:58px 0 0;font-size:26px}
}

/* v76 — Why We're Here typography: consistent with the rest of the portal */
.why-page > h1{
  margin-bottom:42px !important;
}
.why-opening{
  max-width:720px !important;
  margin:0 0 32px !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:32px !important;
  line-height:1.18 !important;
  letter-spacing:0 !important;
}
.why-body{
  max-width:720px !important;
  margin-left:0 !important;
}
.why-body p,
.why-body .why-question{
  margin:0 0 26px !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:17px !important;
  line-height:1.62 !important;
}
.why-welcome{
  margin:46px 0 0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:20px !important;
  line-height:1.45 !important;
}
.why-welcome p{margin:0 0 5px !important}
@media(max-width:700px){
  .why-opening{font-size:28px !important}
  .why-body p,
  .why-body .why-question{font-size:16px !important}
  .why-welcome{font-size:19px !important}
}

/* v77 — keep Why We're Here in the portal's existing type system */
.why-opening,
.why-body p,
.why-body .why-question,
.why-welcome{
  font-family:inherit !important;
}
.why-welcome p:last-child{
  font-style:normal !important;
}

/* v78 — remove Today's Little Thing and restore the original hero spark */
.compact-hero{
  grid-template-columns:minmax(0,1fr) 105px !important;
  gap:44px !important;
}
.compact-hero .hero-spark{
  display:block !important;
  width:58px !important;
  height:58px !important;
  justify-self:end !important;
  align-self:center !important;
  transform:none !important;
}
@media(max-width:700px){
  .compact-hero{grid-template-columns:1fr auto !important}
}

/* v79 — give the thought bubbles more breathing room */
@media(min-width:761px){
  .ideas-page .idea-post{
    padding:36px 42px 34px !important;
  }
  .ideas-page .idea-post:nth-child(1){
    width:54% !important;
  }
  .ideas-page .idea-post:nth-child(2){
    width:50% !important;
  }
  .ideas-page .idea-post:nth-child(3){
    width:52% !important;
  }
  .ideas-page .idea-post:nth-child(4){
    width:49% !important;
  }
  .ideas-page .idea-body{
    max-width:100% !important;
  }
  .ideas-page .idea-board{
    min-height:1380px !important;
  }
}

/* v80 — warmer body voice + subtle signs of presence */

/* Keep headings / mono metadata intact; warm up ordinary reading text. */
body{
  font-family:"Trebuchet MS","Helvetica Neue",Arial,sans-serif;
}
.kicker,.eyebrow,.meta,.side-nav,.topbar,.brand,.brand-sub,
.idea-meta,.idea-actions,.happening-meta,.happening-note,
.footer,.why-home-link{
  font-family:"Courier New",Courier,monospace;
}

/* Human-presence cues: restrained, not decorative. */
body.home-page .happening-item:first-child,
body.ideas-page .idea-post:first-child{
  position:relative;
}
body.home-page .happening-item:first-child:after,
body.ideas-page .idea-post:first-child:before{
  content:"new";
  position:absolute;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;
  letter-spacing:.08em;
  color:rgba(103,112,96,.62);
  text-transform:lowercase;
}
body.home-page .happening-item:first-child:after{
  right:10px;
  top:9px;
}
body.ideas-page .idea-post:first-child:before{
  width:auto !important;
  height:auto !important;
  left:auto !important;
  right:38px !important;
  top:18px !important;
  bottom:auto !important;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
}

/* Let family lights breathe almost imperceptibly. */
.family-light{
  animation:familyPresence 5.8s ease-in-out infinite !important;
}
@keyframes familyPresence{
  0%,100%{filter:brightness(.98);transform:scale(1)}
  50%{filter:brightness(1.08);transform:scale(1.035)}
}

/* A tiny recent-activity pulse on the homepage. */
.happening-note span{
  animation:recentPulse 3.8s ease-in-out infinite;
}
@keyframes recentPulse{
  0%,100%{opacity:.55}
  50%{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .family-light,.happening-note span{animation:none !important}
}

/* v81 — more recognizable hand-drawn map + content-safe idea bubbles */

/* Keep the map charmingly imperfect, but visually closer to a real world map. */
.world-land{
  stroke-width:1.15 !important;
  opacity:.72;
}

/* Idea bubbles should always contain their full text comfortably. */
@media(min-width:761px){
  .ideas-page .idea-post{
    box-sizing:border-box !important;
    width:56% !important;
    min-height:320px !important;
    height:auto !important;
    padding:54px 58px 48px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    overflow:visible !important;
  }

  .ideas-page .idea-title{
    max-width:88% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .ideas-page .idea-body{
    max-width:88% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .ideas-page .idea-actions{
    margin-top:8px !important;
  }

  /* Re-space the floating field so larger, variable-height bubbles never collide. */
  .ideas-page .idea-post:nth-child(1){
    left:0 !important;
    right:auto !important;
    top:10px !important;
  }
  .ideas-page .idea-post:nth-child(2){
    right:0 !important;
    left:auto !important;
    top:390px !important;
  }
  .ideas-page .idea-post:nth-child(3){
    left:7% !important;
    right:auto !important;
    top:780px !important;
  }
  .ideas-page .idea-post:nth-child(4){
    right:3% !important;
    left:auto !important;
    top:1170px !important;
  }
  .ideas-page .idea-board{
    min-height:1580px !important;
  }
}

@media(max-width:760px){
  .ideas-page .idea-post{
    min-height:0 !important;
    height:auto !important;
    padding:38px 30px 34px !important;
  }
}

/* v82 — map reads as geography first, drawing second */
.world-land,
.world-island{
  fill:none;
  stroke:rgba(76,85,76,.48);
  stroke-width:1.05;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.world-island{stroke-width:.9}

/* v83 — 95% map, 5% personality */
.accurate-world path{
  fill:none;
  stroke:rgba(76,85,76,.48);
  stroke-width:1;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
/* the playfulness now comes from the colored family lights and soft glow,
   rather than distorting the geography */
.accurate-world path:nth-child(1){transform:rotate(-.15deg);transform-origin:center}
.accurate-world path:nth-child(5){transform:rotate(.12deg);transform-origin:center}

/* v84 — map based directly on supplied geographic reference */
.reference-world-map{
  overflow:visible;
}
.reference-world-map image{
  opacity:.16;
  mix-blend-mode:multiply;
  filter:grayscale(1);
}
/* Family lights remain the playful 5%. */
.community-map .family-light{
  z-index:3;
}

/* v85 — experimental combined conversation stream */
.icon-conversations{
  font-family:"Courier New",Courier,monospace;
  font-size:18px;
  line-height:1;
}
.conversations-page{max-width:980px}
.conversations-intro{padding-bottom:48px}
.conversation-compose{
  margin-top:42px;
  max-width:760px;
  padding:24px 28px 22px;
  border:1px solid var(--line);
  border-radius:28px 36px 30px 34px;
  background:rgba(255,255,255,.12);
}
.compose-top{
  display:flex;align-items:center;gap:8px;
  font-family:"Courier New",Courier,monospace;
  font-size:10px;color:var(--muted);
}
.compose-prompt{
  margin:20px 0 22px;
  font-size:22px;color:rgba(30,43,35,.55);
}
.compose-types{display:flex;gap:8px;flex-wrap:wrap}
.compose-types button{
  border:1px solid var(--line);
  background:transparent;
  border-radius:999px;
  padding:6px 11px;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;color:var(--muted);
}
.conversation-stream{
  border-top:1px solid var(--line);
  padding-top:38px;
}
.stream-head{
  display:flex;justify-content:space-between;align-items:end;
  margin-bottom:12px;
}
.stream-head h2{font-size:32px;margin:8px 0 0}
.stream-filter{
  font-family:"Courier New",Courier,monospace;
  font-size:10px;color:var(--muted);padding-bottom:5px;
}
.conversation-post{
  position:relative;
  padding:30px 20px 30px 4px;
  border-top:1px solid rgba(76,85,76,.19);
  max-width:850px;
}
.conversation-post:first-of-type{border-top:0}
.post-meta{
  display:flex;align-items:center;gap:9px;
  font-family:"Courier New",Courier,monospace;
  font-size:10px;color:var(--muted);
}
.post-meta .family-light{
  position:static !important;
  display:inline-block;width:9px;height:9px;
  flex:0 0 9px;
}
.post-tag{
  margin-left:5px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:3px 8px;
  font-size:8px;
  letter-spacing:.04em;
}
.tag-idea{background:rgba(225,232,220,.55)}
.tag-question{background:rgba(232,225,218,.5)}
.tag-update{background:rgba(224,232,234,.5)}
.tag-celebration{background:rgba(240,229,196,.52)}
.tag-sharing{background:rgba(232,224,234,.42)}
.conversation-post h3{
  margin:15px 0 10px;
  font-family:"Courier New",Courier,monospace;
  font-weight:400;font-size:24px;line-height:1.2;
}
.conversation-post p{
  max-width:690px;margin:0;
  font-size:15px;line-height:1.55;
}
.post-actions{
  display:flex;gap:24px;margin-top:17px;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;color:var(--muted);
}
.celebration-post{padding-left:18px}
.celebration-post:before{
  content:"";
  position:absolute;left:0;top:28px;bottom:28px;
  width:2px;background:rgba(214,180,74,.35);
}
@media(max-width:700px){
  .conversation-compose{padding:20px}
  .stream-head{align-items:start}
  .conversation-post h3{font-size:21px}
  .post-meta{flex-wrap:wrap}
}

/* v86 — Message Board label + chat bubble icon */
.icon-message-board{
  position:relative;
  width:17px;
  height:13px;
  border:1px solid currentColor;
  border-radius:5px 5px 5px 4px;
  box-sizing:border-box;
}
.icon-message-board:after{
  content:"";
  position:absolute;
  left:3px;
  bottom:-4px;
  width:5px;
  height:5px;
  border-left:1px solid currentColor;
  transform:skewY(-38deg);
  background:var(--bg);
}

/* v87 — clickable Message Board category filters */
.message-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:4px 0 30px;
  padding:0 0 24px;
  border-bottom:1px solid var(--line);
}
.message-filter{
  appearance:none;
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  border-radius:999px;
  padding:8px 14px 7px;
  font:inherit;
  font-size:13px;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.message-filter:hover{
  color:var(--ink);
  transform:translateY(-1px);
}
.message-filter.active{
  color:var(--ink);
  background:rgba(238,240,230,.72);
  border-color:rgba(76,85,76,.34);
}
.conversation-post[hidden]{
  display:none !important;
}

/* v88 — Message Board borrows the varied thread-card language from Ask a Question */
.conversations-page .conversation-stream{border-top:0;padding-top:8px}
.conversations-page .stream-head{margin-bottom:24px}
.conversations-page .conversation-post{box-sizing:border-box;border:1px solid rgba(76,85,76,.22)!important;border-radius:24px;padding:27px 31px 25px!important;margin:0 0 18px;max-width:none;transition:transform .16s ease,box-shadow .16s ease}
.conversations-page .conversation-post:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(45,52,45,.045)}
.conversations-page .conversation-post[data-category="idea"]{background:rgba(225,233,220,.55);width:88%;margin-left:2%;border-radius:29px 22px 27px 24px}
.conversations-page .conversation-post[data-category="update"]{background:rgba(222,232,234,.48);width:94%;margin-left:5%;border-radius:22px 30px 24px 27px}
.conversations-page .conversation-post[data-category="question"]{background:rgba(238,228,220,.48);width:90%;margin-left:0;border-radius:27px 23px 31px 22px}
.conversations-page .conversation-post[data-category="celebration"]{background:rgba(241,229,194,.48);width:86%;margin-left:9%;border-radius:24px 31px 23px 29px}
.conversations-page .conversation-post[data-category="sharing"]{background:rgba(232,224,234,.43);width:92%;margin-left:3%;border-radius:30px 23px 26px 31px}
.conversations-page .post-tag{background:rgba(255,255,255,.24);border-color:rgba(76,85,76,.18)}
.conversations-page .conversation-post h3{font-size:25px;margin-top:17px}
.conversations-page .conversation-post p{max-width:720px}
.conversations-page .celebration-post:before{display:none}
@media(max-width:700px){.conversations-page .conversation-post,.conversations-page .conversation-post[data-category]{width:100%!important;margin-left:0!important;padding:24px 22px 22px!important}}

/* =========================================================
   SETH — living network homepage experiment
   Calmness stays constant; actual community activity becomes visible.
   ========================================================= */

.seth-home .content-wrap{max-width:1080px}
.seth-network{padding-bottom:38px}
.seth-network h1{margin-bottom:12px}
.seth-network .lead{margin-bottom:0}

.network-status{
  display:flex;
  gap:26px;
  flex-wrap:wrap;
  margin:34px 0 14px;
  font-family:"Courier New",Courier,monospace;
  font-size:10px;
  color:var(--muted);
}
.network-status span{display:flex;align-items:center;gap:6px}
.network-status b{font-weight:400;color:var(--ink)}
.network-status .presence-dot{width:6px;height:6px}

.living-map{
  position:relative;
  width:100%;
  max-width:960px;
  aspect-ratio:1000/520;
  margin:2px 0 0;
  overflow:visible;
}
.living-map > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.11;
  filter:grayscale(1);
  mix-blend-mode:multiply;
}
.network-light{
  position:absolute;
  z-index:4;
  width:13px;height:13px;
  border:0;border-radius:50%;
  padding:0;
  background:#9aa88c;
  box-shadow:0 0 0 5px rgba(154,168,140,.10),0 0 18px rgba(154,168,140,.28);
  animation:networkBreathe 9s ease-in-out infinite;
}
.nl-nc{left:23.5%;top:37%;background:#d5a66e}
.nl-toronto{left:20%;top:29%;background:#b69ab7;animation-delay:-4s}
.nl-london{left:48.5%;top:29%;background:#9aab8d;animation-delay:-7s}
.nl-milan{left:52%;top:33%;background:#c49b8d;animation-delay:-2s}
.nl-madrid{left:47%;top:36%;background:#9fb4bd;animation-delay:-5s}
.nl-seoul{left:78%;top:36%;background:#d4a3a2;animation-delay:-1s}
.nl-sydney{left:86%;top:72%;background:#9db39c;animation-delay:-6s}
.nl-brazil{left:30%;top:69%;background:#c9b26e;animation-delay:-3s}

.network-lines{
  position:absolute;inset:0;
  width:100%;height:100%;
  z-index:2;overflow:visible;
}
.connection{
  fill:none;
  stroke:rgba(91,106,92,.24);
  stroke-width:1;
  stroke-linecap:round;
  stroke-dasharray:7 9;
  animation:connectionTravel 18s linear infinite;
}
.c2{animation-delay:-9s;opacity:.72}

.map-whisper{
  position:absolute;
  z-index:5;
  max-width:185px;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;
  line-height:1.45;
  color:rgba(62,73,64,.68);
  opacity:.78;
}
.map-whisper span{color:var(--ink)}
.map-whisper small{display:block;margin-top:2px;font-size:8px;opacity:.7}
.whisper-one{left:79%;top:22%}
.whisper-two{left:5%;top:46%}

.since-here{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:28px 0 32px;
  margin:10px 0 58px;
}
.section-label{
  font-family:"Courier New",Courier,monospace;
  font-size:9px;
  letter-spacing:.08em;
  color:var(--muted);
}
.since-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:22px;
}
.since-grid a{
  display:flex;
  align-items:baseline;
  gap:9px;
  color:var(--ink);
}
.since-grid b{
  font-family:"Courier New",Courier,monospace;
  font-size:22px;
  font-weight:400;
}
.since-grid span{font-size:12px;color:var(--muted)}

.network-now{padding-bottom:54px}
.now-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:22px;
}
.now-head h2{
  margin:9px 0 0;
  font-size:29px;
  font-weight:400;
}
.now-head > a{
  font-family:"Courier New",Courier,monospace;
  font-size:9px;color:var(--muted);
  padding-bottom:5px;
}
.now-stream{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:13px;
  max-width:920px;
}
.now-item{
  position:relative;
  min-height:150px;
  padding:24px 27px 22px;
  border:1px solid rgba(76,85,76,.18);
  border-radius:25px 31px 27px 23px;
  background:rgba(225,233,220,.36);
  color:var(--ink);
}
.now-item:nth-child(2){
  background:rgba(232,225,218,.34);
  border-radius:30px 23px 29px 25px;
  transform:translateY(16px);
}
.now-item:nth-child(3){
  background:rgba(222,232,234,.34);
  border-radius:22px 30px 24px 29px;
}
.now-item.warm{
  background:rgba(241,229,194,.32);
  border-radius:28px 23px 31px 24px;
  transform:translateY(16px);
}
.now-place{
  display:block;
  margin-bottom:13px;
  font-family:"Courier New",Courier,monospace;
  font-size:8px;letter-spacing:.08em;color:var(--muted);
}
.now-item strong{
  display:block;
  max-width:92%;
  font-size:17px;
  font-weight:400;
  line-height:1.35;
}
.now-item p{
  max-width:92%;
  margin:10px 0 20px;
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
}
.now-item small{
  position:absolute;
  left:27px;bottom:18px;
  font-family:"Courier New",Courier,monospace;
  font-size:8px;color:rgba(76,85,76,.55);
}

.network-memory{
  display:flex;
  align-items:center;
  gap:18px;
  padding:48px 0 74px;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.network-memory p{margin:0;font-size:11px}
.network-memory p b{font-weight:400;color:var(--ink)}
.network-memory > a{
  margin-left:auto;
  font-family:"Courier New",Courier,monospace;
  font-size:9px;color:var(--muted);
}
.memory-mark{
  position:relative;
  width:62px;height:30px;
}
.memory-mark i{
  position:absolute;
  width:3px;height:3px;border-radius:50%;
  background:rgba(76,85,76,.42);
}
.memory-mark i:nth-child(1){left:2px;top:17px}
.memory-mark i:nth-child(2){left:10px;top:7px}
.memory-mark i:nth-child(3){left:16px;top:21px}
.memory-mark i:nth-child(4){left:23px;top:12px}
.memory-mark i:nth-child(5){left:30px;top:3px}
.memory-mark i:nth-child(6){left:36px;top:19px}
.memory-mark i:nth-child(7){left:43px;top:9px}
.memory-mark i:nth-child(8){left:50px;top:24px}
.memory-mark i:nth-child(9){left:57px;top:14px}
.memory-mark i:nth-child(10){left:28px;top:27px}
.memory-mark i:nth-child(11){left:6px;top:27px}
.memory-mark i:nth-child(12){left:52px;top:3px}

@keyframes networkBreathe{
  0%,100%{transform:scale(.94);filter:brightness(.98)}
  50%{transform:scale(1.08);filter:brightness(1.05)}
}
@keyframes connectionTravel{
  from{stroke-dashoffset:0;opacity:.15}
  45%{opacity:.38}
  to{stroke-dashoffset:-160;opacity:.15}
}
@media(prefers-reduced-motion:reduce){
  .network-light,.connection{animation:none !important}
}
@media(max-width:760px){
  .network-status{gap:14px}
  .map-whisper{display:none}
  .since-grid{grid-template-columns:1fr 1fr;gap:15px 20px}
  .now-head{display:block}
  .now-head > a{display:inline-block;margin-top:12px}
  .now-stream{grid-template-columns:1fr}
  .now-item,.now-item:nth-child(2),.now-item.warm{transform:none}
  .network-memory{align-items:flex-start;flex-wrap:wrap}
  .network-memory > a{margin-left:0;width:100%}
}

/* =========================================================
   SETH 02 — quiet when untouched, alive when you touch it
   ========================================================= */

/* Editorial links wake up rather than shouting. */
.seth-home a{
  transition:color .22s ease, opacity .22s ease, letter-spacing .22s ease;
}
.seth-home .now-head > a:hover,
.seth-home .network-memory > a:hover{
  color:var(--ink);
  letter-spacing:.015em;
}
.seth-home .now-head > a:hover,
.seth-home .network-memory > a:hover{
  text-shadow:0 0 12px rgba(122,148,109,.16);
}

/* The world stays calm; the people wake up. */
.network-light{
  cursor:pointer;
  transition:transform .45s ease, box-shadow .45s ease, filter .45s ease, opacity .45s ease;
}
.network-light:hover,
.network-light.cursor-near{
  transform:scale(1.35);
  filter:brightness(1.08) saturate(1.08);
  box-shadow:
    0 0 0 7px rgba(154,168,140,.10),
    0 0 24px rgba(154,168,140,.48);
  z-index:8;
}
.nl-nc:hover,.nl-nc.cursor-near{box-shadow:0 0 0 7px rgba(213,166,110,.11),0 0 26px rgba(213,166,110,.50)}
.nl-seoul:hover,.nl-seoul.cursor-near{box-shadow:0 0 0 7px rgba(212,163,162,.11),0 0 26px rgba(212,163,162,.52)}
.nl-sydney:hover,.nl-sydney.cursor-near{box-shadow:0 0 0 7px rgba(157,179,156,.11),0 0 26px rgba(157,179,156,.50)}

/* Connection lines are nearly invisible until a rare network event. */
.connection{
  opacity:.09;
  transition:opacity 1.5s ease, stroke-width 1.5s ease;
}
.connection.network-event{
  opacity:.58;
  stroke-width:1.25;
  animation:networkEventTravel 8.5s ease-in-out 1;
}
@keyframes networkEventTravel{
  0%{stroke-dashoffset:80;opacity:0}
  18%{opacity:.58}
  78%{opacity:.48}
  100%{stroke-dashoffset:-170;opacity:0}
}

/* Activity cards regain the tactile / colorful quality of the earlier portal. */
.now-item{
  overflow:hidden;
  transform:translateY(var(--visit-nudge,0px));
  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    background .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}
.now-item:nth-child(2),
.now-item.warm{
  transform:translateY(calc(16px + var(--visit-nudge,0px)));
}
.now-item:after{
  content:"";
  position:absolute;
  width:90px;height:90px;
  right:-38px;top:-44px;
  border-radius:50%;
  opacity:0;
  background:radial-gradient(circle,rgba(255,255,255,.58),rgba(255,255,255,0) 68%);
  transition:opacity .45s ease, transform .65s ease;
}
.now-item:hover{
  transform:translateY(calc(var(--visit-nudge,0px) - 4px));
  border-color:rgba(76,85,76,.30);
  box-shadow:0 12px 34px rgba(47,58,49,.055);
}
.now-item:nth-child(2):hover,
.now-item.warm:hover{
  transform:translateY(calc(12px + var(--visit-nudge,0px)));
}
.now-item:hover:after{
  opacity:1;
  transform:translate(-12px,12px) scale(1.25);
}
.now-item:nth-child(1):hover{background:rgba(214,232,206,.55)}
.now-item:nth-child(2):hover{background:rgba(238,218,207,.52)}
.now-item:nth-child(3):hover{background:rgba(208,231,235,.50)}
.now-item:nth-child(4):hover{background:rgba(244,225,170,.48)}

/* "Since you were last here" behaves like four quiet little doors. */
.since-grid a{
  position:relative;
  padding:8px 10px 10px;
  margin:-8px -10px -10px;
  border-radius:13px;
  transition:background .28s ease, transform .28s ease;
}
.since-grid a:hover{
  background:rgba(229,234,218,.42);
  transform:translateY(-2px);
}
.since-grid a:nth-child(2):hover{background:rgba(220,231,235,.40)}
.since-grid a:nth-child(3):hover{background:rgba(239,225,216,.40)}
.since-grid a:nth-child(4):hover{background:rgba(234,224,238,.38)}

/* A tiny pulse whose complexity suggests how active the portal is. */
.portal-pulse{
  width:35px;height:17px;
  position:relative;
  display:inline-block !important;
  margin-left:2px;
}
.portal-pulse i{
  position:absolute;
  width:3px;height:3px;border-radius:50%;
  background:rgba(112,143,93,.48);
  box-shadow:0 0 7px rgba(112,143,93,.18);
  animation:pulseConstellation 7s ease-in-out infinite;
}
.portal-pulse i:nth-child(1){left:2px;top:9px}
.portal-pulse i:nth-child(2){left:12px;top:3px;animation-delay:-2s}
.portal-pulse i:nth-child(3){left:21px;top:11px;animation-delay:-4s}
.portal-pulse i:nth-child(4){left:31px;top:5px;animation-delay:-6s}
@keyframes pulseConstellation{
  0%,100%{opacity:.28;transform:scale(.8)}
  50%{opacity:.95;transform:scale(1.35)}
}

/* Presence leaves tiny traces on current activity. */
.reading-lights{
  display:inline-flex;
  gap:3px;
  margin-left:6px;
  vertical-align:middle;
}
.reading-lights b{
  display:block;
  width:4px;height:4px;
  border-radius:50%;
  background:rgba(117,150,99,.62);
  box-shadow:0 0 6px rgba(117,150,99,.20);
  animation:readerGlow 5.5s ease-in-out infinite;
}
.reading-lights b:nth-child(2){animation-delay:-1.8s;background:rgba(194,143,137,.58)}
.reading-lights b:nth-child(3){animation-delay:-3.6s;background:rgba(126,166,176,.58)}
@keyframes readerGlow{
  0%,100%{opacity:.38}
  50%{opacity:1;box-shadow:0 0 10px currentColor}
}

/* The site's age contains a small discovery. */
.community-age{
  position:relative;
  min-width:315px;
}
.community-age .age-main,
.community-age .age-detail{
  transition:opacity .28s ease, transform .28s ease;
}
.community-age .age-detail{
  position:absolute;
  left:0;top:0;
  opacity:0;
  transform:translateY(4px);
  color:var(--ink);
}
.community-age:hover .age-main{
  opacity:0;
  transform:translateY(-4px);
}
.community-age:hover .age-detail{
  opacity:1;
  transform:translateY(0);
}

/* Memory constellation wakes gently on hover. */
.memory-mark i{
  transition:transform .4s ease, opacity .4s ease, box-shadow .4s ease;
}
.network-memory:hover .memory-mark i{
  transform:scale(1.35);
  opacity:.9;
  box-shadow:0 0 8px rgba(107,135,95,.22);
}
.network-memory:hover .memory-mark i:nth-child(even){
  transform:scale(.95) translateY(-2px);
}

/* A little more life in the map whisper labels. */
.map-whisper{
  transition:opacity .35s ease, transform .35s ease, color .35s ease;
}
.map-whisper:hover{
  opacity:1;
  transform:translateY(-2px);
  color:var(--ink);
}

@media(max-width:760px){
  .now-item:nth-child(2),
  .now-item.warm,
  .now-item:nth-child(2):hover,
  .now-item.warm:hover{
    transform:translateY(var(--visit-nudge,0px));
  }
  .community-age{min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .portal-pulse i,.reading-lights b,.connection.network-event{animation:none !important}
}

/* =========================================================
   SETH 03 — section color rooms
   Same house, different atmosphere.
   ========================================================= */

body{
  transition:background-color .78s ease;
}

/* Keep the navigation visually stable while the room behind it changes. */
.sidebar,
.site-sidebar{
  background:var(--bg);
}

/* Section atmospheres — deliberately quiet but clearly perceptible. */
body.room-home{background-color:#f3f1e8 !important;}
body.room-newly{background-color:#e9f0ef !important;}
body.room-community{background-color:#eeeaf1 !important;}
body.room-message{background-color:#f3e9df !important;}
body.room-questions{background-color:#f2e6e4 !important;}
body.room-ideas{background-color:#f3efd9 !important;}
body.room-research{background-color:#e5edef !important;}
body.room-fundraisers{background-color:#e6eee0 !important;}
body.room-resources{background-color:#f1e8d9 !important;}
body.room-updates{background-color:#eee8f0 !important;}
body.room-about{background-color:#f0eee5 !important;}
body.room-random{background-color:#ecebdd !important;}

/* Let each room tint its interactive details too. */
.room-fundraisers a:hover{color:#56704e;}
.room-research a:hover{color:#506f78;}
.room-ideas a:hover{color:#84722f;}
.room-questions a:hover{color:#8a625e;}
.room-message a:hover{color:#886c54;}
.room-community a:hover{color:#75667f;}
.room-resources a:hover{color:#8a6f45;}
.room-updates a:hover{color:#75647b;}

/* A soft edge makes the fixed navigation feel like the neutral hallway. */
@media(min-width:761px){
  .sidebar,
  .site-sidebar{
    box-shadow:10px 0 24px rgba(50,55,48,.018);
  }
}

/* =========================================================
   SETH 04 — each section is one complete color atmosphere
   Top + left navigation now travel with the room.
   ========================================================= */

body.room-home,
body.room-home .sidebar,
body.room-home .site-sidebar,
body.room-home .topbar,
body.room-home .site-topbar{background-color:#f3f1e8 !important;}

body.room-newly,
body.room-newly .sidebar,
body.room-newly .site-sidebar,
body.room-newly .topbar,
body.room-newly .site-topbar{background-color:#e9f0ef !important;}

body.room-community,
body.room-community .sidebar,
body.room-community .site-sidebar,
body.room-community .topbar,
body.room-community .site-topbar{background-color:#eeeaf1 !important;}

body.room-message,
body.room-message .sidebar,
body.room-message .site-sidebar,
body.room-message .topbar,
body.room-message .site-topbar{background-color:#f3e9df !important;}

body.room-questions,
body.room-questions .sidebar,
body.room-questions .site-sidebar,
body.room-questions .topbar,
body.room-questions .site-topbar{background-color:#f2e6e4 !important;}

body.room-ideas,
body.room-ideas .sidebar,
body.room-ideas .site-sidebar,
body.room-ideas .topbar,
body.room-ideas .site-topbar{background-color:#f3efd9 !important;}

body.room-research,
body.room-research .sidebar,
body.room-research .site-sidebar,
body.room-research .topbar,
body.room-research .site-topbar{background-color:#e5edef !important;}

body.room-fundraisers,
body.room-fundraisers .sidebar,
body.room-fundraisers .site-sidebar,
body.room-fundraisers .topbar,
body.room-fundraisers .site-topbar{background-color:#e6eee0 !important;}

body.room-resources,
body.room-resources .sidebar,
body.room-resources .site-sidebar,
body.room-resources .topbar,
body.room-resources .site-topbar{background-color:#f1e8d9 !important;}

body.room-updates,
body.room-updates .sidebar,
body.room-updates .site-sidebar,
body.room-updates .topbar,
body.room-updates .site-topbar{background-color:#eee8f0 !important;}

body.room-about,
body.room-about .sidebar,
body.room-about .site-sidebar,
body.room-about .topbar,
body.room-about .site-topbar{background-color:#f0eee5 !important;}

body.room-random,
body.room-random .sidebar,
body.room-random .site-sidebar,
body.room-random .topbar,
body.room-random .site-topbar{background-color:#ecebdd !important;}

.sidebar,.site-sidebar,.topbar,.site-topbar{
  transition:background-color .78s ease;
}

/* Remove the "neutral hallway" shadow from SETH 03 now that each page is one room. */
@media(min-width:761px){
  .sidebar,.site-sidebar{box-shadow:none !important;}
}

/* SETH 05 — Ideas + Questions consolidated into Message Board.
   Standalone page styles remain inert for backwards-safe CSS. */

/* SETH 06 — active sidebar item: outline only, no contrasting fill */
.side-link.active,
.sidebar a.active,
.site-sidebar a.active{
  background:transparent !important;
  background-color:transparent !important;
  border:1px solid rgba(76,85,76,.24) !important;
  box-shadow:none !important;
}

/* Keep the active button visually part of each page's color room. */
.room-home .side-link.active,
.room-newly .side-link.active,
.room-community .side-link.active,
.room-message .side-link.active,
.room-research .side-link.active,
.room-fundraisers .side-link.active,
.room-resources .side-link.active,
.room-updates .side-link.active,
.room-about .side-link.active,
.room-random .side-link.active{
  background:transparent !important;
}

/* =========================================================
   SETH 07 — paper rooms
   95% warm paper, 5% section color.
   ========================================================= */

body.room-home,
body.room-home .sidebar,
body.room-home .site-sidebar,
body.room-home .topbar,
body.room-home .site-topbar{
  background-color:#f3f0e7 !important;
}

body.room-newly,
body.room-newly .sidebar,
body.room-newly .site-sidebar,
body.room-newly .topbar,
body.room-newly .site-topbar{
  background-color:#f0f1e9 !important;
}

body.room-community,
body.room-community .sidebar,
body.room-community .site-sidebar,
body.room-community .topbar,
body.room-community .site-topbar{
  background-color:#f1eee9 !important;
}

body.room-message,
body.room-message .sidebar,
body.room-message .site-sidebar,
body.room-message .topbar,
body.room-message .site-topbar{
  background-color:#f2ede5 !important;
}

body.room-research,
body.room-research .sidebar,
body.room-research .site-sidebar,
body.room-research .topbar,
body.room-research .site-topbar{
  background-color:#edf0e9 !important;
}

body.room-fundraisers,
body.room-fundraisers .sidebar,
body.room-fundraisers .site-sidebar,
body.room-fundraisers .topbar,
body.room-fundraisers .site-topbar{
  background-color:#edf0e5 !important;
}

body.room-resources,
body.room-resources .sidebar,
body.room-resources .site-sidebar,
body.room-resources .topbar,
body.room-resources .site-topbar{
  background-color:#f2ede3 !important;
}

body.room-updates,
body.room-updates .sidebar,
body.room-updates .site-sidebar,
body.room-updates .topbar,
body.room-updates .site-topbar{
  background-color:#f0ece8 !important;
}

body.room-about,
body.room-about .sidebar,
body.room-about .site-sidebar,
body.room-about .topbar,
body.room-about .site-topbar{
  background-color:#f2efe7 !important;
}

body.room-random,
body.room-random .sidebar,
body.room-random .site-sidebar,
body.room-random .topbar,
body.room-random .site-topbar{
  background-color:#efeee5 !important;
}
/* =========================================================
   SETH 08 — playful world map
   Recognizable geography, but drawn like a loose human diagram.
   ========================================================= */
.living-map > .playful-world{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  z-index:1;
}
.playful-world .continent-lines{
  fill:rgba(244,241,231,.08);
  stroke:rgba(72,83,73,.34);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.playful-world .continent-lines path{
  vector-effect:non-scaling-stroke;
}
/* Tiny irregularity without turning geography into blobs. */
.playful-world path:nth-child(2){transform:rotate(-1deg);transform-origin:center;}
.playful-world path:nth-child(5){transform:rotate(1.4deg);transform-origin:center;}

/* =========================================================
   SETH 09 — 95% real map / 5% play
   Accurate geography with only tiny hand-drawn interruptions.
   ========================================================= */
.living-map > .real-world-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.16;
  filter:grayscale(1);
  mix-blend-mode:multiply;
  z-index:1;
}
.map-doodles{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  pointer-events:none;
  overflow:visible;
}
.coast-wiggle,
.tiny-map-mark,
.tiny-map-ring{
  fill:none;
  stroke:rgba(72,83,73,.34);
  stroke-width:1.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.coast-wiggle{opacity:.65}
.tiny-map-ring{opacity:.48}
.tiny-map-mark{opacity:.42}

/* Disable the old playful-world drawing if cached CSS encounters it. */
.playful-world{display:none !important;}

/* =========================================================
   SETH 10 — 85% real / 15% playful map
   Accurate silhouette remains dominant; extra irregular edge
   gestures and tiny marks make it feel more hand-touched.
   ========================================================= */
.map-doodles .wiggle-four,
.map-doodles .wiggle-five,
.map-doodles .wiggle-six{
  opacity:.52;
}
.map-doodles .ring-two,
.map-doodles .ring-three{
  opacity:.38;
}
.map-doodles .mark-two,
.map-doodles .mark-three,
.map-doodles .map-tickle{
  fill:none;
  stroke:rgba(72,83,73,.31);
  stroke-width:1.05;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  opacity:.43;
}
.map-doodles .map-tickle{opacity:.30;}

/* =========================================================
   SETH 14 — clean realistic outline map
   Exact realistic landmass silhouette, no fill, no frame.
   ========================================================= */
.real-world-map,.realistic-outline-map,.outline-world,.playful-world,.map-doodles{
  display:none !important;
}
.living-map{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.living-map:before,
.living-map:after{
  display:none !important;
  content:none !important;
}
.clean-outline-world{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  overflow:visible;
}
.clean-outline-world path{
  fill:none;
  stroke:rgba(72,83,73,.34);
  stroke-width:1.15;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.network-lines{z-index:2 !important;}
.network-light{z-index:4 !important;}
.map-whisper{z-index:5 !important;}

/* =========================================================
   SETH 15 — restore the SETH 10 map exactly
   Realistic filled silhouette + 15% playful hand-touched marks.
   ========================================================= */
.clean-outline-world{display:none !important;}
.living-map > .real-world-map{
  display:block !important;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.16 !important;
  filter:grayscale(1) !important;
  mix-blend-mode:multiply !important;
  z-index:1 !important;
}
.living-map:before,
.living-map:after{
  display:none !important;
  content:none !important;
}
.map-doodles{
  display:block !important;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:3 !important;
  pointer-events:none;
  overflow:visible;
}
.network-lines{z-index:4 !important;}
.network-light{z-index:6 !important;}
.map-whisper{z-index:7 !important;}

/* =========================================================
   PROFILE INTAKE 01 — a profile that grows over time
   ========================================================= */
.intake-wrap{max-width:980px}
.intake-shell{min-height:calc(100vh - 150px);padding:68px 0 110px}
.intake-shell [data-step]{display:none}
.intake-shell [data-step].active{display:block;animation:intakeIn .35s ease both}
@keyframes intakeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.intake-intro{max-width:760px}
.intake-intro h1{max-width:760px;font-size:clamp(48px,6vw,82px);line-height:1}
.intake-intro p{max-width:620px;font-size:18px;line-height:1.6;margin:28px 0 36px}

.intake-step,.intake-ready,.profile-result{max-width:820px}
.intake-step h2{font-size:clamp(38px,4.4vw,62px);line-height:1.05;margin:12px 0 38px;font-weight:400}
.step-count{font:9px "Courier New",Courier,monospace;color:var(--muted);letter-spacing:.08em;margin-bottom:28px}

.intake-primary,.intake-secondary,.step-nav button{
  border:1px solid rgba(76,85,76,.28);
  background:transparent;
  border-radius:999px;
  padding:9px 14px;
  font:10px "Courier New",Courier,monospace;
  color:var(--ink);
  cursor:pointer;
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.intake-primary:hover,.intake-secondary:hover,.step-nav button:hover{
  background:rgba(255,255,255,.22);
  transform:translateY(-1px);
  border-color:rgba(76,85,76,.4);
}
.step-nav{display:flex;justify-content:space-between;gap:18px;margin-top:46px;padding-top:20px;border-top:1px solid rgba(76,85,76,.14)}
.step-nav button:first-child{border-color:transparent;color:var(--muted)}

.choice-grid{display:flex;flex-wrap:wrap;gap:11px;max-width:760px}
.choice-grid button{
  border:1px solid rgba(76,85,76,.24);
  background:rgba(255,255,255,.08);
  border-radius:999px;
  padding:12px 17px;
  cursor:pointer;
  font:13px var(--sans);
  transition:.2s;
}
.choice-grid button:hover{background:rgba(255,255,255,.18)}
.choice-grid button.selected{
  background:rgba(222,230,215,.55);
  outline:1px solid rgba(76,85,76,.32);
  outline-offset:2px;
}
.choice-grid.symptoms button.selected{background:rgba(222,231,233,.55)}

.big-input,
.field-stack input,
.date-row input,
.date-row select,
.intake-step textarea,
.visibility-row select{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(76,85,76,.30);
  background:transparent;
  color:var(--ink);
  outline:none;
  padding:11px 2px 12px;
  font:inherit;
}
.big-input{font-size:28px;max-width:650px;padding-top:6px}
.big-input::placeholder,.field-stack input::placeholder,.intake-step textarea::placeholder{color:rgba(76,85,76,.35)}
.field-note{font:10px "Courier New",Courier,monospace;color:var(--muted);max-width:610px;margin-top:13px;line-height:1.5}

.field-stack{display:grid;gap:24px;max-width:640px}
.field-stack label{font:9px "Courier New",Courier,monospace;color:var(--muted);letter-spacing:.04em}
.field-stack label span{opacity:.65}
.field-stack input{display:block;font:18px var(--sans);color:var(--ink)}

.privacy-box{
  max-width:640px;
  margin-top:34px;
  padding:18px 20px;
  border:1px dashed rgba(76,85,76,.28);
  border-radius:17px 22px 18px 20px;
  display:grid;
  gap:10px;
}
.privacy-box label{font-size:12px}
.privacy-box small{font:9px "Courier New",Courier,monospace;color:var(--muted);margin-top:5px}

.date-row{display:grid;grid-template-columns:1fr 150px;gap:22px;max-width:520px}
.date-row select,.date-row input{font-size:18px}

.photo-drop{max-width:620px;display:flex;align-items:center;gap:22px}
.photo-drop input{display:none}
.photo-drop label{
  border:1px dashed rgba(76,85,76,.35);
  border-radius:23px 29px 25px 22px;
  padding:25px 28px;
  cursor:pointer;
  font:11px "Courier New",Courier,monospace;
}
.photo-preview,.mini-photo,.result-photo{
  width:110px;height:110px;border-radius:50%;
  border:1px solid rgba(76,85,76,.22);
  background:rgba(255,255,255,.12) center/cover no-repeat;
}
.photo-preview:not(.has-photo){display:none}

.intake-ready{text-align:left}
.ready-spark{font-size:28px;margin-bottom:22px;animation:readyGlow 5s ease-in-out infinite}
@keyframes readyGlow{0%,100%{opacity:.45}50%{opacity:1;text-shadow:0 0 14px rgba(214,180,93,.28)}}
.intake-ready h1{font-size:clamp(48px,6vw,78px);margin-bottom:35px}
.mini-profile-card{
  display:flex;align-items:center;gap:24px;
  max-width:570px;padding:24px;
  border:1px solid rgba(76,85,76,.20);
  border-radius:25px 31px 27px 24px;
  background:rgba(255,255,255,.10);
}
.mini-photo{display:grid;place-items:center;flex:0 0 110px}
.mini-photo span,.result-photo span{opacity:.4}
.mini-photo.has-photo span,.result-photo.has-photo span{display:none}
.mini-profile-card h3{font-size:25px;font-weight:400;margin:0 0 4px}
.mini-profile-card p{margin:0 0 5px;color:var(--muted)}
.mini-profile-card small{font:9px "Courier New",Courier,monospace;color:var(--muted)}
.ready-actions{display:flex;gap:12px;margin-top:28px}

.intake-step textarea{
  min-height:150px;
  max-width:720px;
  resize:vertical;
  border:1px solid rgba(76,85,76,.22);
  border-radius:22px 29px 24px 26px;
  padding:22px;
  line-height:1.55;
  background:rgba(255,255,255,.10);
}
.visibility-row{
  display:flex;align-items:center;gap:12px;
  max-width:720px;margin-top:15px;
  font:9px "Courier New",Courier,monospace;color:var(--muted);
}
.visibility-row select{width:auto;padding:4px 18px 4px 5px;font:9px "Courier New",Courier,monospace}
.warm-question{position:relative}
.warm-question:after{
  content:"";
  position:absolute;right:5%;top:20%;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(238,229,189,.30),rgba(238,229,189,0) 70%);
  pointer-events:none;
}

.profile-result{max-width:900px}
.profile-edit{font:9px "Courier New",Courier,monospace;color:var(--muted)}
.profile-header-card{display:grid;grid-template-columns:145px 1fr;gap:28px;align-items:center;margin:35px 0 60px}
.result-photo{width:145px;height:145px;display:grid;place-items:center}
.profile-header-card h1{margin:6px 0 10px;font-size:58px}
.result-meta{font:10px "Courier New",Courier,monospace;color:var(--muted)}
.profile-section{margin:48px 0 62px}
.section-kicker{font:9px "Courier New",Courier,monospace;letter-spacing:.09em;color:var(--muted);margin-bottom:18px}
.answer-card{
  position:relative;
  max-width:690px;
  padding:25px 28px 24px;
  margin:0 0 18px;
  border:1px solid rgba(76,85,76,.18);
  border-radius:25px 31px 27px 23px;
  background:rgba(229,235,221,.45);
}
.answer-card.answer-blue{background:rgba(224,233,235,.44);margin-left:8%}
.answer-card.answer-warm{background:rgba(239,231,201,.46);margin-left:4%}
.answer-card small,.answer-card time{font:9px "Courier New",Courier,monospace;color:var(--muted)}
.answer-card p{font-size:17px;line-height:1.55;margin:12px 0 17px}
.profile-footer-question{
  display:grid;grid-template-columns:35px 1fr auto;gap:15px;align-items:center;
  margin-top:75px;padding:22px 0;border-top:1px solid rgba(76,85,76,.18);
}
.profile-footer-question>span{font-size:18px}
.profile-footer-question small{font:8px "Courier New",Courier,monospace;color:var(--muted)}
.profile-footer-question p{margin:6px 0 0}
.profile-footer-question button{border:0;background:transparent;font:9px "Courier New",Courier,monospace;color:var(--muted);cursor:pointer}

.make-page-link{display:inline-block;margin-top:16px;font:10px "Courier New",Courier,monospace;color:var(--muted)}

@media(max-width:700px){
  .intake-shell{padding-top:45px}
  .intake-step h2{font-size:40px}
  .date-row{grid-template-columns:1fr}
  .profile-header-card{grid-template-columns:1fr}
  .profile-header-card h1{font-size:46px}
  .ready-actions{flex-direction:column;align-items:flex-start}
  .profile-footer-question{grid-template-columns:28px 1fr}
  .profile-footer-question button{grid-column:2}
}

/* =========================================================
   DAILY QUESTION 01 — a small daily rhythm
   ========================================================= */
.home-daily-module{
  max-width:820px;
  margin:48px auto 85px;
  padding:27px 30px 24px;
  border:1px solid rgba(76,85,76,.20);
  border-radius:31px 38px 33px 29px;
  background:rgba(239,231,201,.30);
  position:relative;
}
.home-daily-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.home-daily-top>a,.home-daily-foot,.home-daily-controls,.home-daily-saved small,.home-daily-saved a{
  font:9px "Courier New",Courier,monospace;color:var(--muted)
}
.daily-symbol{font-size:17px;margin-bottom:5px;animation:dailyBreathe 6s ease-in-out infinite}
@keyframes dailyBreathe{0%,100%{opacity:.45}50%{opacity:1;text-shadow:0 0 14px rgba(211,177,89,.35)}}
.home-daily-module h2{font-size:30px;line-height:1.18;font-weight:400;max-width:680px;margin:24px 0 20px}
.home-daily-module textarea{
  width:100%;min-height:86px;resize:vertical;
  border:0;border-bottom:1px solid rgba(76,85,76,.25);
  outline:none;background:rgba(255,255,255,.07);
  padding:14px 10px;font:15px/1.5 var(--sans);color:var(--ink)
}
.home-daily-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:13px}
.home-daily-controls select{
  border:0;background:transparent;color:var(--ink);
  font:9px "Courier New",Courier,monospace;
}
.home-daily-controls button{
  border:1px solid rgba(76,85,76,.25);background:transparent;border-radius:999px;
  padding:7px 11px;font:9px "Courier New",Courier,monospace;color:var(--ink);cursor:pointer
}
.home-daily-foot{display:flex;justify-content:space-between;gap:20px;margin-top:20px;padding-top:13px;border-top:1px solid rgba(76,85,76,.13)}
.home-daily-saved{padding:12px 0 2px}
.home-daily-saved p{font-size:17px;max-width:650px;margin:10px 0 12px}
.home-daily-saved a{margin-right:16px}

/* dedicated question room */
.daily-page-wrap{max-width:880px;padding-top:65px;padding-bottom:110px}
.daily-back{display:inline-block;margin-bottom:45px;font:9px "Courier New",Courier,monospace;color:var(--muted)}
.daily-date{font:9px "Courier New",Courier,monospace;color:var(--muted);margin-top:8px}
.daily-page-wrap>h1{font-size:clamp(44px,5.5vw,72px);line-height:1.03;max-width:820px;margin:16px 0 40px}
.daily-answer-box{
  max-width:760px;padding:22px 24px;
  border:1px solid rgba(76,85,76,.20);
  border-radius:29px 35px 31px 27px;background:rgba(239,231,201,.28)
}
.daily-answer-box textarea{
  width:100%;min-height:140px;border:0;outline:0;resize:vertical;background:transparent;
  font:16px/1.55 var(--sans);color:var(--ink)
}
.daily-answer-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:14px;border-top:1px solid rgba(76,85,76,.13);font:9px "Courier New",Courier,monospace;color:var(--muted)}
.daily-answer-bottom select{border:0;background:transparent;font:9px "Courier New",Courier,monospace;color:var(--ink)}
.daily-answer-bottom button{border:1px solid rgba(76,85,76,.24);border-radius:999px;background:transparent;padding:7px 11px;font:9px "Courier New",Courier,monospace;cursor:pointer}
.daily-saved-state{max-width:720px;padding:30px 0 40px}
.saved-star{font-size:22px}.daily-saved-state>p{font:10px "Courier New",Courier,monospace;color:var(--muted)}
.saved-answer{font-size:22px;line-height:1.45;margin:22px 0}
.saved-links{display:flex;gap:22px;font:9px "Courier New",Courier,monospace;color:var(--muted)}
.everyone-answers{margin-top:85px;padding-top:30px;border-top:1px solid rgba(76,85,76,.17)}
#sample-answer-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.community-daily-answer{
  min-height:180px;padding:25px 26px;border:1px solid rgba(76,85,76,.16);
  border-radius:27px 34px 30px 25px;background:rgba(255,255,255,.10)
}
.community-daily-answer:nth-child(2){background:rgba(229,235,221,.34);transform:translateY(16px)}
.community-daily-answer:nth-child(3){background:rgba(232,225,235,.32)}
.community-daily-answer:nth-child(4){background:rgba(224,233,235,.32);transform:translateY(12px)}
.community-daily-answer p{font-size:17px;line-height:1.45}
.community-daily-answer small{font:9px "Courier New",Courier,monospace;color:var(--muted)}
.community-daily-answer button{display:block;margin-top:18px;border:0;background:transparent;padding:0;font:9px "Courier New",Courier,monospace;color:var(--muted);cursor:pointer}

/* family page that grows */
.living-profile-wrap{max-width:920px;padding-top:65px;padding-bottom:120px}
.living-profile-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:70px}
.living-profile-head h1{font-size:clamp(48px,6vw,76px);margin:8px 0 10px}
.profile-small-meta,.edit-small{font:9px "Courier New",Courier,monospace;color:var(--muted)}
.profile-growing-section{margin:62px 0}
.profile-answer-stack{display:grid;gap:17px;margin-top:18px}
.living-answer{
  max-width:710px;padding:24px 27px;border:1px solid rgba(76,85,76,.17);
  border-radius:27px 34px 30px 25px;background:rgba(255,255,255,.09)
}
.living-answer:nth-child(even){margin-left:7%}
.living-answer.warm,.living-answer.little{background:rgba(239,231,201,.40)}
.living-answer.green,.living-answer.experience{background:rgba(229,235,221,.40)}
.living-answer.blue{background:rgba(224,233,235,.40)}
.living-answer.lavender,.living-answer.thinking{background:rgba(232,225,235,.36)}
.living-answer small{font:9px "Courier New",Courier,monospace;color:var(--muted)}
.living-answer p{font-size:17px;line-height:1.5;margin:12px 0 18px}
.living-answer footer{display:flex;justify-content:space-between;gap:15px;font:8px "Courier New",Courier,monospace;color:var(--muted);border:0;padding:0}
.private-marker{font-weight:400;border:1px solid rgba(76,85,76,.18);border-radius:999px;padding:2px 6px}
.private-note-demo{max-width:650px;margin:65px 0;padding:18px 21px;border:1px dashed rgba(76,85,76,.22);color:var(--muted)}
.private-note-demo small{font:8px "Courier New",Courier,monospace}
.private-note-demo p{font-size:12px;margin:8px 0 0}
.all-answers-link{margin-top:80px;padding-top:25px;border-top:1px solid rgba(76,85,76,.16);font:9px "Courier New",Courier,monospace;color:var(--muted)}
.chronological-answers{display:grid;gap:14px;margin-top:20px}
.empty-answers{font:10px "Courier New",Courier,monospace;color:var(--muted)}
.answer-today-link{display:flex;gap:10px;align-items:center;margin-top:65px;font:11px "Courier New",Courier,monospace}
.answer-today-link span{font-size:17px}

@media(max-width:700px){
  .home-daily-module{margin:30px 18px 60px;padding:22px}
  .home-daily-top,.home-daily-controls,.home-daily-foot,.daily-answer-bottom,.living-profile-head{flex-direction:column;align-items:flex-start}
  #sample-answer-list{grid-template-columns:1fr}
  .community-daily-answer:nth-child(n){transform:none}
  .living-answer:nth-child(even){margin-left:0}
}


/* =========================================================
   HOME ALIVE 01 — daily question + visible community activity
   ========================================================= */
.home-alive{
  max-width:980px;
  margin:42px auto 82px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:46px;
  align-items:start;
}
.alive-question-card{
  margin:0;
  padding:24px 25px 20px;
  border:1px solid rgba(76,85,76,.20);
  border-radius:28px 34px 31px 26px;
  background:rgba(239,231,201,.28);
  min-height:250px;
}
.alive-card-head{
  display:flex;
  gap:10px;
  align-items:center;
}
.alive-spark{
  font-size:17px;
  line-height:1;
  animation:dailyBreathe 6s ease-in-out infinite;
}
.alive-question-card h2{
  font-size:26px;
  line-height:1.2;
  font-weight:400;
  max-width:520px;
  margin:28px 0 24px;
}
.alive-answer-trigger{
  border:0;
  border-bottom:1px solid rgba(76,85,76,.30);
  padding:0 0 3px;
  background:transparent;
  color:var(--ink);
  font:10px "Courier New",Courier,monospace;
  cursor:pointer;
}
.alive-answer-trigger:hover{opacity:.55}
.alive-answer-expand textarea{
  width:100%;
  min-height:72px;
  resize:vertical;
  border:0;
  border-bottom:1px solid rgba(76,85,76,.22);
  background:rgba(255,255,255,.07);
  outline:none;
  padding:10px 7px;
  font:14px/1.5 var(--sans);
  color:var(--ink);
}
.alive-question-foot{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:28px;
  padding-top:13px;
  border-top:1px solid rgba(76,85,76,.12);
  font:8px "Courier New",Courier,monospace;
  color:var(--muted);
}
.alive-stream{
  padding-top:5px;
}
.alive-stream-label{
  font:9px "Courier New",Courier,monospace;
  letter-spacing:.09em;
  color:var(--muted);
  margin:0 0 14px;
}
.alive-event{
  display:grid;
  grid-template-columns:18px 1fr 16px;
  gap:10px;
  align-items:center;
  min-height:59px;
  padding:11px 5px;
  border-top:1px solid rgba(76,85,76,.13);
  color:var(--ink);
  text-decoration:none;
  transition:padding .2s ease,opacity .2s ease;
}
.alive-event:hover{
  padding-left:11px;
}
.alive-event div{
  font-size:12px;
  line-height:1.35;
}
.alive-event strong{font-weight:500}
.alive-event small{
  display:block;
  margin-top:3px;
  font:8px "Courier New",Courier,monospace;
  color:var(--muted);
}
.alive-event i{
  font-style:normal;
  font-size:11px;
  opacity:0;
  transform:translateX(-5px);
  transition:.2s ease;
}
.alive-event:hover i{opacity:.55;transform:none}
.event-dot{
  width:8px;height:8px;border-radius:50%;
  background:#9cae90;
  box-shadow:0 0 0 5px rgba(156,174,144,.08);
}
.event-question .event-dot{background:#d69b87;box-shadow:0 0 0 5px rgba(214,155,135,.08)}
.event-research .event-dot{background:#8baab6;box-shadow:0 0 0 5px rgba(139,170,182,.08)}
.event-new .event-dot{background:#b79ac8;box-shadow:0 0 0 5px rgba(183,154,200,.08)}
.event-symbol{font-size:12px;color:var(--muted)}
.alive-see-all{
  display:inline-block;
  margin-top:18px;
  font:9px "Courier New",Courier,monospace;
  color:var(--muted);
}
.alive-see-all:hover{opacity:.55}

@media(max-width:850px){
  .home-alive{
    grid-template-columns:1fr;
    gap:35px;
    margin:30px 18px 65px;
  }
  .alive-question-card{min-height:0}
}


/* NEWLY DIAGNOSED — quiet outlined cards, no colored fills */
.newly-page .step,
.newly-page .resource-card,
.newly-page .info-card,
.newly-page .card,
body.newly-diagnosed-page .step,
body.newly-diagnosed-page .resource-card,
body.newly-diagnosed-page .info-card,
body.newly-diagnosed-page .card {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* WHY WE'RE HERE — calm, active reading rhythm without typographic gimmicks */
.why-statement-calm{
  max-width:720px;
  margin-top:48px;
}
.why-statement-calm > p{
  margin:0 0 28px;
  max-width:680px;
  font-size:17px !important;
  line-height:1.72;
  font-family:inherit !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.why-statement-calm > p:nth-child(2){margin-left:22px}
.why-statement-calm > p:nth-child(3){margin-left:44px}
.why-statement-calm > p:nth-child(4){
  margin-left:22px;
  padding:21px 24px;
  border:1px solid rgba(76,85,76,.18);
  border-radius:25px 31px 27px 23px;
}
.why-statement-calm > p:nth-child(5){margin-left:0}
.why-welcome-calm{
  margin-top:55px;
  padding-top:24px;
  border-top:1px solid rgba(76,85,76,.16);
}
.why-welcome-calm p{
  margin:0 0 7px;
  font-size:17px !important;
  line-height:1.6;
  font-family:inherit !important;
  font-weight:400 !important;
}
@media(max-width:700px){
  .why-statement-calm > p:nth-child(n){margin-left:0}
  .why-statement-calm > p:nth-child(4){padding:18px 19px}
}

/* WHY WE'RE HERE — one calm, protective space */
.why-statement-calm{
  max-width:760px;
  margin-top:42px;
  padding:42px 46px 38px;
  border:1px solid rgba(76,85,76,.20);
  border-radius:34px 40px 36px 32px;
  background:rgba(255,255,255,.12);
}
.why-statement-calm > p,
.why-statement-calm > p:nth-child(n){
  margin:0 0 27px !important;
  padding:0 !important;
  max-width:650px;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  font-size:17px !important;
  line-height:1.72;
  font-family:inherit !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.why-welcome-calm{
  margin-top:38px;
  padding-top:25px;
  border-top:1px solid rgba(76,85,76,.14);
}
.why-welcome-calm p{
  margin:0 0 7px !important;
  padding:0 !important;
  font-size:17px !important;
  line-height:1.6;
  font-family:inherit !important;
  font-weight:400 !important;
}
@media(max-width:700px){
  .why-statement-calm{
    padding:29px 25px 27px;
    border-radius:27px 31px 29px 25px;
  }
}


/* =========================================================
   COMMUNITY LOOP 01
   Homepage hierarchy: community presence + daily question first.
   No new type system, colors, or decorative language.
   ========================================================= */
.home-alive{
  margin-top:34px;
}
.alive-question-card{
  padding:26px 27px 21px;
}
.alive-question-card h2{
  margin-top:24px;
  margin-bottom:21px;
}
.alive-question-foot{
  align-items:center;
}
.alive-question-foot a,
.alive-see-all{
  text-decoration:none;
  border-bottom:1px solid rgba(76,85,76,.22);
  padding-bottom:2px;
}

/* Profiles: let accumulated daily answers read as the living center. */
.profile-daily,
.daily-answers,
.profile-answers,
.answer-history{
  margin-top:34px;
}
.profile-daily .answer,
.daily-answers .answer,
.profile-answers .answer,
.answer-history .answer{
  padding:18px 0;
  border-top:1px solid rgba(76,85,76,.14);
}

/* 05–10 STRUCTURE PASS */
.page-paths{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 6px}
.page-paths a{color:inherit;text-decoration:none;border:1px solid rgba(76,85,76,.22);border-radius:999px;padding:8px 12px;font-size:12px}
.page-paths a:hover{background:rgba(255,255,255,.22)}
.newly-route{margin-top:22px;padding-top:18px;border-top:1px solid rgba(76,85,76,.14);font-style:italic}
@media(max-width:700px){.page-paths{gap:7px}.page-paths a{font-size:11px;padding:7px 10px}}

/* Consistent page alignment — use Fundraisers spacing site-wide */
@media (min-width: 901px){
  .main > .content-wrap{
    width:100%;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* ---- Question of the Week revision ---- */
.home-bottom-community-strip{margin-top:70px}
.questions-page .questions-wrap{padding-top:18px!important;max-width:980px;padding-bottom:110px}
.questions-page .question-current-head{
  display:flex;justify-content:space-between;gap:40px;align-items:flex-end;
  padding:0 0 34px;border-bottom:1px solid rgba(76,85,76,.15)
}
.questions-page .question-current-head h1{
  font-size:clamp(34px,3.8vw,52px)!important;line-height:1.08;font-weight:400;
  max-width:760px;margin:13px 0 0
}
.question-answer-link{font:10px "Courier New",Courier,monospace;white-space:nowrap;margin-bottom:7px}
.answer-field{position:relative;min-height:680px;margin:24px 0 48px}
.answer-note{
  position:absolute;max-width:310px;padding:20px 22px;border:1px solid rgba(76,85,76,.10);
  border-radius:18px
}
.answer-note p{font-size:18px;line-height:1.42;margin:0 0 17px}
.answer-peach{background:rgba(238,204,177,.25)}
.answer-blue{background:rgba(184,205,214,.25)}
.answer-yellow{background:rgba(230,215,154,.24)}
.answer-lilac{background:rgba(204,190,211,.23)}
.answer-mint{background:rgba(185,211,194,.23)}
.answer-rose{background:rgba(223,188,190,.23)}
.answer-person{display:flex;align-items:center;gap:8px;font:9px "Courier New",Courier,monospace;color:var(--muted)}
.family-orb{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.orb-peach{background:#d9a77e}.orb-blue{background:#8fb5c1}.orb-yellow{background:#cbb755}
.orb-lilac{background:#aa94b5}.orb-mint{background:#86ae91}.orb-rose{background:#c68e92}
.note-a{left:2%;top:32px;transform:rotate(-.5deg)}
.note-b{right:5%;top:4px;transform:rotate(.4deg)}
.note-c{left:36%;top:205px;transform:rotate(.25deg)}
.note-d{left:0;top:405px;transform:rotate(.4deg)}
.note-e{right:1%;top:380px;transform:rotate(-.4deg)}
.note-f{left:42%;top:535px;transform:rotate(-.25deg)}
.answer-photo{width:100%;height:115px;margin-bottom:15px;border-radius:10px;background:rgba(255,255,255,.36);
display:flex;align-items:center;justify-content:center}
.answer-photo span{font:8px "Courier New",Courier,monospace;opacity:.4}
.weekly-answer-box{max-width:760px;margin:55px 0 70px;padding:25px;border:1px solid rgba(76,85,76,.17);border-radius:26px;background:rgba(239,231,201,.18)}
.weekly-answer-box textarea{box-sizing:border-box;width:100%;min-height:100px;margin:15px 0 10px;padding:10px 3px;border:0;border-bottom:1px solid rgba(76,85,76,.18);background:transparent;resize:vertical;outline:none;color:var(--ink);font:16px/1.5 inherit}
.photo-upload{display:inline-block;margin:10px 0 20px;cursor:pointer;font:10px "Courier New",Courier,monospace}
.photo-upload input{display:none}.photo-upload small{opacity:.55}
.question-nav{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid rgba(76,85,76,.15);border-bottom:1px solid rgba(76,85,76,.15);font:9px "Courier New",Courier,monospace;color:var(--muted)}
.question-nav span{opacity:.35}
.question-archive{margin-top:85px}.question-archive>h2{font-size:32px;font-weight:400;margin:13px 0 36px}
.archive-question{display:grid;grid-template-columns:55px 1fr 80px;gap:18px;align-items:center;padding:21px 4px;border-top:1px solid rgba(76,85,76,.14);text-decoration:none;color:var(--ink)}
.archive-question:last-child{border-bottom:1px solid rgba(76,85,76,.14)}
.archive-question b{font:10px "Courier New",Courier,monospace;font-weight:400;color:var(--muted)}
.archive-question span{font-size:18px}.archive-question small{font:9px "Courier New",Courier,monospace;color:var(--muted);text-align:right}
@media(max-width:850px){
 .questions-page .questions-wrap{padding-top:8px!important}
 .questions-page .question-current-head{display:block}
 .questions-page .question-current-head h1{font-size:36px!important}
 .question-answer-link{display:inline-block;margin-top:20px}
 .answer-field{position:static;min-height:0;display:flex;flex-direction:column;gap:15px;margin:28px 0 45px}
 .answer-note{position:static;max-width:none;transform:none!important}
 .archive-question{grid-template-columns:35px 1fr}.archive-question small{grid-column:2;text-align:left}
}


/* ---- Homepage: Question of the Week as an editorial interlude ---- */
.weekly-editorial-section{
  position:relative;
  width:calc(100% + 80px);
  margin-left:-40px!important;
  margin-right:-40px!important;
  max-width:none!important;
  padding:86px 40px 92px!important;
  box-sizing:border-box;
  background:rgba(232,218,176,.14);
  border-top:1px solid rgba(76,85,76,.08);
  border-bottom:1px solid rgba(76,85,76,.08);
}
.weekly-editorial-section .weekly-editorial-card{
  width:min(760px, calc(100% - 40px));
  max-width:760px!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center;
}
.weekly-editorial-card .alive-card-head{
  justify-content:center!important;
  gap:13px;
  margin-bottom:34px!important;
}
.weekly-editorial-card .alive-spark{
  position:static!important;
  display:inline-block;
  opacity:.62;
}
.weekly-editorial-card .kicker{
  text-align:left;
}
.weekly-editorial-card h2{
  max-width:650px!important;
  margin:0 auto 36px!important;
  font-size:clamp(32px,3.3vw,46px)!important;
  line-height:1.12!important;
  font-weight:400!important;
  text-align:center;
}
.weekly-editorial-card .alive-answer-trigger{
  display:inline-block;
  margin:0 auto 52px!important;
}
.weekly-editorial-card .alive-question-foot{
  max-width:520px;
  margin:0 auto!important;
  padding-top:18px!important;
  border-top:1px solid rgba(76,85,76,.15)!important;
  justify-content:space-between!important;
  text-align:left;
}
@media(max-width:850px){
  .weekly-editorial-section{
    width:calc(100% + 36px);
    margin-left:-18px!important;
    margin-right:-18px!important;
    padding:64px 18px 70px!important;
  }
  .weekly-editorial-section .weekly-editorial-card{
    width:100%;
  }
  .weekly-editorial-card .alive-card-head{
    align-items:flex-start;
  }
  .weekly-editorial-card h2{
    font-size:34px!important;
  }
}


/* ---- Homepage weekly question: conversation split ---- */
.weekly-conversation{
  padding-top:72px!important;
  padding-bottom:78px!important;
}
.weekly-conversation-grid{
  width:min(1180px, calc(100% - 20px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);
  gap:90px;
  align-items:start;
}
.weekly-compose .alive-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:27px;
}
.weekly-compose .alive-spark{opacity:.62}
.weekly-compose h2{
  max-width:720px;
  margin:0 0 36px;
  font-size:clamp(34px,3.5vw,50px);
  line-height:1.1;
  font-weight:400;
}
.home-answer-form{
  max-width:720px;
}
.home-answer-form textarea{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-height:118px;
  padding:14px 2px 10px;
  border:0;
  border-bottom:1px solid rgba(76,85,76,.22);
  outline:0;
  resize:vertical;
  background:transparent;
  color:var(--ink);
  font:20px/1.45 var(--sans);
}
.home-answer-form textarea::placeholder{color:var(--muted);opacity:.8}
.home-photo-upload{
  display:inline-block;
  margin:13px 0 22px;
  cursor:pointer;
  font:9px "Courier New",Courier,monospace;
  color:var(--muted);
}
.home-photo-upload input{display:none}
.home-photo-upload small{opacity:.55}
.home-answer-actions{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding-top:12px;
  border-top:1px solid rgba(76,85,76,.10);
}
.home-visibility{
  font:9px "Courier New",Courier,monospace;
  color:var(--muted);
}
.home-visibility select{
  margin-left:5px;
  border:0;
  background:transparent;
  color:var(--ink);
  font:9px "Courier New",Courier,monospace;
  outline:none;
}
.home-answer-actions button{
  border:1px solid rgba(76,85,76,.22);
  border-radius:999px;
  background:transparent;
  padding:10px 15px;
  color:var(--ink);
  font:9px "Courier New",Courier,monospace;
  cursor:pointer;
}
.weekly-answer-preview{
  padding-top:48px;
}
.preview-kicker{
  margin-bottom:28px;
  font:9px "Courier New",Courier,monospace;
  letter-spacing:.12em;
  color:var(--muted);
}
.preview-answer{
  max-width:290px;
  margin:0 0 34px;
}
.preview-answer.preview-offset{margin-left:30px}
.preview-copy{
  font-size:17px;
  line-height:1.42;
  margin-bottom:10px;
}
.preview-person{
  display:flex;
  align-items:center;
  gap:7px;
  font:8px "Courier New",Courier,monospace;
  color:var(--muted);
}
.preview-read-all{
  display:inline-block;
  margin-top:5px;
  padding-bottom:3px;
  border-bottom:1px solid rgba(76,85,76,.25);
  font:9px "Courier New",Courier,monospace;
}
@media(max-width:900px){
  .weekly-conversation-grid{
    grid-template-columns:1fr;
    gap:58px;
    width:100%;
  }
  .weekly-answer-preview{
    padding-top:0;
    border-top:1px solid rgba(76,85,76,.12);
    padding-top:32px;
  }
  .preview-answer.preview-offset{margin-left:18px}
}
@media(max-width:600px){
  .weekly-conversation{padding-top:54px!important;padding-bottom:58px!important}
  .weekly-compose h2{font-size:34px}
  .home-answer-actions{align-items:flex-start;flex-direction:column}
  .weekly-answer-preview{display:block}
}


/* ---- Homepage weekly question: larger glowing bubble ---- */
.weekly-bubble-section{
  display:block!important;
  max-width:none!important;
  margin:82px 0 94px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.weekly-special-bubble{
  box-sizing:border-box;
  width:min(900px, 88%);
  margin:0 auto;
  padding:42px 52px 34px;
  border:1px solid rgba(112,103,76,.23);
  border-radius:46px;
  background:rgba(244,234,195,.34);
  box-shadow:
    0 0 34px rgba(225,198,112,.15),
    0 0 85px rgba(235,213,150,.11),
    inset 0 0 42px rgba(255,250,225,.24);
}
.weekly-special-bubble .alive-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:29px;
}
.weekly-special-bubble .weekly-spark{
  opacity:.72;
  text-shadow:0 0 11px rgba(190,157,67,.34);
}
.weekly-special-bubble h2{
  max-width:720px;
  margin:0 0 31px;
  font-size:clamp(30px,3vw,43px);
  line-height:1.12;
  font-weight:400;
}
.bubble-answer-form textarea{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-height:86px;
  padding:10px 2px 8px;
  border:0;
  border-bottom:1px solid rgba(76,85,76,.19);
  outline:0;
  resize:vertical;
  background:transparent;
  color:var(--ink);
  font:18px/1.45 var(--sans);
}
.bubble-answer-form textarea::placeholder{color:var(--muted);opacity:.72}
.bubble-photo-upload{
  display:inline-block;
  margin:12px 0 17px;
  cursor:pointer;
  font:9px "Courier New",Courier,monospace;
  color:var(--muted);
}
.bubble-photo-upload input{display:none}
.bubble-photo-upload small{opacity:.52}
.bubble-answer-actions{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:11px 0 17px;
}
.bubble-visibility{
  font:9px "Courier New",Courier,monospace;
  color:var(--muted);
}
.bubble-visibility select{
  margin-left:5px;
  border:0;
  background:transparent;
  color:var(--ink);
  font:9px "Courier New",Courier,monospace;
  outline:none;
}
.bubble-answer-actions button{
  border:1px solid rgba(76,85,76,.22);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  padding:10px 15px;
  color:var(--ink);
  font:9px "Courier New",Courier,monospace;
  cursor:pointer;
}
.bubble-answer-foot{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:16px;
  border-top:1px solid rgba(76,85,76,.13);
  font:9px "Courier New",Courier,monospace;
  color:var(--muted);
}
.bubble-answer-foot a{
  padding-bottom:2px;
  border-bottom:1px solid rgba(76,85,76,.23);
}
@media(max-width:850px){
  .weekly-bubble-section{margin:55px 0 70px!important}
  .weekly-special-bubble{
    width:calc(100% - 28px);
    padding:31px 25px 27px;
    border-radius:34px;
  }
  .weekly-special-bubble h2{font-size:32px}
}
@media(max-width:560px){
  .bubble-answer-actions{
    flex-direction:column;
    align-items:flex-start;
  }
  .bubble-answer-foot{
    flex-direction:column;
    gap:10px;
  }
}


/* ---- Homepage Question of the Week refinements ---- */
.weekly-bubble-section{
  /* align this section with the same main content field as the two activity bubbles */
  box-sizing:border-box;
  width:100%;
}
.weekly-special-bubble{
  /* centered under the combined two-card composition */
  width:min(980px, 82%);
  margin-left:auto!important;
  margin-right:auto!important;
}
.weekly-special-bubble h2{
  /* quieter than previous version */
  font-size:clamp(29px,2.55vw,37px)!important;
  max-width:700px;
}
.bubble-answer-actions-simple{
  justify-content:flex-end!important;
  padding-top:11px;
}
@media(max-width:850px){
  .weekly-special-bubble{
    width:calc(100% - 28px);
  }
  .weekly-special-bubble h2{
    font-size:30px!important;
  }
}

/* map cleanup: suppress legacy decorative line marks */
.map-doodles{display:none !important;}
