/* Community composition. Type, tokens, navigation, FAQ and footer stay shared. */
.social-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  align-items:center;gap:clamp(28px,4vw,64px)}
.social-hero h1 span{display:inline}
.social-hero .lead{max-width:49ch}
.social-note{margin-top:24px;color:var(--muted);font-size:13px;max-width:74ch}
.social-photo{min-width:0;width:100%}
.social-photo picture{display:block;overflow:hidden;border-radius:14px}
.social-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo picture{aspect-ratio:1.35}
.hero-photo img{object-position:30% center}
.social-photo figcaption{font-family:var(--disp);font-size:21px;text-transform:uppercase;
  line-height:1.4;margin-top:16px}
.social-photo figcaption span{display:block;font-family:var(--body);text-transform:none;
  font-size:12px;color:var(--muted);margin-top:6px}
.social-topics{display:flex;flex-wrap:wrap;gap:8px 28px;padding-block:16px;
  border-block:1px solid var(--line)}
.social-topics a{display:inline-flex;align-items:center;min-height:44px;
  font-size:14px;text-decoration:none;color:var(--muted)}
.social-topics a:hover{color:var(--cyan-hi)}
.social-feed{border-top:0;align-items:start}
.social-feed-media{align-self:center}
.social-profile,.social-gym{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,5vw,80px);align-items:center;border-top:1px solid var(--line)}
.social-profile{background:var(--panel);align-items:start}
.social-profile-details{margin:0}
.social-profile-details>div:first-child{border-top:0;padding-top:0}
.gym-photo picture{aspect-ratio:1.3}
.gym-photo img{object-position:60% center}
.social-gym .gym-note{margin-bottom:0}
.social-technique{border-block:1px solid var(--line);
  background:linear-gradient(130deg,#102A35,var(--panel))}
.social-technique .section-intro{max-width:820px}
.social-technique>.text-link{margin-top:20px}
.social-interaction .pillars{margin-top:30px}
.social-privacy{border-top:1px solid var(--line)}
.social-privacy-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,5vw,80px);margin-top:36px}
.social-privacy-columns article{min-width:0;padding-top:24px;border-top:2px solid var(--line)}
.social-privacy-columns article:last-child{border-color:var(--cyan)}
.social-privacy-columns .kicker{margin-bottom:12px}
.social-privacy-columns h3{font-size:26px;line-height:1.3}
.social-privacy-columns p:not(.kicker){color:var(--muted);font-size:15px;margin-top:18px;max-width:54ch}
.social-privacy-columns .text-link{margin-top:18px}
.social-safety{margin-top:36px;padding:24px 28px;background:var(--panel);border-left:2px solid var(--cyan)}
.social-safety h3{font-size:23px;line-height:1.3}
.social-safety>p{color:var(--muted);font-size:15px;margin-top:12px;max-width:85ch}
.social-safety .btns{margin-top:12px;gap:12px 28px}
.social-cycle{border-block:1px solid var(--line);background:var(--panel)}
.conversation-loop{list-style:none;margin:36px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px}
.conversation-loop li{position:relative;min-width:0;padding:24px;border-top:1px solid #52636f}
.conversation-loop li>span{display:block;color:var(--cyan-hi);font-family:var(--disp);
  font-size:15px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:12px}
.conversation-loop h3{font-size:clamp(23px,2.1vw,30px);line-height:1.25}
.conversation-loop p{color:var(--muted);font-size:14px;max-width:46ch;margin-top:12px}
.conversation-loop li:nth-child(-n+2)::after{content:'→';position:absolute;right:-29px;
  top:24px;font-size:24px;color:var(--cyan-hi)}
.conversation-loop .loop-choice{border:1px dashed var(--cyan);border-radius:12px}
.loop-choice::after{content:'↓';position:absolute;bottom:-34px;left:24px;
  font-size:24px;color:var(--cyan-hi)}
.conversation-loop .loop-discussion{grid-column:3;grid-row:2}
.loop-discussion::after{content:'←';position:absolute;left:-29px;top:24px;
  font-size:24px;color:var(--cyan-hi)}
.conversation-loop .loop-return{grid-column:1 / 3;grid-row:2;border-top-color:var(--cyan);
  background:rgba(16,169,183,.06)}
.loop-return .text-link{margin-top:12px}
/* Keep the photographic hero headline on its established desktop lines. */
@media (min-width:901px){
  .social-hero h1{font-size:clamp(36px,4.3vw,62px)}
}
@media (max-width:900px){
  .social-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px}
  .social-profile,.social-gym,.social-feed{grid-template-columns:1fr;gap:28px}
  .social-profile-details dd{max-width:65ch}
  .social-gym .gym-photo{max-width:650px}
  .conversation-loop{column-gap:28px}
  .conversation-loop li{padding:18px 12px}
  .conversation-loop li:nth-child(-n+2)::after{right:-23px}
  .loop-discussion::after{left:-23px}
}
@media (max-width:600px){
  .social-hero{grid-template-columns:1fr}
  .hero-photo picture{aspect-ratio:1.55}
  .social-photo figcaption{font-size:19px;margin-top:12px}
  .social-topics{gap:0 20px;padding-block:12px}
  .social-topics a{font-size:13px}
  .gym-photo picture{aspect-ratio:1.5}
  .social-privacy-columns{grid-template-columns:1fr;gap:28px;margin-top:28px}
  .social-safety{padding:20px;margin-top:28px}
  .conversation-loop{grid-template-columns:1fr;gap:20px;margin-top:28px}
  .conversation-loop li{padding:20px}
  .conversation-loop .loop-discussion,.conversation-loop .loop-return{grid-column:auto;grid-row:auto}
  .conversation-loop li:nth-child(-n+2)::after,.loop-choice::after,.loop-discussion::after{
    content:'↓';left:20px;right:auto;top:auto;bottom:-30px;font-size:22px}
  .conversation-loop .loop-return{margin-top:4px}
}

/* The feed capture shows the publication once; sharing explains the choice. */
.social-share-outcome{padding:28px;border-left:2px solid var(--cyan);background:var(--panel)}
.social-share-outcome h3{font-size:26px;line-height:1.3}
.social-share-outcome>p:not(.kicker){margin-top:16px;color:var(--muted);font-size:15px}
.social-share-outcome .text-link{margin-top:20px}
