/* vntr.vc — community pages (membership, partners, about, team). Loaded after style.css, hero.css and home.css.
   Reuses the homepage components (hl-e hero, nums-mosaic, mf-grid, ptn-card, svc-card, join-card / join-photo, arch-v2, cm map)
   and adds only what these pages need. Body carries .pc. Palette tokens only; no eyebrows; two-column grids use minmax(0, …). */

/* ——— homepage rhythm and type, applied to these pages (home.css scopes them to [data-section="home"]) ——— */
.pc section:not(.hl) h2:not(.summit-title) { font-size: var(--home-h2); line-height: 1.08; letter-spacing: -.03em; max-width: 17em; text-wrap: balance; margin: 0 0 16px; }
.pc section:not(.hl) .sub { font-size: clamp(16px, 1.25vw, 18px); line-height: 1.6; max-width: 36em; text-wrap: pretty; }
.pc section[class*="tone-"]:not(.hl) { padding: var(--home-sec) 0; }
.pc section.pc-tight[class*="tone-"] { padding: clamp(40px, 4.4vw, 64px) 0; }
.pc h3.pc-h3 { font: 300 clamp(24px, 2vw, 30px)/1.15 var(--serif); letter-spacing: -.015em; margin: 0 0 20px; }
.pc .ev-grid { gap: 16px; }
.pc .ev-card { border: 0; border-radius: var(--r-lg); box-shadow: var(--shadow-card); transition: transform .25s ease, box-shadow .25s ease; }
.pc .ev-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.pc .ev-body { padding: 18px 22px 22px; }
.pc .ev-body h3 { font-size: 21px; }
@media (max-width: 719px) { .pc .ev-grid { padding: 4px 4px 16px; margin: -4px -4px 0; } }
.pc a:focus-visible, .pc button:focus-visible { outline: 2px solid var(--royal); outline-offset: 3px; }

/* ——— hero (hl-e) on inner pages: not a full screen, a calmer title ——— */
.pc .hl { min-height: 0; }
.pc .hl-e .hl-title { font-size: clamp(36px, 3.7vw, 58px); line-height: 1; letter-spacing: -.04em; max-width: 11em; }
.pc .hl-e .hl-title.long { font-size: clamp(32px, 3.1vw, 48px); max-width: 13em; }
.pc .hl-e-blue { gap: 40px; }
@media (min-width: 900px) {
  .pc .hl-e-grid { height: auto; min-height: min(calc(var(--hl-vh) - 2 * var(--hl-pad)), 700px); }
  .pc .hl-e-grid > .hl-e-photo { min-height: 520px; }
}
.pc-hero-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .24); font: 400 14px/1.4 var(--sans); color: rgba(255, 255, 255, .86); }
.pc-anchors { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pc-anchors a { display: inline-flex; align-items: center; min-height: 36px; padding: 8px 14px; border-radius: var(--r-pill); border: 1px solid rgba(255, 255, 255, .4); font: 500 13px/1 var(--sans); color: #fff; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.pc-anchors a:hover { background: #fff; color: var(--royal); border-color: #fff; }
.hl-e-blue a:focus-visible { outline-color: #fff; }

/* text hero (team) */
.pc-texthero { padding: clamp(56px, 7vw, 104px) 0 clamp(48px, 6vw, 88px) !important; }
.pc-texthero h1 { font: 300 clamp(40px, 5vw, 76px)/1 var(--serif); letter-spacing: -.04em; margin: 0 0 22px; max-width: 12em; text-wrap: balance; }
.pc-texthero .sub { margin-bottom: 32px; }
.pc-texthero .pc-anchors a { border-color: rgba(29, 29, 27, .2); color: var(--ink); background: #fff; }
.pc-texthero .pc-anchors a:hover { background: var(--royal); border-color: var(--royal); color: #fff; }
.pc-faces { display: flex; align-items: center; gap: 14px; margin-top: 36px; font: 400 14px/1.4 var(--sans); color: var(--mute); }
.pc-faces .hl-stack img { width: 44px; height: 44px; border: 3px solid var(--beige); }
.pc-faces .hl-stack img + img { margin-left: -12px; }

/* ——— cards shared by these pages ——— */
.pc-card { position: relative; min-width: 0; background: #fff; color: var(--ink); border-radius: var(--r-lg); padding: clamp(24px, 2.4vw, 32px); box-shadow: var(--shadow-card); }
.pc-card h3 { font: 300 clamp(24px, 2vw, 30px)/1.1 var(--serif); letter-spacing: -.02em; margin: 0 0 10px; color: var(--ink); }
.pc-card p { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(29, 29, 27, .68); }
.pc-card .link, .pc section[class*="tone-"] .pc-card .link { display: inline-block; margin-top: 18px; color: var(--royal); }
.pc section[class*="tone-"] .pc-card .link:hover { color: var(--navy); }
.tone-white .pc-card, .pc-card.flat { box-shadow: none; border: 1px solid rgba(29, 29, 27, .1); }
.tone-white .pc-card.beige { background: var(--beige); border-color: transparent; }
.pc-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--beige); margin-bottom: 28px; }
.pc-card.beige .pc-ico { background: #fff; }
.pc-ico svg { width: 22px; height: 22px; fill: none; stroke: var(--royal); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pc-grid { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .pc-grid.c2, .pc-grid.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pc-grid.c3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .pc-grid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pc-grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pc-grid > * { min-width: 0; }
.pc-small { font-size: 13px; line-height: 1.55; color: var(--mute); margin: 16px 0 0; max-width: 48em; }
.pc-small a { color: inherit; }

/* bullet list with royal dots */
.pc-list { list-style: none; margin: 0; padding: 0; }
.pc-list li { position: relative; padding: 9px 0 9px 22px; border-top: 1px solid rgba(29, 29, 27, .1); font-size: 15px; line-height: 1.5; color: rgba(29, 29, 27, .78); }
.pc-list li:first-child { border-top: 0; }
.pc-list li::before { content: ""; position: absolute; left: 2px; top: 17px; width: 7px; height: 7px; border-radius: 50%; background: var(--royal); }
.tone-blue .pc-list.on-blue li { border-color: rgba(255, 255, 255, .24); color: rgba(255, 255, 255, .9); }
.tone-blue .pc-list.on-blue li::before { background: #fff; }

/* pills */
.pc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pc-chips li { display: inline-flex; align-items: center; min-height: 36px; padding: 8px 14px; border-radius: var(--r-pill); background: #fff; border: 1px solid rgba(29, 29, 27, .12); font: 400 14px/1.2 var(--sans); color: var(--ink); }
.tone-white .pc-chips li { background: var(--beige); border-color: transparent; }

/* ——— people ——— */
/* portrait card: 4:5 photo, name in Taviraj, role, LinkedIn */
.pc-people { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
@media (min-width: 720px) { .pc-people { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pc-people.six { grid-template-columns: repeat(6, minmax(0, 1fr)); } .pc-people.five { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.pc-person { min-width: 0; display: flex; flex-direction: column; }
.pc-person .ph { position: relative; overflow: hidden; aspect-ratio: 4 / 5; border-radius: var(--r-lg); background: var(--photo); margin-bottom: 14px; }
.pc-person .ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.pc-person b { display: block; font: 400 clamp(20px, 1.6vw, 23px)/1.15 var(--serif); letter-spacing: -.01em; color: var(--ice); }
.pc-person span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.45; color: var(--mute); }
.pc-person span + span { margin-top: 2px; }
.pc-person .li { align-self: flex-start; margin-top: 8px; font: 500 13px/1 var(--sans); color: var(--royal); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.pc-person .li:hover { color: var(--navy); }

/* founding members: heading column + three portraits */
.pc-founders { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1000px) { .pc-founders { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px; } }
.pc-founders .pc-people { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 559px) { .pc-founders .pc-people { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pc-founders p { margin: 0; color: var(--mute); font-size: 15px; max-width: 26em; }

/* round avatar + name + role (speakers, chapter leads) */
.pc-faces-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .pc-faces-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pc-faces-grid.six { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.pc-face { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.pc-face img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; background: var(--photo); margin-bottom: 14px; }
.pc-face b { font: 400 19px/1.2 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.pc-face span { margin-top: 4px; font-size: 13px; line-height: 1.45; color: rgba(29, 29, 27, .62); }

/* panel: a big white rounded block inside a beige section */
.pc-panel { background: #fff; color: var(--ink); border-radius: var(--r-xl); padding: clamp(24px, 4vw, 56px); box-shadow: var(--shadow-card); min-width: 0; }
.pc-panel-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 32px; margin-bottom: 32px; }
.pc-panel-head .pc-h3 { margin: 0; }
.pc-panel .link { color: var(--royal); }

.pc-block + .pc-block { margin-top: clamp(48px, 5vw, 72px); }
.pc-block > .pc-h3 { margin-bottom: 20px; }

/* compact lead card (chapter leads) */
.pc-leads { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 560px) { .pc-leads { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .pc-leads { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .pc-leads { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pc-lead { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 14px 16px; background: var(--beige); border-radius: var(--r-md); }
.pc-lead img { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: #fff; }
.pc-lead > div { min-width: 0; }
.pc-lead b { display: block; font: 500 15px/1.3 var(--sans); color: var(--ink); }
.pc-lead span { display: block; font-size: 13px; line-height: 1.4; color: rgba(29, 29, 27, .62); }
.pc-lead a { color: var(--royal); text-decoration: none; }
.pc-lead a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pc-lead .li { font-size: 13px; font-weight: 500; }

/* wide person card (deals team) */
.pc-wide { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 20px; align-items: center; }
.pc-wide img { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; background: var(--photo); }
.pc-wide b { display: block; font: 300 clamp(24px, 2vw, 30px)/1.1 var(--serif); letter-spacing: -.02em; color: var(--ink); }
.pc-wide span { display: block; margin-top: 6px; font-size: 15px; color: rgba(29, 29, 27, .66); }
.pc-wide .li { display: inline-block; margin-top: 10px; font: 500 14px/1 var(--sans); color: var(--royal); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
@media (max-width: 479px) { .pc-wide { grid-template-columns: 80px minmax(0, 1fr); gap: 16px; } .pc-wide img { width: 80px; height: 80px; } }

/* ——— numbers: five figures (partners) ——— */
.nums.five .nt-blue span { color: rgba(255, 255, 255, .86); }

/* ——— chapters list by region (membership #chapters, rendered by chapters.js) ——— */
.pc-regions { display: grid; gap: 28px 32px; grid-template-columns: minmax(0, 1fr); margin-top: clamp(32px, 3.4vw, 48px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--line); }
@media (min-width: 720px) { .pc-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pc-regions .region { margin: 0; min-width: 0; }
.pc-regions .region b { display: block; font: 400 22px/1.2 var(--serif); letter-spacing: -.01em; text-transform: none; color: var(--ice); margin: 0 0 12px; }
.pc-regions .region button { display: inline-flex; align-items: baseline; gap: 4px; margin: 0 6px 8px 0; min-height: 38px; padding: 8px 14px; border-radius: var(--r-pill); border: 1px solid rgba(29, 29, 27, .12); background: #fff; font: 400 14px/1.2 var(--sans); color: var(--ink); cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.pc-regions .region button:hover { background: var(--royal); border-color: var(--royal); color: #fff; }
.pc-regions .region:nth-child(1) { grid-area: na; } .pc-regions .region:nth-child(2) { grid-area: eu; } .pc-regions .region:nth-child(3) { grid-area: me; }
.pc-regions .region:nth-child(4) { grid-area: ap; } .pc-regions .region:nth-child(5) { grid-area: la; } .pc-regions .region:nth-child(6) { grid-area: af; }
.pc-regions { grid-template-areas: "na" "eu" "me" "ap" "la" "af"; }
@media (min-width: 720px) { .pc-regions { grid-template-areas: "na eu" "me eu" "ap eu" "ap la" "ap af"; grid-template-rows: auto auto auto auto 1fr; } }
@media (min-width: 1100px) { .pc-regions { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr) minmax(0, 1.3fr); grid-template-areas: "na eu ap" "me eu ap" "la eu ap" "af eu ap"; grid-template-rows: auto auto auto 1fr; } }

/* chapter modal on these pages: homepage card language */
.pc .modal { background: #fff; border-radius: var(--r-xl); padding: clamp(24px, 4vw, 40px); }
.pc .modal h2 { font: 300 clamp(32px, 3vw, 42px)/1.05 var(--serif); letter-spacing: -.02em; margin: 0 0 6px; }
.pc .modal .who { font: 500 13px/1.4 var(--sans); letter-spacing: 0; text-transform: none; color: var(--royal); }
.pc .modal .link { color: var(--royal); }
.pc .modal .btn.dark { --btn-bg: var(--royal); --btn-fg: #fff; --btn-hover-bg: var(--navy); --btn-hover-fg: #fff; }
.pc-nolead { margin: 0; padding: 14px 16px; border-radius: var(--r-md); background: var(--beige); font-size: 14px; line-height: 1.5; color: var(--ink); }
.pc-nolead a { color: var(--royal); font-weight: 500; }

/* ——— events (membership) ——— */
.pc-flag { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); margin-top: 16px; }
@media (min-width: 900px) { .pc-flag { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.pc-flag > a { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 280px; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-xl); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.pc-flag > a:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.pc-flag h3 { font: 300 clamp(28px, 2.6vw, 40px)/1.05 var(--serif); letter-spacing: -.02em; margin: 0 0 12px; }
.pc-flag p { margin: 0; max-width: 30em; font-size: 15px; line-height: 1.6; }
.pc-flag .go { margin-top: 20px; font: 500 14px/1 var(--sans); }
.pc-flag .summit { background: #000 url("summit/summit-hero-bg.jpg") center / cover no-repeat; color: #fff; }
.pc-flag .summit::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .35), transparent 70%); }
.pc-flag .summit > * { position: relative; }
.pc-flag .summit h3 { text-transform: uppercase; font-weight: 400; letter-spacing: -.005em; background: linear-gradient(180deg, #A9D1FC 0%, #8AAFF1 45%, #5574DF 100%); -webkit-background-clip: text; background-clip: text; color: transparent; max-width: 12em; }
.pc-flag .summit p { color: rgba(255, 255, 255, .84); }
.pc-flag .summit .go { color: var(--sky); }
.pc-flag .roadshow { background: var(--royal); color: #fff; }
.pc-flag .roadshow p { color: rgba(255, 255, 255, .86); }
.pc-flag .roadshow .go { color: var(--ice-blue); }

.pc-recent { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .pc-recent { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pc-recent { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.pc-flag + .pc-block, .ptn-grid + .pc-block, .pc-grid + .pc-block, .pc-people + .pc-block { margin-top: clamp(48px, 5vw, 72px); }
.pc-recent li { min-width: 0; }
.pc-recent .cv { aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--r-md); background: var(--beige); }
.pc-recent .cv img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pc-recent b { display: block; margin-top: 12px; font: 400 19px/1.2 var(--serif); color: var(--ink); }
.pc-recent span { display: block; font-size: 13px; color: rgba(29, 29, 27, .62); }

/* ——— join (membership) ——— */
.pc-join { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .pc-join { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.pc-join-side { display: grid; gap: 16px; grid-template-rows: 1fr 1fr; min-width: 0; }
.pc-join-side .pc-card { display: flex; flex-direction: column; }
.pc-join-side .pc-card .link { margin-top: auto; padding-top: 18px; align-self: flex-start; border-bottom: 0; }
.pc-join-side .pc-card .link span { border-bottom: 1px solid currentColor; padding-bottom: 1px; }

/* ——— forms ——— */
.pc-split { display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1000px) { .pc-split { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; } .pc-split.even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.pc-split > * { min-width: 0; }
.pc-form { background: #fff; color: var(--ink); border-radius: var(--r-xl); padding: clamp(24px, 3.2vw, 40px); box-shadow: var(--shadow-card); }
.tone-white .pc-form { box-shadow: none; background: var(--beige); }
.pc-form h3 { font: 300 clamp(26px, 2.2vw, 32px)/1.1 var(--serif); letter-spacing: -.02em; margin: 0 0 20px; }
.pc-field { display: block; margin: 0 0 14px; }
.pc-field > span { display: block; margin: 0 0 6px; font: 400 13px/1.3 var(--sans); color: rgba(29, 29, 27, .72); }   /* regular weight (founder, 26.10) */
.pc-field input, .pc-field textarea, .pc-field select { display: block; width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid rgba(29, 29, 27, .14); border-radius: 14px; background: var(--beige); font: 400 15px/1.4 var(--sans); color: var(--ink); transition: border-color .2s, background .2s, box-shadow .2s; -webkit-appearance: none; appearance: none; }
.tone-white .pc-form .pc-field input, .tone-white .pc-form .pc-field textarea, .tone-white .pc-form .pc-field select { background: #fff; }
.pc-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D1B' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; padding-right: 40px; }
.pc-field textarea { min-height: 112px; resize: vertical; }
.pc-field input:focus, .pc-field textarea:focus, .pc-field select:focus { outline: none; border-color: var(--royal); background: #fff; box-shadow: 0 0 0 3px rgba(55, 100, 221, .16); }
.pc-field input::placeholder, .pc-field textarea::placeholder { color: rgba(29, 29, 27, .42); }
.pc-row2 { display: grid; gap: 0 14px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 560px) { .pc-row2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.pc-form .btn { margin-top: 6px; --btn-bg: var(--royal); --btn-fg: #fff; --btn-hover-bg: var(--navy); --btn-hover-fg: #fff; }
.pc-form .pc-small { color: rgba(29, 29, 27, .6); }
.pc-form .pc-small a { color: var(--royal); }
.pc-sent { display: none; margin: 14px 0 0; padding: 12px 16px; border-radius: 14px; background: rgba(55, 100, 221, .1); color: var(--navy); font-size: 14px; }
.pc-form.is-sent .pc-sent { display: block; }

/* start a chapter: two lists side by side */
.pc-two { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); margin-top: 8px; }
@media (min-width: 640px) { .pc-two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.pc-two .pc-card h3 { font-size: 24px; margin-bottom: 8px; }

/* ——— split with photo ——— */
.pc-media { position: relative; overflow: hidden; margin: 0; border-radius: var(--r-xl); background: var(--photo); min-height: 360px; }
.pc-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1000px) { .pc-media { min-height: 0; height: 100%; } .pc-split.stretch { align-items: stretch; } }

/* ——— closing: royal card ——— */
.pc-close { position: relative; overflow: hidden; border-radius: var(--r-xl); background: var(--royal); color: #fff; padding: clamp(40px, 6vw, 88px) clamp(24px, 4vw, 56px); text-align: center;
  --ice: #fff; --sky: var(--ice-blue);
  --btn-bg: #fff; --btn-fg: var(--royal); --btn-hover-bg: var(--beige); --btn-hover-fg: var(--navy);
  --btn2-line: rgba(255, 255, 255, .6); --btn2-hover-bg: #fff; --btn2-hover-fg: var(--royal); }
.pc section .pc-close h2 { margin: 0 auto 28px !important; max-width: 15em; color: #fff; }
.pc-close .btns { justify-content: center; }
.pc-close .hl-stack { justify-content: center; margin-bottom: 24px; }
.pc-close .hl-stack img { border-color: var(--royal); width: 40px; height: 40px; }
.pc-close a:focus-visible { outline-color: #fff; }
@media (max-width: 559px) { .pc-close .btns .btn { flex: 1 1 100%; } }
/* closing card next to the testimonial photo (membership) */
.join-grid .pc-close { display: flex; flex-direction: column; justify-content: center; text-align: left; }
.join-grid .pc-close .btns { justify-content: flex-start; }
.pc section .join-grid .pc-close h2 { margin: 0 0 28px !important; }

/* ——— partners ——— */
.pc-steps { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); counter-reset: none; }
@media (min-width: 800px) { .pc-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pc-steps li { min-width: 0; display: flex; flex-direction: column; gap: 22px; padding: 24px 26px 28px; border-radius: var(--r-lg); background: var(--beige); font-size: 16px; line-height: 1.5; color: var(--ink); }
.pc-steps b { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; font: 500 13px/1 var(--sans); color: var(--royal); }
.pc-fmt { margin-top: 16px; }
.pc-fmt .svc-card { min-height: 0; cursor: default; }
.pc-fmt .svc-card:hover { transform: none; box-shadow: var(--shadow-card); }
.tone-white .pc-fmt .svc-card { border: 1px solid rgba(29, 29, 27, .1); box-shadow: none; }
.pc-fmt .svc-card h3 { margin-top: 0; }
.pc-fmt .svc-card .pc-list { margin: 8px 0 0; }
.pc-fmt .svc-card .pc-list li { font-size: 14px; padding: 7px 0 7px 20px; }
.pc-fmt .svc-card .pc-list li::before { top: 14px; width: 6px; height: 6px; }
.pc-fmt .svc-card .meta { margin: 14px 0 0; font-size: 14px; color: rgba(29, 29, 27, .66); }
.pc-fmt .svc-card .link { margin-top: auto; padding-top: 20px; align-self: flex-start; color: var(--royal); border: 0; }
.pc-fmt .svc-card .link span { border-bottom: 1px solid currentColor; padding-bottom: 1px; }

/* summit-style audience card */
.pc-summit { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); border-radius: var(--r-xl); background: #000 url("summit/summit-hero-bg.jpg") center / cover no-repeat; color: #fff; margin-top: 16px; }
.pc-summit-txt { position: relative; padding: clamp(28px, 4vw, 56px); }
.pc-summit-txt h3 { font: 400 clamp(30px, 3vw, 44px)/1.02 var(--serif); text-transform: uppercase; margin: 0 0 16px; background: linear-gradient(180deg, #A9D1FC 0%, #8AAFF1 45%, #5574DF 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pc-summit-txt p { margin: 0; max-width: 34em; color: rgba(255, 255, 255, .84); font-size: 16px; line-height: 1.6; }
.pc section .pc-summit-txt .link { display: inline-block; margin-top: 22px; color: #5CB2FF; border-bottom: 1px solid currentColor; text-decoration: none; font-weight: 500; }
.pc section .pc-summit-txt .link:hover { color: #fff; }
.pc-summit-ph { position: relative; min-height: 240px; }
.pc-summit-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
@media (min-width: 900px) { .pc-summit { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } .pc-summit-ph { margin: 16px; border-radius: var(--r-md); overflow: hidden; } }

/* corporate on blue */
.pc-benefits { background: #fff; color: var(--ink); border-radius: var(--r-xl); padding: clamp(24px, 3vw, 40px); }
.pc-benefits .pc-list li { font-size: 16px; padding: 14px 0 14px 24px; }
.pc-benefits .pc-list li::before { top: 22px; }
.tone-blue .pc-small { color: rgba(255, 255, 255, .8); }
.tone-blue .pc-small a { color: #fff; }

/* tier cards with a line of text */
.pc-tiers .ptn-card { min-height: 0; padding: 18px 22px 22px; }
.pc-tiers .ptn-logo { min-height: 96px; }
.pc-tiers .ptn-card p { margin: 4px 0 0; text-align: center; font-size: 14px; line-height: 1.5; color: rgba(29, 29, 27, .66); max-width: 28em; }
.pc-tiers .ptn-card .go { margin-top: 14px; font: 500 13px/1 var(--sans); color: var(--royal); }

/* past sponsors: 35 logos on 2:1 canvases */
.pc-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: var(--r-lg); overflow: hidden; background: #fff; border: 1px solid rgba(29, 29, 27, .1); }
@media (min-width: 560px) { .pc-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pc-logos { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.pc-logos li { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 96px; padding: 10px; box-shadow: 0 0 0 .5px rgba(29, 29, 27, .1); }
.pc-logos img { display: block; width: 100%; max-width: 140px; height: auto; aspect-ratio: 2 / 1; object-fit: contain; filter: grayscale(1); opacity: .78; mix-blend-mode: multiply; transition: filter .25s, opacity .25s; }
.pc-logos li:hover img { filter: none; opacity: 1; }

/* testimonial strip */
.pc-quote { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; margin: 16px 0 0; padding: clamp(24px, 3.2vw, 40px); border-radius: var(--r-xl); background: #fff; color: var(--ink); box-shadow: var(--shadow-card); }
@media (min-width: 720px) { .pc-quote { grid-template-columns: 120px minmax(0, 1fr); gap: 32px; } }
.pc-quote img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; object-position: 50% 25%; }
.pc-quote p { margin: 0; font: 300 clamp(20px, 1.8vw, 26px)/1.4 var(--serif); letter-spacing: -.01em; text-wrap: pretty; }
.pc-quote footer { margin-top: 14px; font-size: 14px; color: rgba(29, 29, 27, .62); }
.pc-quote cite { font-style: normal; font-weight: 500; color: var(--ink); }

/* contact person card (partners #apply) */
.pc-contact { display: flex; align-items: center; gap: 16px; margin-top: 28px; padding: 20px; border-radius: var(--r-lg); background: var(--beige); max-width: 460px; }
.pc-contact img { flex: none; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.pc-contact b { display: block; font: 400 22px/1.15 var(--serif); }
.pc-contact span { display: block; font-size: 14px; color: rgba(29, 29, 27, .62); }
.pc-contact .btns { margin-top: 10px; gap: 8px 16px; }
.pc-contact .btn { min-height: 40px; padding: 9px 18px; font-size: 14px; }
.pc-contact .link { color: var(--royal); font-size: 14px; }

/* speaker modal */
.pc .modal .pc-form { padding: 0; box-shadow: none; background: transparent; }
.pc .modal .pc-form .pc-field input, .pc .modal .pc-form .pc-field textarea { background: var(--beige); }

/* ——— about ——— */
.pc .arch-v2 .tops > a .go { margin-top: auto; padding-top: 18px; font: 500 14px/1 var(--sans); color: var(--royal); }
.pc .arch-v2 .base .os-logo { height: clamp(28px, 2.4vw, 36px); width: auto; display: block; }

.pc-values { list-style: none; margin: 0; padding: 0; }
.pc-values li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 32px; padding: 20px 0; border-top: 1px solid var(--line); }
.pc-values li:last-child { border-bottom: 1px solid var(--line); }
@media (min-width: 640px) { .pc-values li { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: baseline; } }
.pc-values b { font: 600 clamp(17px, 1.4vw, 20px)/1.3 var(--sans); letter-spacing: -.01em; color: var(--royal); }   /* bold Poppins labels (founder, 26.10) — Taviraj is for headings only */
.pc-values span { font-size: 16px; line-height: 1.6; color: var(--mute); }
.pc-lead-txt { font: 400 clamp(19px, 1.7vw, 24px)/1.5 var(--sans); letter-spacing: -.005em; color: var(--ice); max-width: 26em; margin: 0; text-wrap: pretty; }   /* Poppins regular (founder, 26.10) */
@media (min-width: 1000px) { .pc-split.values > :first-child { position: sticky; top: 112px; } }

.pc-time { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); }
.pc-time li { position: relative; min-width: 0; padding: 0 0 28px 32px; }
.pc-time li::before { content: ""; position: absolute; left: 5px; top: 12px; bottom: -12px; width: 1px; background: rgba(29, 29, 27, .18); }
.pc-time li:last-child::before { display: none; }
.pc-time li::after { content: ""; position: absolute; left: 0; top: 8px; width: 11px; height: 11px; border-radius: 50%; background: var(--royal); box-shadow: 0 0 0 4px var(--beige); }
.pc-time b { display: block; font: 300 clamp(36px, 3.4vw, 52px)/1 var(--serif); letter-spacing: -.03em; color: var(--ice); margin-bottom: 10px; }
.pc-time b em { font-style: normal; display: block; margin-top: 8px; font: 400 20px/1.2 var(--serif); letter-spacing: -.01em; }
.pc-time p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--mute); max-width: 26em; }
@media (min-width: 1000px) {
  .pc-time { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
  .pc-time li { padding: 36px 0 0; }
  .pc-time li::before { left: 0; right: -24px; top: 5px; bottom: auto; width: auto; height: 1px; }
  .pc-time li:last-child::before { display: block; right: 0; }
  .pc-time li::after { top: 0; }
}

.pc-founder-card h2 { margin-bottom: 20px !important; }
.pc-founder-card .who-is { display: block; font: 400 24px/1.2 var(--serif); margin: 0 0 4px; }
.pc-founder-card .role { display: block; font-size: 14px; color: rgba(29, 29, 27, .62); margin-bottom: 18px; }
.pc-founder-card p.bio { margin: 0 0 28px; font-size: 16px; line-height: 1.65; color: rgba(29, 29, 27, .78); }
.pc-founder-card .btns { margin-top: auto; }
.pc .join-photo.founder > img { object-position: 50% 20%; }
.pc .join-photo.founder .join-quote { max-width: 440px; }

.pc-press { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 560px) { .pc-press { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .pc-press { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pc-kit { align-items: flex-start; justify-content: center; text-align: left; }
.pc-kit b { font: 300 26px/1.1 var(--serif); letter-spacing: -.02em; color: var(--ink); }
.pc-kit span { margin-top: 6px; font-size: 14px; line-height: 1.5; color: rgba(29, 29, 27, .62); }
.pc-kit .go { margin-top: 14px; font: 500 13px/1 var(--sans); color: var(--royal); }
.pc-kit:hover { transform: none; box-shadow: none; border-color: rgba(29, 29, 27, .12); }
.pc-line { margin: 20px 0 0; font-size: 15px; color: var(--mute); }
.pc-line a { color: var(--royal); font-weight: 500; text-decoration: none; border-bottom: 1px solid currentColor; }

.pc-contact-grid .pc-card { display: flex; flex-direction: column; }
.pc-contact-grid .pc-card .link { margin-top: auto; padding-top: 18px; align-self: flex-start; }
.pc-contact-grid .pc-card p { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) { .pc-flag > a, .pc-anchors a, .pc-regions .region button, .pc-logos img { transition: none; } }

/* forms.js: sending state and the error line above the button */
.pc-form.is-sending [type=submit] { opacity: .6; cursor: progress; }
.pc-err { margin: 0 0 12px; padding: 12px 16px; border-radius: 14px; background: rgba(200, 40, 40, .08); color: #9b1c1c; font-size: 14px; }
.pc-form.is-sent [type=submit], .pc-form.is-sent .pc-err { display: none; }

/* careers form: the optional CV file */
.pc-field.pc-file input[type=file] { padding: 10px 12px; font-size: 14px; cursor: pointer; }
.pc-field.pc-file input[type=file]::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 0; border-radius: 999px; background: var(--ink); color: #fff; font: 500 13px/1 var(--sans); cursor: pointer; }
