/* /protocol — the on-chain program, in the shared editorial language. */
.ProtocolLanding_root__s4cR4 {
  background: #ffffff;
  color: #0a0a0a;
}

.ProtocolLanding_kicker__nHAk2 {
  display: block;
  color: #8b8b83;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
}

/* ============================== hero ============================== */

.ProtocolLanding_hero__Nbntd {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(56px, 8vh, 96px) 24px clamp(28px, 4vh, 48px);
  text-align: center;
}

.ProtocolLanding_pill__Ekm_p {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #62625b;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.02em;
}

.ProtocolLanding_pill__Ekm_p i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--agenc-success, #1fb567);
}

.ProtocolLanding_hero__Nbntd h1 {
  margin: 18px 0 0;
  font-size: clamp(32px, 4.8vw, 58px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.05;
  text-wrap: balance;
}

.ProtocolLanding_hero__Nbntd h1 span {
  color: #8b8b83;
  font-weight: 300;
}

.ProtocolLanding_lede__okiXz {
  max-width: 660px;
  margin: 16px 0 0;
  color: #75756d;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.6;
}

.ProtocolLanding_heroCtas__u3_8z {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

/* Same segmented control as the home hero. */
.ProtocolLanding_ctaGroup__q3o7D {
  display: inline-flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #0a0a0a;
  border-radius: 9px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgb(10 10 10 / 4%);
  transition: box-shadow 200ms ease, transform 200ms ease;
}

.ProtocolLanding_ctaGroup__q3o7D:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgb(10 10 10 / 10%);
}

.ProtocolLanding_ctaPrimary__tpaWe,
.ProtocolLanding_ctaGhost__dH_ZT {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 21px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition: background 180ms ease;
}

.ProtocolLanding_ctaPrimary__tpaWe {
  background: #0a0a0a;
  color: #ffffff !important;
}

.ProtocolLanding_ctaPrimary__tpaWe span { transition: transform 200ms ease; }
.ProtocolLanding_ctaPrimary__tpaWe:hover { background: #1d1d1d; }
.ProtocolLanding_ctaPrimary__tpaWe:hover span { transform: translateX(3px); }

.ProtocolLanding_ctaGhost__dH_ZT {
  border-left: 1px solid #0a0a0a;
  background: #ffffff;
  color: #0a0a0a !important;
}

.ProtocolLanding_ctaGhost__dH_ZT:hover {
  background: #f4f4f1;
}

.ProtocolLanding_heroSmall__9Inbe {
  margin: 18px 0 0;
  color: #9a9a94;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 9.5px;
  letter-spacing: 0.04em;
}

/* ============================== film ============================== */

/* The film draws its own ink frame on paper, so the page adds none. The
   frame's shape comes from the viewport before hydration and from the file
   actually loaded after it (data-format), so it never jumps. Its width is
   capped so the whole film fits the viewport height. */
.ProtocolLanding_film__TZ2Wp {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px clamp(36px, 5vh, 60px);
}

.ProtocolLanding_filmFrame__oWibW {
  --film-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  max-width: max(280px, calc((100vh - 120px) * (var(--film-ratio))));
  max-width: max(280px, calc((100svh - 120px) * (var(--film-ratio))));
  margin: 0 auto;
  aspect-ratio: var(--film-ratio);
  border-radius: 10px;
  background: #ebe5d7 url("/protocol/agenc-protocol-16x9.jpg") center / cover no-repeat;
}

.ProtocolLanding_film__TZ2Wp[data-format="landscape"] .ProtocolLanding_filmFrame__oWibW {
  --film-ratio: 16 / 9;
  background-image: url("/protocol/agenc-protocol-16x9.jpg");
}

.ProtocolLanding_film__TZ2Wp[data-format="portrait"] .ProtocolLanding_filmFrame__oWibW {
  --film-ratio: 4 / 5;
  background-image: url("/protocol/agenc-protocol-4x5.jpg");
}

.ProtocolLanding_filmVideo__RJo0_ {
  display: block;
  width: 100%;
  height: 100%;
}

.ProtocolLanding_filmPlay__UinIq {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.ProtocolLanding_filmPill__W21Mk {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 20px 13px 18px;
  border-radius: 9px;
  background: #0a0a0a;
  box-shadow: 0 10px 28px rgb(10 10 10 / 22%);
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition: background 180ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.ProtocolLanding_filmPill__W21Mk svg {
  width: 11px;
  height: 13px;
}

.ProtocolLanding_filmPill__W21Mk em {
  color: #9a9a94;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.04em;
}

.ProtocolLanding_filmPlay__UinIq:hover .ProtocolLanding_filmPill__W21Mk {
  background: #1d1d1d;
  box-shadow: 0 14px 32px rgb(10 10 10 / 26%);
  transform: translateY(-1px);
}

.ProtocolLanding_filmPlay__UinIq:focus-visible {
  outline: none;
}

.ProtocolLanding_filmPlay__UinIq:focus-visible .ProtocolLanding_filmPill__W21Mk {
  outline: 2px solid #0a0a0a;
  outline-offset: 3px;
}

@media (max-width: 700px) and (orientation: portrait) {
  .ProtocolLanding_filmFrame__oWibW {
    --film-ratio: 4 / 5;
    background-image: url("/protocol/agenc-protocol-4x5.jpg");
  }
}

@media (max-width: 700px) {
  .ProtocolLanding_filmPill__W21Mk {
    padding: 12px 18px 12px 16px;
    font-size: 13.5px;
  }
}

/* ============================== blocks ============================ */

.ProtocolLanding_block__ZU3SU {
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(24px, 4vh, 44px) 24px;
  border-top: 1px solid #ececea;
}

.ProtocolLanding_fourCols__DM5S1,
.ProtocolLanding_threeCols__LwXan {
  display: grid;
  gap: clamp(18px, 2.4vw, 36px);
  margin-top: 22px;
}

.ProtocolLanding_fourCols__DM5S1 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ProtocolLanding_threeCols__LwXan { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.ProtocolLanding_fourCols__DM5S1 article > span,
.ProtocolLanding_threeCols__LwXan article > span {
  color: #8b8b83;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 9.5px;
  letter-spacing: 0.06em;
}

.ProtocolLanding_fourCols__DM5S1 h3,
.ProtocolLanding_threeCols__LwXan h3 {
  margin: 8px 0 0;
  font-size: 16.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.ProtocolLanding_fourCols__DM5S1 p,
.ProtocolLanding_threeCols__LwXan p {
  margin: 7px 0 0;
  color: #55554f;
  font-size: 13px;
  line-height: 1.55;
}

.ProtocolLanding_callouts__2DXOV {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.ProtocolLanding_callouts__2DXOV span {
  padding: 7px 12px;
  border: 1px solid #e2e2dd;
  border-radius: 7px;
  background: #fafaf8;
  color: #55554f;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.04em;
}

.ProtocolLanding_parts__jwupW {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.ProtocolLanding_parts__jwupW > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #e7e7e2;
  border-radius: 10px;
  background: #ffffff;
}

.ProtocolLanding_parts__jwupW span {
  color: #9a9a94;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 10px;
}

.ProtocolLanding_parts__jwupW strong {
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
}


/* ============================ start here ========================== */

.ProtocolLanding_qa__xu_xv {
  display: flex;
  flex-direction: column;
  gap: clamp(26px, 3.4vh, 40px);
  margin-top: 22px;
}

.ProtocolLanding_qa__xu_xv h2 {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.ProtocolLanding_qa__xu_xv p {
  margin: 12px 0 0;
  color: #55554f;
  font-size: 15px;
  line-height: 1.65;
}

/* ======================== run your own market ===================== */

.ProtocolLanding_prose__yp7tX {
  margin-top: 14px;
}

.ProtocolLanding_prose__yp7tX h2 {
  margin: 0;
  font-size: clamp(22px, 2.6vw, 32px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.ProtocolLanding_prose__yp7tX p {
  margin: 14px 0 0;
  color: #55554f;
  font-size: 15px;
  line-height: 1.65;
}

.ProtocolLanding_prose__yp7tX > a {
  display: inline-block;
  margin-top: 16px;
  color: #0a0a0a !important;
  font-size: 14px;
  font-weight: 600;
}

.ProtocolLanding_prose__yp7tX > a:hover { text-decoration: underline; }

/* ============================== facts ============================= */

.ProtocolLanding_grid__qIWpI {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 34px) clamp(20px, 2.6vw, 36px);
  margin-top: 24px;
}

.ProtocolLanding_cell__Dbwh3 strong {
  display: block;
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.ProtocolLanding_cell__Dbwh3 span {
  display: block;
  margin-top: 6px;
  color: #55554f;
  font-size: 13px;
  line-height: 1.55;
}


/* Full-bleed engineering-grid band, same texture as the home live section. */
.ProtocolLanding_gridBand__WTspe {
  border-top: 1px solid #ececea;
  background-image:
    linear-gradient(#f2f2f2 1px, transparent 1px),
    linear-gradient(90deg, #f2f2f2 1px, transparent 1px);
  background-size: 56px 56px;
}

.ProtocolLanding_gridBand__WTspe .ProtocolLanding_block__ZU3SU { border-top: 0; }

/* =========================== stats + program ====================== */

.ProtocolLanding_stats__pSTCM {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 22px;
}

.ProtocolLanding_stats__pSTCM {
  border-top: 1px solid #0a0a0a;
  border-bottom: 1px solid #0a0a0a;
}

.ProtocolLanding_stats__pSTCM > div {
  min-width: 0;
  padding: 20px 12px;
}

.ProtocolLanding_stats__pSTCM strong {
  display: block;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.ProtocolLanding_stats__pSTCM span {
  display: block;
  margin-top: 4px;
  color: #8b8b83;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.05em;
}

.ProtocolLanding_programLine__8RaqC {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
  color: #55554f;
  font-family: var(--font-editorial-mono), ui-monospace, monospace;
  font-size: 10.5px;
  overflow-wrap: anywhere;
}

.ProtocolLanding_programLine__8RaqC em {
  color: #9a9a94;
  font-style: normal;
}

.ProtocolLanding_programLine__8RaqC a {
  color: #0a0a0a !important;
  font-weight: 600;
  white-space: nowrap;
}

.ProtocolLanding_pill__Ekm_p i[data-live="true"] { background: var(--agenc-success, #1fb567); }
.ProtocolLanding_pill__Ekm_p i { background: #b9b9b3; }

@media (max-width: 1020px) {
  .ProtocolLanding_stats__pSTCM { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ProtocolLanding_grid__qIWpI { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ProtocolLanding_fourCols__DM5S1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .ProtocolLanding_grid__qIWpI,
  .ProtocolLanding_fourCols__DM5S1,
  .ProtocolLanding_stats__pSTCM { grid-template-columns: 1fr; }
}

