/* FANG badge program: real-world recognition alongside the community chats. */
.badges-section{background:#e6f0eb;border-top:1px solid #cbded5;scroll-margin-top:100px}
.badges-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:60px;margin-bottom:34px}
.badges-heading .eyebrow{color:#087c86;margin-bottom:15px}
.badges-heading h2{font-size:clamp(38px,4.3vw,57px);line-height:1.08;margin-bottom:0}
.badges-heading>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:430px;margin:0}
.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.badge-card{min-width:0;background:var(--cream);border:1px solid #bdcfc7;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.badge-card-staff{border-color:#c8b781}
.badge-visual{margin:0;background:#f1eee7;border-bottom:1px solid #d5ddd4}
.badge-visual>a{display:block}
.badge-visual img{display:block;width:100%;height:450px;object-fit:contain}
.badge-visual figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 24px;background:#f8f4eb;font-size:10px;line-height:1.5;color:#526474}
.badge-visual figcaption>span:first-child{font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#087c86}
.badge-card-staff .badge-visual figcaption>span:first-child{color:#806117}
.badge-copy{padding:29px 32px 32px;display:flex;flex-direction:column;flex:1}
.badge-copy .eyebrow{font-size:9px;margin-bottom:11px;color:#087c86}
.badge-card-staff .badge-copy .eyebrow{color:#806117}
.badge-copy h3{font-size:32px;line-height:1.15;margin:0 0 15px}
.badge-copy p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 20px}
.badge-copy .text-link{font-size:13px;align-self:flex-start;margin-top:auto}
.badge-criteria{scroll-margin-top:120px;margin-top:32px;padding:30px 34px;border:1px solid #bdcfc7;border-radius:10px;background:#f5f9f5}
.badge-criteria h3{font-size:26px;line-height:1.2;margin:0 0 12px}
.badge-criteria-intro{font-size:14px;line-height:1.8;margin:0 0 22px;color:var(--muted)}
.badge-criteria-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0}
.badge-criteria-list li{border-top:1px solid #bdcfc7;padding-top:19px;min-width:0}
.badge-criteria-list span{display:block;color:#087c86;font-size:10px;font-weight:750;letter-spacing:.09em;margin-bottom:10px}
.badge-criteria-list h4{font-size:18px;line-height:1.25;margin:0 0 8px}
.badge-criteria-list p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}
.badge-threshold-note{margin:25px 0 0;font-size:12px;line-height:1.75;color:#536879}
.badge-section-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
.badge-section-actions .text-link{font-size:13px}
.sponsor-home-cta{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:27px;margin-top:-24px;margin-bottom:49px;padding:26px 30px;background:var(--navy);color:var(--cream);border:1px solid #224959;border-radius:10px}
.sponsor-home-badge{width:88px;height:105px;object-fit:contain;background:var(--cream);border-radius:6px;border:1px solid #4d7480}
.sponsor-home-copy{min-width:0}
.sponsor-home-copy .eyebrow{font-size:9px;letter-spacing:.09em;color:#70e5e9;margin:0 0 10px}
.sponsor-home-copy h2{font-size:31px;line-height:1.15;margin:0 0 10px;letter-spacing:-.04em}
.sponsor-home-copy p:not(.eyebrow){font-size:13px;line-height:1.8;color:#c2d4db;margin:0;max-width:590px}
.sponsor-home-copy strong{color:var(--cream);font-weight:650}
.sponsor-home-cta .button{font-size:13px;gap:18px;white-space:nowrap}
@media(max-width:1000px){.sponsor-home-cta{grid-template-columns:76px minmax(0,1fr);gap:20px 23px;padding:25px}.sponsor-home-badge{width:76px;height:91px;grid-row:1/3;align-self:start}.sponsor-home-cta .button{grid-column:2;justify-self:start}.sponsor-home-copy h2{font-size:29px}}
@media(max-width:650px){.sponsor-home-cta{grid-template-columns:62px minmax(0,1fr);gap:20px 18px;margin-top:-14px;margin-bottom:34px;padding:23px}.sponsor-home-badge{width:62px;height:74px;grid-row:auto}.sponsor-home-copy h2{font-size:25px;line-height:1.18;margin-bottom:10px}.sponsor-home-copy .eyebrow{font-size:8px;line-height:1.6;letter-spacing:.05em}.sponsor-home-copy p:not(.eyebrow){font-size:12px}.sponsor-home-cta .button{grid-column:1/-1;justify-self:stretch;white-space:normal}}
.badge-sponsor-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;margin-top:34px;padding:30px 34px;background:var(--cream);border:1px solid #c7b885;border-radius:10px}
.badge-sponsor-callout .eyebrow{color:#806117;font-size:9px;margin-bottom:11px}
.badge-sponsor-callout h3{font-size:29px;line-height:1.15;margin:0 0 12px}
.badge-sponsor-callout p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:640px}
.badge-sponsor-callout .button{font-size:13px;justify-self:start}
@media(max-width:760px){.badge-sponsor-callout{grid-template-columns:1fr;padding:26px;gap:22px}.badge-sponsor-callout h3{font-size:27px}}
@media(max-width:850px){.badges-heading{grid-template-columns:1fr;gap:22px}.badges-heading>p{max-width:650px}.badge-grid{gap:20px}.badge-copy{padding:25px}.badge-visual img{height:390px}.badge-visual figcaption{padding:12px 20px}.badge-criteria{padding:28px}.badge-criteria-list{gap:22px}}
@media(max-width:650px){.badges-heading{margin-bottom:27px}.badges-heading h2{font-size:43px}.badges-heading>p{font-size:14px}.badge-grid{grid-template-columns:1fr;gap:24px}.badge-visual img{height:auto;max-height:530px}.badge-copy{padding:26px}.badge-copy h3{font-size:29px}.badge-criteria{margin-top:25px;padding:26px}.badge-criteria h3{font-size:25px}.badge-criteria-list{grid-template-columns:1fr;gap:22px}.badge-criteria-list li{padding-top:17px}.badge-criteria-list h4{font-size:19px}.badge-section-actions{align-items:flex-start;flex-direction:column;gap:20px}}
@media(prefers-reduced-motion:reduce){.badges-section{scroll-behavior:auto}}

/* Five earned membership ranks. */
.membership-progression{margin-top:44px;padding-top:40px;border-top:1px solid #bdcfc7;scroll-margin-top:110px}
.membership-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:30px}
.membership-intro .eyebrow{font-size:10px;letter-spacing:.15em;color:#087c86;margin:0 0 12px}
.membership-intro h3{font-size:clamp(29px,3.1vw,43px);line-height:1.15;margin:0}
.membership-intro>p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:490px}
.membership-ranks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.membership-rank{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center}
.membership-rank:not(:last-child)::after{content:"";position:absolute;top:19px;left:50%;width:calc(100% + 14px);height:2px;background:#91b9b8}
.membership-marker{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#e6f0eb;border:2px solid #087c86;color:#087c86;font-weight:800;font-size:14px;margin-bottom:16px}
.membership-rank-card{position:relative;z-index:1;background:var(--cream);border:1px solid #bdcfc7;border-radius:12px;padding:22px 18px;width:100%;flex:1;box-sizing:border-box}
.membership-level{font-size:9px;font-weight:800;letter-spacing:.08em;color:#087c86;margin:0 0 10px;line-height:1.5}
.membership-rank-card h4{font-size:20px;line-height:1.2;letter-spacing:-.035em;margin:0 0 14px;min-height:48px}
.membership-description{font-size:12.5px;line-height:1.75;color:var(--muted);margin:0 0 18px}
.membership-rank-card dl{margin:0;border-top:1px solid #d6dfd7;padding-top:15px}
.membership-rank-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;margin:0 0 7px}
.membership-rank-card dd{font-size:12.5px;line-height:1.75;color:var(--muted);margin:0 0 17px}
.membership-rank-card dd:last-child{margin-bottom:0}
.membership-rank-honor .membership-marker{color:#806117;border-color:#a38132;background:#f5edda}
.membership-rank-honor .membership-rank-card{background:#fbf5e7;border-color:#c8b781}
.membership-rank-honor .membership-level{color:#806117}
.membership-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:25px 0}
.membership-notes p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.membership-notes strong{color:var(--navy)}
@media(max-width:1100px){.membership-ranks{grid-template-columns:1fr;gap:18px}.membership-rank{display:grid;grid-template-columns:40px minmax(0,1fr);gap:18px;align-items:start}.membership-rank:not(:last-child)::after{top:20px;left:19px;width:2px;height:calc(100% + 18px)}.membership-marker{margin:18px 0 0}.membership-rank-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:30px;padding:22px 25px}.membership-level,.membership-rank-card h4,.membership-description{grid-column:1}.membership-rank-card h4{min-height:0;margin-bottom:10px;font-size:24px}.membership-description{margin:0}.membership-rank-card dl{grid-column:2;grid-row:1/4;border-top:0;border-left:1px solid #d6dfd7;padding:0 0 0 25px}.membership-rank-card dd,.membership-description{font-size:14px}}
@media(max-width:650px){.membership-intro{grid-template-columns:1fr;gap:18px}.membership-progression{margin-top:30px;padding-top:30px}.membership-rank{grid-template-columns:30px minmax(0,1fr);gap:12px}.membership-marker{width:30px;height:30px;font-size:12px;margin-top:20px}.membership-rank:not(:last-child)::after{left:14px}.membership-rank-card{display:block;padding:22px}.membership-rank-card dl{border-left:0;border-top:1px solid #d6dfd7;padding:17px 0 0;margin-top:18px}.membership-rank-card h4{font-size:23px}.membership-notes{grid-template-columns:1fr;gap:15px}}
