/* Parallang: Community (congresses and associations), homepage section.
   Loaded after colors_and_type.css + home.css, so it inherits
   .section, .eyebrow, .section__kicker, .section__lede,
   .reveal-stagger and the tokens (--navy, --blue, --line, ...).
   One card per congress or association: its logo in its own colours,
   what it is, where and when, and a link to its own website.
   Cards mirror the customer story cards (.story-card) and the grid
   takes up to three per row as more partners are added. */

/* ── Section head ── */
.community__head{max-width:680px;margin-bottom:clamp(32px,4.5vw,48px);}
.community__head .section__lede{margin-bottom:0;}

/* ── Grid ── */
.community__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}

/* ── Card ── */
.community-card{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .25s;
}
.community-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(42,53,84,.08);border-color:#c7d0e6;}

/* Logo stage: the partner's colours on a calm, near-white ground.
   The top padding keeps the logo clear of the sponsorship badge. */
.community-card__stage{
  position:relative;height:236px;padding:48px 28px 24px;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 120% at 50% 42%,#fff 42%,#f3f6fc 100%);
  border-bottom:1px solid var(--line);
}
/* Sponsorship badge, top left of the stage (mirrors .story-poster__badge) */
.community-card__badge{
  position:absolute;top:14px;left:14px;
  display:inline-flex;align-items:center;gap:7px;
  font:700 10.5px/1 var(--font-body);text-transform:uppercase;letter-spacing:.1em;
  color:var(--blue);background:var(--blue-bg);border:1px solid var(--blue-border);
  padding:6px 10px 6px 9px;border-radius:999px;
}
.community-card__badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--blue);}
.community-card__logo{
  display:block;width:auto;height:auto;max-width:100%;max-height:160px;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.community-card:hover .community-card__logo{transform:scale(1.04);}
/* Optical sizing: a wide word mark is capped by width so it carries the same weight as a square mark */
.community-card__logo--aati{max-width:232px;}

/* ── Body ── */
.community-card__body{padding:24px 26px 22px;display:flex;flex-direction:column;gap:12px;flex:1;}
.community-card__tag{
  font:600 11px/1 var(--font-body);text-transform:uppercase;letter-spacing:.14em;
  color:var(--blue);display:inline-flex;align-items:center;gap:8px;
}
.community-card__tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--blue);}
.community-card__h{
  font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.25;
  letter-spacing:-0.01em;color:var(--navy);margin:0;text-wrap:balance;
}
.community-card__facts{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;}
.community-card__fact{
  display:inline-flex;align-items:center;gap:6px;
  font:500 12px/1 var(--font-body);color:var(--ink-2);
  background:#eef1f8;border-radius:999px;padding:6px 11px 6px 9px;
}
.community-card__fact svg{width:13px;height:13px;color:var(--blue);}
.community-card__p{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0;text-wrap:pretty;}

/* ── Footer link: stretched, so the whole card opens the partner's site ── */
.community-card__foot{padding:16px 26px 18px;border-top:1px solid var(--line);}
.community-card__link{
  display:inline-flex;align-items:center;gap:8px;
  font:600 13.5px/1 var(--font-body);color:var(--blue);transition:color .15s;
}
.community-card__link::after{content:'';position:absolute;inset:0;z-index:1;}
.community-card__link svg{width:16px;height:16px;transition:transform .25s cubic-bezier(.2,.7,.2,1);}
.community-card:hover .community-card__link{color:var(--blue-hover);}
.community-card:hover .community-card__link svg{transform:translate(2px,-2px);}
/* Keyboard focus rings the whole card (its own overflow would clip a ring on the link) */
@supports selector(:has(*)){
  .community-card:has(.community-card__link:focus-visible){outline:3px solid var(--blue);outline-offset:3px;}
  .community-card__link:focus-visible{outline:none;}
}

/* ── Mobile polish ── */
@media (max-width:600px){
  .community__grid{grid-template-columns:1fr;gap:18px;}
  .community-card__stage{height:200px;padding:46px 24px 20px;}
  .community-card__logo{max-height:136px;}
  .community-card__logo--aati{max-width:198px;}
  .community-card__body{padding:20px 20px 18px;}
  .community-card__h{font-size:18px;}
  .community-card__foot{padding:14px 20px 16px;}
}
