/* ============================================================
   v2.css — "Core pages V2" redesign (About first).
   Builds on styles.css tokens (--ink, --ember, --text, Britanica).
   Dark editorial chrome + alternating dark/light sections.
   ============================================================ */
:root {
  --v2-ink: #0E1014;          /* V2 dark background */
  --v2-off: #F9F9F9;          /* light section background */
  --v2-ember: #F2460D;
  --v2-ember-2: #FF7C51;
  --v2-text: #F5F7FA;
  --v2-muted: rgba(245,247,250,.68);
  --v2-line: rgba(245,247,250,.14);
  --v2-ink-text: #0E1014;
  --v2-ink-muted: #45484F;
}

.v2 { background: var(--v2-ink); color: var(--v2-text); font-family: var(--font); }
.v2 main { display: block; }
.v2 .wrap { max-width: 1360px; margin-inline: auto; padding-inline: 40px; width: 100%; }
.v2 section { position: relative; }

/* Nav is the shared landing Navbar (.sitenav, styled in styles.css). */

/* ---- Shared section bits ---- */
.v2-eyebrow {
  display: inline-block; font-family: var(--mono); font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase; padding: 6px 12px; border: 1px solid currentcolor; border-radius: 6px;
  opacity: .8;
}
.v2-h2 { font-size: clamp(30px, 4vw, 52px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.08; }
.v2-lede { font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6; color: var(--v2-muted); }

/* ---- About hero ---- */
.v2hero { padding: 148px 0 0; }
.v2hero__head { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: end; margin-bottom: 40px; }
.v2hero__title { font-size: clamp(32px, 4.4vw, 58px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.06; }
.v2hero__sub { font-size: clamp(16px, 1.4vw, 19px); line-height: 1.55; color: var(--v2-muted); padding-bottom: 8px; }
.v2hero__img { width: 100%; border-radius: 16px; overflow: hidden; }
.v2hero__img img { display: block; width: 100%; height: clamp(280px, 40vw, 520px); object-fit: cover; }

/* ---- Story (dark) ---- */
.v2story { padding: clamp(70px, 9vw, 130px) 0; }
.v2story__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; }
.v2story h2 { margin: 20px 0 0; max-width: 12ch; }
.v2story__body { display: flex; flex-direction: column; gap: 20px; font-size: 17px; line-height: 1.65; color: var(--v2-muted); }

/* ---- Light sections ---- */
.v2-light { background: var(--v2-off); color: var(--v2-ink-text); }
.v2-light .v2-lede { color: var(--v2-ink-muted); }

/* ---- Principles ---- */
.v2principles { padding: clamp(70px, 9vw, 120px) 0; }
.v2principles > .wrap > h2 { text-align: center; margin-bottom: 64px; }
.v2principles__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 40px; max-width: 1040px; margin-inline: auto; }
.v2principle { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.v2principle:nth-child(4) { grid-column: 1 / 2; margin-left: 50%; transform: translateX(-50%); }
/* center the last two in a 3-col grid */
.v2principles__grid { grid-auto-flow: row; }
.v2principle__icon { height: 60px; display: flex; align-items: center; justify-content: center; }
/* Cap both dimensions so wide icons (e.g. the infinity, 80×38) don't
   optically dwarf the taller ones — balances the set to one bounding box. */
.v2principle__icon img { width: auto; height: auto; max-width: 60px; max-height: 52px; }
.v2principle h3 { font-size: 21px; font-weight: 700; letter-spacing: -0.01em; }
.v2principle p { font-size: 15px; line-height: 1.6; color: var(--v2-ink-muted); max-width: 34ch; }

/* row of 2 centered: use a modifier wrapper instead of nth hacks */
.v2principles__row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 300px)); gap: 40px; justify-content: center; margin-top: 48px; }

/* ---- Team / advisors ---- */
.v2team { padding: clamp(60px, 8vw, 110px) 0; }
.v2team__head h2 { margin-bottom: 12px; }
.v2team__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin-top: 48px; }
.v2card__photo { width: 100%; aspect-ratio: 3 / 4; border-radius: 12px; overflow: hidden; background: #E9E9E9; position: relative; }
.v2card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.v2card__li {
  position: absolute; right: 10px; bottom: 10px; width: 26px; height: 26px;
  display: inline-flex; background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiByeD0iNCIgZmlsbD0iIzBBNjZDMiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik00Ljk4IDguNWgzLjA0VjE5SDQuOThWOC41ek02LjUgMy45YTEuNzYgMS43NiAwIDEgMSAwIDMuNTIgMS43NiAxLjc2IDAgMCAxIDAtMy41MnpNOS45IDguNWgyLjkydjEuNDNoLjA0Yy40MS0uNzcgMS40LTEuNTggMi44OC0xLjU4IDMuMDggMCAzLjY1IDIuMDMgMy42NSA0LjY2VjE5aC0zLjA0di00LjRjMC0xLjA1LS4wMi0yLjQtMS40Ni0yLjQtMS40NiAwLTEuNjkgMS4xNC0xLjY5IDIuMzJWMTlIOS45VjguNXoiLz48L3N2Zz4=") center/contain no-repeat;
}
.v2card__name { font-size: 17px; font-weight: 700; margin-top: 14px; }
.v2card__role { font-size: 14px; color: var(--v2-ink-muted); margin-top: 3px; }

/* ---- CTA band ---- */
.v2cta { padding: clamp(90px, 12vw, 150px) 0; background-size: cover; background-position: center; text-align: center; }
.v2cta__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(14,16,20,.55), rgba(14,16,20,.72)); }
.v2cta .wrap { position: relative; }
.v2cta h2 { font-size: clamp(34px, 5vw, 60px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.06; max-width: 16ch; margin-inline: auto; }
.v2cta p { margin: 20px auto 0; font-size: clamp(16px,1.4vw,19px); color: var(--v2-muted); }
.v2btn {
  display: inline-flex; align-items: center; justify-content: center; margin-top: 32px;
  padding: 14px 28px; border-radius: 10px; font: 700 15px var(--font); cursor: pointer;
  background: #fff; color: var(--v2-ink-text); transition: transform .2s ease, box-shadow .2s ease;
}
.v2btn:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.v2btn--ember { background: var(--v2-ember); color: #fff; }

/* Footer is the shared landing <Footer /> component (styled in styles.css). */

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .v2 .wrap { padding-inline: 22px; }
  .v2nav, .v2menu { padding-left: 22px; padding-right: 22px; }
  .v2hero__head, .v2story__grid { grid-template-columns: 1fr; gap: 24px; }
  .v2principles__grid { grid-template-columns: 1fr; max-width: 420px; gap: 40px; }
  .v2principles__row2 { grid-template-columns: 1fr; max-width: 420px; }
  .v2principle p { max-width: 40ch; }
  .v2team__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

/* ============================================================
   Resources page
   ============================================================ */
/* Dark hero with ember glow */
.v2reshero { position: relative; overflow: hidden; padding: 148px 0 90px; }
.v2reshero__glow { position: absolute; left: -10%; right: -10%; bottom: -35%; height: 85%;
  background: radial-gradient(50% 100% at 50% 100%, rgba(242,70,13,.95), rgba(242,70,13,.35) 42%, rgba(242,70,13,0) 72%); }
.v2reshero .wrap { position: relative; display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: end; }
.v2reshero__title { font-size: clamp(32px, 3.8vw, 52px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.08; max-width: 21ch; }
.v2reshero__sub { font-size: 16px; line-height: 1.55; color: var(--v2-muted); padding-bottom: 6px; }

/* Featured article */
.v2featured { padding: clamp(56px, 7vw, 88px) 0; }
.v2featured .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.v2featured__img { border-radius: 14px; overflow: hidden; aspect-ratio: 16 / 11; background: #E9E9E9; }
.v2featured__img img { width: 100%; height: 100%; object-fit: cover; }
.v2featured__meta { display: flex; gap: 10px; margin-bottom: 18px; }
.v2pill { display: inline-flex; align-items: center; padding: 6px 12px; border: 1px solid rgba(14,16,20,.2); border-radius: 8px; font-size: 13px; color: var(--v2-ink-text); background: #fff; }
.v2featured h2 { font-size: clamp(26px, 3vw, 40px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.v2featured p { margin-top: 16px; font-size: 17px; line-height: 1.6; color: var(--v2-ink-muted); }
.v2featured a.v2featured__link { color: inherit; }
.v2featured a.v2featured__link:hover h2 { color: var(--v2-ember); }

/* Latest + filter tabs */
.v2latest { padding: 0 0 clamp(70px, 9vw, 120px); }
.v2latest > .wrap > h2 { font-size: clamp(28px, 3.4vw, 44px); font-weight: 700; letter-spacing: -0.02em; }
.v2tabs { display: flex; flex-wrap: wrap; gap: 28px; margin: 28px 0 40px; border-bottom: 1px solid rgba(14,16,20,.12); }
.v2tab { background: none; border: none; padding: 0 0 14px; font: 500 15px var(--font); color: var(--v2-ink-muted); cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .15s ease, border-color .15s ease; }
.v2tab:hover { color: var(--v2-ink-text); }
.v2tab.is-active { color: var(--v2-ember); border-bottom-color: var(--v2-ember); }

.v2grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 32px; }
.v2acard { display: flex; flex-direction: column; }
.v2acard__img { border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 10; background: #E9E9E9; margin-bottom: 16px; }
.v2acard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.v2acard:hover .v2acard__img img { transform: scale(1.03); }
.v2acard__meta { display: flex; gap: 10px; margin-bottom: 12px; }
.v2acard h3 { font-size: 20px; font-weight: 700; line-height: 1.22; letter-spacing: -0.01em; }
.v2acard:hover h3 { color: var(--v2-ember); }
.v2acard p { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--v2-ink-muted); }
.v2acard[hidden] { display: none; }
.v2latest__more { display: flex; justify-content: center; margin-top: 48px; }
.v2latest__more button { padding: 13px 26px; border: 1px solid rgba(14,16,20,.22); border-radius: 10px; background: #fff;
  font: 600 15px var(--font); color: var(--v2-ink-text); cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.v2latest__more button:hover { border-color: var(--v2-ember); color: var(--v2-ember); }

@media (max-width: 900px) {
  .v2reshero .wrap, .v2featured .wrap { grid-template-columns: 1fr; gap: 24px; }
  .v2grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (min-width: 901px) and (max-width: 1120px) {
  .v2grid { grid-template-columns: repeat(2, 1fr); }
}

/* Article cards/featured without a real hero (some press posts ship a Webflow
   placeholder) get a branded tile instead of an empty gray box. */
.v2acard__img:not(:has(img)),
.v2featured__img:not(:has(img)) { background: radial-gradient(120% 100% at 100% 0, rgba(242,70,13,.32), #14181E 62%); }

/* ============================================================
   Contact page
   ============================================================ */
.v2contact { padding: 140px 0 clamp(70px,9vw,120px); }
.v2contact__title { font-size: clamp(40px,6vw,80px); font-weight:700; letter-spacing:-0.03em; line-height:1.03; }
.v2contact__sub { margin-top:18px; font-size: clamp(16px,1.4vw,19px); color: var(--v2-ink-muted); max-width: 58ch; }
.v2contact__band { position:relative; margin-top:40px; border-radius:16px; overflow:hidden; background-size:cover; background-position:center; padding: clamp(36px,6vw,80px) 20px; }
.v2contact__band::before { content:""; position:absolute; inset:0; background:rgba(14,16,20,.28); }
.v2contact__card { position:relative; background:#fff; border-radius:16px; max-width:560px; margin-inline:auto; padding: clamp(24px,3vw,38px); box-shadow:0 24px 60px rgba(0,0,0,.28); }
.v2contact__card .tvform-submit { background: var(--v2-ember); }

/* ============================================================
   Article template (blog post)
   ============================================================ */
.v2art__hero { padding: 140px 0 0; }
.v2art__crumb { font-size:14px; color: var(--v2-muted); margin-bottom:20px; }
.v2art__crumb a:hover { color: var(--v2-text); }
.v2art__title { font-size: clamp(32px,4.4vw,58px); font-weight:700; letter-spacing:-0.02em; line-height:1.07; max-width:22ch; }
.v2art__meta { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:26px 0 34px; flex-wrap:wrap; }
.v2art__author { display:flex; align-items:center; gap:12px; }
.v2art__avatar { width:44px; height:44px; border-radius:10px; overflow:hidden; background: radial-gradient(120% 120% at 30% 20%, var(--v2-ember-2), var(--v2-ember)); flex:0 0 auto; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:15px; letter-spacing:.02em; }
.v2art__avatar img { width:100%; height:100%; object-fit:cover; }
.v2art__author b { font-size:15px; font-weight:700; display:block; }
.v2art__author span { font-size:13px; color: var(--v2-muted); }
.v2art__share { display:flex; gap:14px; }
.v2art__share a { width:22px; height:22px; color: var(--v2-text); opacity:.8; }
.v2art__share a:hover { color: var(--v2-ember); opacity:1; }
.v2art__share svg { width:100%; height:100%; }
.v2art__img { border-radius:16px; overflow:hidden; }
.v2art__img img { display:block; width:100%; height:clamp(260px,38vw,480px); object-fit:cover; }
.v2art__body { background: var(--v2-off); color: var(--v2-ink-text); }
.v2artprose { max-width:860px; margin-inline:auto; padding: clamp(50px,7vw,88px) 24px 32px; font-size:18px; line-height:1.75; }
.v2artprose h1 { display:none; } /* title already in hero */
.v2artprose h2 { font-size:clamp(26px,3vw,36px); font-weight:700; letter-spacing:-0.01em; line-height:1.15; margin:44px 0 16px; }
.v2artprose h3 { font-size:22px; font-weight:700; margin:32px 0 12px; }
.v2artprose p { margin:0 0 20px; }
.v2artprose a { color: var(--v2-ember); text-decoration:underline; }
.v2artprose img { max-width:100%; height:auto; border-radius:12px; margin:28px 0 6px; }
.v2artprose figure { margin:28px 0; }
.v2artprose figcaption { font-size:14px; color: var(--v2-ink-muted); margin-top:8px; }
.v2artprose ul, .v2artprose ol { margin:0 0 20px 22px; }
.v2artprose li { margin:8px 0; }
.v2artprose blockquote { margin:30px 0; font-style:italic; font-size:21px; line-height:1.5; }
.v2artfoot { max-width:860px; margin-inline:auto; padding: 8px 24px clamp(56px,7vw,90px); }
.v2artfoot__row { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-bottom:26px; border-bottom:1px solid var(--v2-ember); }
.v2artfoot__label { font-size:19px; font-weight:700; margin-bottom:14px; }
.v2artfoot__social { display:flex; gap:14px; }
.v2artfoot__social a { width:24px; height:24px; color: var(--v2-ember); }
.v2artfoot__social svg { width:100%; height:100%; }
.v2artfoot__tags { display:flex; gap:8px; flex-wrap:wrap; }
.v2artfoot__tags span { border:1px solid rgba(14,16,20,.22); border-radius:8px; padding:6px 12px; font-size:13px; color: var(--v2-ink-text); }
@media (max-width:900px){ .v2art__meta{ align-items:flex-start; } }

/* ============================================================
   Solutions page
   ============================================================ */
.v2solhero { padding: 140px 0 clamp(56px,7vw,90px); }
.v2solhero__head { display:flex; flex-direction:column; align-items:flex-start; gap:22px; max-width:920px; margin-bottom:44px; }
.v2solhero__title { font-size: clamp(40px,6vw,82px); font-weight:700; letter-spacing:-0.03em; line-height:1.02; }
.v2solhero__lead { font-size:clamp(16px,1.4vw,19px); line-height:1.55; color: var(--v2-muted); max-width:64ch; }
.v2solhero__head .v2btn { margin-top:4px; }
.v2solhero__img { border-radius:16px; overflow:hidden; }
.v2solhero__img img { display:block; width:100%; height:clamp(280px,38vw,500px); object-fit:cover; object-position:center bottom; }

/* Shared carousel dots */
.v2dots { display:flex; justify-content:center; gap:10px; margin-top:24px; }
.v2dots button { width:9px; height:9px; padding:0; border:none; border-radius:50%; cursor:pointer; background:rgba(245,247,250,.32); transition:background-color .2s ease, transform .2s ease; }
.v2dots button:hover { background:rgba(245,247,250,.6); }
.v2dots button[aria-current="true"] { background:var(--v2-ember); transform:scale(1.3); }

/* Industry scenarios (carousel) */
.v2ind { position:relative; padding-bottom:40px; }
.v2ind__stage { position:relative; min-height:640px; }
.v2ind__slide { position:absolute; inset:0; display:flex; align-items:center; background-size:cover; background-position:center bottom; opacity:0; pointer-events:none; transition:opacity .6s ease; }
.v2ind__slide.is-active { opacity:1; pointer-events:auto; }
.v2ind__slide::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(14,16,20,.82), rgba(14,16,20,.4) 52%, rgba(14,16,20,.05) 100%); }
.v2ind__inner { position:relative; padding:56px 0; }
.v2ind__cat { display:inline-flex; padding:6px 12px; border:1px solid rgba(245,247,250,.4); border-radius:8px; font-size:13px; background:rgba(255,255,255,.08); color:#F5F7FA; margin-bottom:22px; }
.v2ind__q { font-size: clamp(24px,3vw,40px); font-weight:700; letter-spacing:-0.02em; line-height:1.14; color:#F5F7FA; max-width:20ch; }
.v2ind__callout { margin-top:34px; max-width:380px; background:#fff; border-radius:12px; padding:22px 24px; box-shadow:0 16px 40px rgba(0,0,0,.28); font-size:15px; line-height:1.5; color: var(--v2-ink-text); }

/* Capability (dark, carousel) */
.v2cap { background: var(--v2-ink); padding: clamp(70px,9vw,120px) 0; }
.v2cap > .wrap > h2 { text-align:center; font-size:clamp(28px,3.4vw,46px); font-weight:700; letter-spacing:-0.02em; }
.v2cap .panels { margin:44px auto 32px; }
.v2cap__sub { text-align:center; color: var(--v2-muted); font-size:clamp(16px,1.4vw,19px); }
.v2cap__cta { display:flex; justify-content:center; margin-top:28px; }

/* What changes (light) */
.v2changes { padding: clamp(70px,9vw,120px) 0; }
.v2changes .wrap { display:grid; grid-template-columns: 1fr 1.1fr; gap:56px; }
.v2changes h2 { font-size:clamp(30px,4vw,52px); font-weight:700; letter-spacing:-0.02em; line-height:1.08; }
.v2changes__list { display:flex; flex-direction:column; gap:36px; }
.v2change { display:flex; gap:22px; align-items:flex-start; }
.v2change__icon { width:52px; height:52px; flex:0 0 auto; color: var(--v2-ember); }
.v2change__icon svg { width:100%; height:100%; }
.v2change p { font-size:clamp(20px,1.9vw,26px); line-height:1.4; color: var(--v2-ink-text); padding-top:6px; }

@media (max-width:900px){
  .v2changes .wrap { grid-template-columns:1fr; gap:24px; }
  .v2ind__stage { min-height:600px; }
  .v2ind__inner { padding:40px 0; }
  .v2ind__callout { max-width:none; }
}
/* Demo form (.tvform*) is styled globally in styles.css so the book-a-demo
   modal renders correctly on every page (incl. the homepage, which loads only
   styles.css). Contact keeps the ember-submit override below. */

/* Light-top pages (e.g. Contact): force the shared nav to its solid state so the
   logo/links are readable over a light hero. */
.v2-navsolid .sitenav { background: rgba(10,12,15,.82) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }

/* Resources card "Read more" CTA */
.v2acard__more { margin-top: 14px; color: var(--v2-ember); font-weight: 600; font-size: 15px; }
.v2acard:hover .v2acard__more { text-decoration: underline; }

/* ============================================================
   Careers page
   ============================================================ */
.v2careers { padding: clamp(70px,9vw,110px) 0; }
.v2careers .v2-eyebrow { margin-bottom: 18px; }
.v2careers > .wrap > .v2-h2 { max-width: 22ch; margin-bottom: 48px; }
.v2careers__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.v2careers__grid--3 { grid-template-columns: repeat(3, 1fr); }
.v2ccard { background: #fff; border: 1px solid rgba(14,16,20,.1); border-radius: 16px; padding: 28px 26px; box-shadow: 0 10px 30px rgba(14,16,20,.05); }
.v2ccard h3 { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 12px; }
.v2ccard p { font-size: 15px; line-height: 1.6; color: var(--v2-ink-muted); }

/* Open roles */
.v2roles__list { list-style: none; display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
.v2role { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; border: 1px solid rgba(14,16,20,.1); border-radius: 14px; padding: 22px 26px; transition: border-color .15s ease, box-shadow .15s ease; }
.v2role:hover { border-color: var(--v2-ember); box-shadow: 0 12px 30px rgba(14,16,20,.08); }
.v2role__meta { display: flex; flex-direction: column; gap: 4px; }
.v2role__title { font-size: 19px; font-weight: 700; letter-spacing: -0.01em; }
.v2role__team { font-size: 13px; color: var(--v2-ink-muted); }
.v2btn--sm { margin-top: 0; padding: 11px 20px; font-size: 14px; flex: 0 0 auto; }
.v2roles__note { margin-top: 30px; font-size: 15px; color: var(--v2-ink-muted); }
.v2roles__note a { color: var(--v2-ember); text-decoration: underline; }

@media (max-width: 900px) {
  .v2careers__grid, .v2careers__grid--3 { grid-template-columns: 1fr; }
  .v2role { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   Event template (/event/[slug])
   ============================================================ */
.v2evt__lead { margin-top: 18px; font-size: clamp(17px,1.5vw,20px); line-height: 1.5; color: var(--v2-muted); max-width: 60ch; }
.v2evt__when { margin-top: 14px; font-size: 14px; color: var(--v2-muted); letter-spacing: .01em; }
.v2evt__hero .v2art__img { margin-top: 34px; }

.v2evt__speakers { padding: clamp(64px,8vw,104px) 0 clamp(40px,5vw,64px); }
.v2evt__speakers > .wrap > h2 { margin-bottom: 40px; }
.v2evt__spkgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.v2spk__photo { aspect-ratio: 4 / 5; border-radius: 12px; overflow: hidden; background: #E9E9E9; }
.v2spk__photo img { width: 100%; height: 100%; object-fit: cover; }
.v2spk__name { margin-top: 14px; font-size: 17px; font-weight: 700; }
.v2spk__title { margin-top: 3px; font-size: 14px; color: var(--v2-ink-muted); }

.v2evt__prose { padding-top: clamp(20px,3vw,36px); }

.v2evt__signup { background: var(--v2-off); padding: 0 24px clamp(64px,8vw,110px); }
.v2evt__signupcard { max-width: 860px; margin-inline: auto; background: #fff; border: 1px solid rgba(14,16,20,.08); border-radius: 16px; padding: clamp(28px,4vw,48px); box-shadow: 0 16px 44px rgba(14,16,20,.06); }
.v2evt__signupcard > h2 { font-size: clamp(26px,3vw,38px); font-weight: 700; letter-spacing: -0.02em; }
.v2evt__signupcard > p { margin: 12px 0 26px; font-size: 16px; line-height: 1.55; color: var(--v2-ink-muted); max-width: 54ch; }
.v2evt__signupcard .tvform-submit { background: var(--v2-ember); }

@media (max-width: 900px) {
  .v2evt__spkgrid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

/* ---- Related articles (article footer) ---- */
.v2related { background: var(--v2-off); color: var(--v2-ink-text); padding: 8px 0 clamp(60px,8vw,100px); }
.v2related .wrap { max-width: 1200px; }
.v2related h2 { font-size: clamp(24px,2.6vw,34px); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 32px; }
.v2related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 900px) { .v2related__grid { grid-template-columns: 1fr; } }
