/* ========== COMMUNAUTÉ ========== */

/* Hero */
.comm-hero { position:relative; min-height:70vh; display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--blue); }
.comm-hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(27,88,118,.95) 0%,rgba(18,61,84,.98) 100%); z-index:1; }
.comm-hero-content { position:relative; z-index:2; text-align:center; padding:64px; }
.comm-hero-content .hero-eyebrow { color:rgba(248,244,236,.7); }
.comm-hero-content .hero-title { color:var(--cream); }
.comm-hero-content .hero-title .accent { color:var(--orange); }
.comm-hero-content .hero-desc { color:rgba(248,244,236,.8); font-weight:300; line-height:2; margin-top:20px; }

/* Sections */
.comm-section { padding:100px 64px; }
.comm-container { max-width:960px; margin:0 auto; }

/* Two columns */
.comm-two-col { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }

/* Quote block */
.comm-quote-block { border-left:3px solid var(--orange); padding:28px 32px; background:rgba(255,255,255,.5); }
.comm-quote-block p { font-size:.95rem; line-height:1.9; color:var(--text-soft); font-weight:300; margin-bottom:14px; }
.comm-quote-block p:last-child { margin-bottom:0; }
.comm-quote-block strong { color:var(--orange); font-weight:600; }

/* Pills */
.comm-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; justify-content:center; }
.comm-pill { display:inline-block; padding:8px 18px; border:1.5px solid var(--cream-mid); font-size:.75rem; letter-spacing:.08em; color:var(--text-soft); font-weight:400; background:var(--cream); border-radius:4px; }

/* Cards grid */
.comm-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.comm-card { background:var(--cream-dark); padding:40px 36px; border-radius:6px; transition:transform .3s, box-shadow .3s; }
.comm-section:not([style]) .comm-card { background:white; }
.comm-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.comm-card-num { font-family:'Blackjack',cursive; font-size:3rem; color:var(--cream-mid); line-height:1; display:block; margin-bottom:16px; }
.comm-card-title { font-family:'Blackjack',cursive; font-size:1.8rem; color:var(--blue); margin-bottom:12px; }
.comm-card p { font-size:.92rem; line-height:1.8; color:var(--text-soft); font-weight:300; }

/* Checklist */
.comm-checklist { list-style:none; margin-top:28px; display:flex; flex-direction:column; gap:16px; }
.comm-checklist li { display:flex; align-items:flex-start; gap:14px; font-size:.92rem; line-height:1.7; color:var(--text-soft); font-weight:300; }
.comm-checklist li::before { content:''; display:inline-block; width:20px; height:20px; min-width:20px; background:var(--orange); margin-top:3px;
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Visual card (citation) */
.comm-visual-card { background:var(--blue); padding:48px 40px; position:relative; }
.comm-visual-card::before { content:'\201C'; font-family:'Blackjack',cursive; font-size:8rem; position:absolute; top:-10px; left:20px; color:var(--orange); opacity:.15; line-height:1; }
.comm-visual-card p { font-family:'Blackjack',cursive; font-size:1.4rem; line-height:1.6; color:var(--cream); margin-bottom:20px; }
.comm-visual-card span { font-size:.78rem; color:rgba(168,200,216,.8); letter-spacing:.08em; text-transform:uppercase; }

/* Pricing */
.comm-pricing { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.comm-pricing-box { background:white; padding:44px; box-shadow:0 4px 40px rgba(0,0,0,.06); display:flex; flex-direction:column; }
.comm-pricing-box.featured { background:var(--blue); color:var(--cream); }
.comm-pricing-badge { font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--orange); font-weight:500; margin-bottom:16px; }
.comm-pricing-price { font-family:'Blackjack',cursive; font-size:4rem; color:var(--orange); line-height:1; margin-bottom:8px; }
.comm-pricing-label { font-size:.78rem; color:var(--text-soft); letter-spacing:.08em; text-transform:uppercase; margin-bottom:32px; }
.comm-pricing-box.featured .comm-pricing-label { color:rgba(168,200,216,.8); }
.comm-pricing-desc { font-size:.9rem; line-height:1.8; margin-bottom:24px; font-weight:300; }
.comm-pricing-box ul { list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.comm-pricing-box ul li { display:flex; align-items:flex-start; gap:12px; font-size:.88rem; line-height:1.65; }
.comm-pricing-box ul li::before { content:'✦'; color:var(--orange); font-size:.75rem; margin-top:3px; flex-shrink:0; }
.comm-pricing-box.featured ul li { color:var(--cream); }
.comm-pricing-cta { display:block; text-align:center; background:var(--orange); color:white; text-decoration:none; padding:16px 28px; font-size:.78rem; letter-spacing:.15em; text-transform:uppercase; font-weight:500; transition:background .3s; margin-top:auto; }
.comm-pricing-cta:hover { background:#e09a2a; }

/* FAQ */
.comm-faq { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.comm-faq-item { border-top:1.5px solid var(--cream-mid); padding-top:24px; }
.comm-faq-item h4 { font-family:'Blackjack',cursive; font-size:1.2rem; margin-bottom:10px; line-height:1.4; color:var(--blue); }
.comm-faq-item p { font-size:.88rem; line-height:1.8; color:var(--text-soft); font-weight:300; }

/* Responsive */
@media (max-width:900px) {
  .comm-section { padding:60px 24px; }
  .comm-two-col { grid-template-columns:1fr; gap:40px; }
  .comm-grid { grid-template-columns:1fr; }
  .comm-pricing { grid-template-columns:1fr; }
  .comm-faq { grid-template-columns:1fr; }
}
