/* ============================================================
   the-independent-2.css — faithful recreation of an
   independent.co.uk "Politics Explained" article page.

   Primary sources:
     · page.html  — publisher view-source (styled-components CSS,
                    inline <symbol> masthead + membership logos)
     · computed.json — measured styles from the live render
     · screens/desktop-fold.jpg — masthead, nav, type, palette
   Brand faces "Indy Serif" / "Indy Sans" are proprietary; the
   closest free equivalents are used (see fontsUsed in build.json).
   ============================================================ */

body.the-independent-2 {
  /* tokens lifted from the publisher's own custom properties */
  --brand: #eb1426;          /* --dot-color-action-brand-resting */
  --brand-ink: #ffffff;
  --member: #76071f;         /* --membership-eagle-color */
  --member-deep: #3b030f;    /* membership gradient stop */
  --member-cta: #780a20;     /* measured "BECOME A MEMBER NOW" fill */
  --paper: #ffffff;
  --ink: #222222;            /* --tbl-ink-base-resting */
  --ink-alt: #353533;        /* --dot-color-action-invert-resting */
  --muted: #646464;          /* --tbl-ink-muted-resting */
  --light: #919191;          /* --tbl-ink-light-resting */
  --rule: #d3d3d3;
  --canvas-2: #f7f7f7;       /* --tbl-canvas-secondary-resting */

  --serif: "Newsreader", Georgia, "Times New Roman", serif;   /* stand-in for Indy Serif */
  --sans: "Inter", Helvetica, Arial, sans-serif;              /* stand-in for Indy Sans  */

  --page: 1208px;            /* nav measure */
  --measure: 968px;          /* measured article-header width inside a 1440 viewport */
  --col: 636px;              /* measured body column */

  font-family: var(--serif);
  color: var(--ink);
  background: var(--paper);
}

body.the-independent-2 a { text-decoration: none; }

/* ---------------- masthead ---------------- */
.ind-top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 80px;
  padding: 8px 16px;
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
}
.ind-top-left { display: flex; align-items: center; gap: 4px; justify-self: start; }
.ind-top-right { display: flex; align-items: center; justify-content: flex-end; justify-self: end; }

.ind-burger {
  width: 56px; height: 56px;
  display: grid; place-items: center;
  background: none; border: 0; color: var(--ink-alt);
}
.ind-burger svg { width: 22px; height: 22px; }

.ind-edition {
  display: inline-flex; align-items: center; gap: 7px;
  background: none; border: 0; padding: 8px 10px;
  font-family: var(--sans); font-size: 16px; font-weight: 500; letter-spacing: -.01em;
  color: var(--ink);
}
.ind-edition svg { width: 11px; height: 11px; color: var(--ink-alt); transition: transform 150ms ease-out; }

.ind-switcher { position: relative; }
.ind-editions {
  position: absolute; top: 100%; left: 0; z-index: 90;
  display: none; min-width: 232px;
  background: var(--paper); border: 1px solid var(--rule);
  box-shadow: 0 16px 34px -18px rgba(0, 0, 0, .34);
}
.ind-editions a {
  display: flex; align-items: center; height: 40px; padding: 0 16px;
  font-family: var(--sans); font-size: 16px; letter-spacing: -.01em; color: var(--ink);
}
.ind-editions a:hover { background: var(--canvas-2); }
.ind-switcher:hover .ind-editions,
.ind-switcher:focus-within .ind-editions { display: block; }
.ind-switcher:hover .ind-edition svg { transform: rotate(180deg); }

.ind-logo { display: block; justify-self: center; }
.ind-logo img { display: block; height: 64px; width: auto; }

.ind-login {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-width: 140px; height: 32px; padding: 0 14px;
  border: 1px solid var(--rule); border-radius: 4px; background: var(--paper);
  font-family: var(--sans); font-size: 14px; font-weight: 700; letter-spacing: -.01em;
  color: var(--ink-alt);
}
.ind-login:hover { background: var(--canvas-2); }
.ind-login svg { width: 17px; height: 17px; }

/* ---------------- section nav ---------------- */
.ind-nav { border-bottom: 1px solid var(--rule); background: var(--paper); }
.ind-nav ol {
  max-width: var(--page); margin: 0 auto; padding: 0 16px;
  list-style: none;
  display: flex; align-items: stretch; justify-content: center;
  height: 48px;
}
.ind-nav li { display: flex; }
.ind-nav a,
.ind-nav button {
  display: flex; align-items: center;
  height: 48px; padding-inline: 16px;
  border: 0 solid transparent; border-bottom-width: 4px;
  background: transparent; appearance: none;
  color: var(--ink);
  font: bold 16px/20px var(--sans);
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: border-color 150ms ease-out, color 150ms ease-out;
}
.ind-nav a:hover, .ind-nav button:hover { border-bottom-color: var(--rule); }
.ind-nav li.is-active a { border-bottom-color: var(--brand); }

/* ---------------- page frame ---------------- */
.ind-main { max-width: calc(var(--measure) + 32px); margin: 0 auto; padding: 0 16px; }

.ind-crumb {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: 8px;
  padding: 18px 0 16px;
  font-family: var(--sans); font-size: 14px; font-weight: 700; letter-spacing: -.01em;
}
.ind-crumb a { color: var(--ink); }
.ind-crumb a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ind-crumb span { color: var(--light); font-weight: 400; }

/* ---------------- article header (centred, full measure) ---------------- */
.ind-head { text-align: center; padding: 10px 0 0; }

.ind-member-mark { display: block; height: 32px; width: auto; margin: 0 auto 18px; }

.ind-kicker {
  padding: 6px 0; margin: 0 0 20px;
  border-width: 1px 0; border-style: solid; border-color: var(--ink);
  color: var(--ink);
  text-align: center; text-transform: uppercase;
  letter-spacing: 4px;
  font: bold 16px/20px var(--sans);
}

.ind-h1 {
  font-family: var(--serif);
  font-weight: 700;
  /* 52px, not the measured 54px: Newsreader sets a touch wider than Indy
     Serif, and 52 keeps the headline on the same two lines as the source. */
  font-size: clamp(32px, 4.1vw, 52px);
  line-height: 1.075;
  letter-spacing: -.03em;
  color: var(--ink);
  margin: 0 0 18px;
}

.ind-stand {
  font-family: var(--sans);
  /* 19px for the same reason: Inter runs wider than Indy Sans at 20px */
  font-size: clamp(16px, 1.55vw, 19px);
  line-height: 1.2;
  letter-spacing: -.02em;
  font-weight: 400;
  color: var(--ink);
  margin: 0 auto 24px;
}
.ind-stand a { color: var(--member); font-weight: 700; }
.ind-stand a:hover { text-decoration: underline; text-underline-offset: 3px; }

.ind-meta { display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 0 0 26px; }
.ind-avatar { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; background: #ede6e7; }
.ind-avatar svg { display: block; width: 100%; height: 100%; }
.ind-meta time {
  font-family: var(--sans); font-size: 14px; letter-spacing: -.01em; color: var(--muted);
}

.ind-actions { display: flex; align-items: center; gap: 8px; }
.ind-ico,
.ind-comments {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 40px; border: 1px solid var(--rule); border-radius: 4px; background: var(--paper);
  color: var(--ink-alt);
  font-family: var(--sans); font-size: 14px; font-weight: 700; letter-spacing: -.01em;
}
.ind-ico { width: 40px; }
.ind-comments { padding: 0 16px; }
.ind-ico:hover, .ind-comments:hover { background: var(--canvas-2); }
.ind-ico svg, .ind-comments svg { width: 18px; height: 18px; }

.ind-hero { margin: 0 0 30px; }
.ind-hero img {
  display: block; width: 100%; height: auto;
  aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 26%;
  background: var(--canvas-2);
}
.ind-hero figcaption {
  font-family: var(--sans); font-size: 13px; line-height: 1.45;
  color: var(--muted); text-align: left; padding: 9px 0 0;
}
.ind-hero .credit { color: var(--light); }

/* ---------------- body ---------------- */
.ind-body { max-width: var(--col); margin: 0 auto; }
.ind-body p {
  font-family: var(--serif);
  font-size: 19px; line-height: 27px; color: #000;
  margin: 0 0 22px;
}
.ind-body p.lead { margin-bottom: 24px; }

/* boxed initial — the publisher's own ".big-letter" furniture */
.ind-cap {
  display: flex; position: relative;
  width: 0; height: 0; padding: 44px;
  align-items: center; justify-content: center;
  margin: 6px 14px 0 0;
  border: 1px solid var(--ink);
  color: var(--ink);
  float: left;
  text-transform: uppercase; letter-spacing: -.03em;
  font: normal 54px/1 var(--serif);
}

.ind-xhead {
  font-family: var(--serif);
  font-weight: 700; font-size: 24px; line-height: 1.2; letter-spacing: -.02em;
  color: #000;
  margin: 32px 0 14px;
}

.ind-pull {
  margin: 30px 0; padding: 18px 0;
  border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink);
  font-family: var(--serif);
  font-weight: 500; font-size: 24px; line-height: 1.26; letter-spacing: -.02em;
  color: var(--ink);
}

/* "Recommended" rail inside the body */
.ind-rec { margin: 32px 0; border-top: 3px solid var(--ink); padding-top: 12px; }
.ind-rec h3 {
  margin: 0 0 12px;
  font-family: var(--sans); font-size: 12px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--brand);
}
.ind-rec .r {
  display: grid; grid-template-columns: 120px 1fr; gap: 14px; align-items: start;
  padding: 14px 0; border-bottom: 1px solid var(--rule);
}
.ind-rec .r img {
  display: block; width: 120px; height: 80px; object-fit: cover; background: var(--canvas-2);
}
.ind-rec .r span {
  font-family: var(--serif); font-weight: 700; font-size: 17px; line-height: 1.22;
  letter-spacing: -.02em; color: var(--ink);
}
.ind-rec .r:hover span { color: var(--brand); }

/* topic tags */
.ind-topics {
  max-width: var(--col); margin: 34px auto 0; padding-top: 18px;
  border-top: 1px solid var(--rule);
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px;
}
.ind-topics h3 {
  margin: 0; font-family: var(--sans); font-size: 19px; font-weight: 700;
  line-height: 23px; letter-spacing: -.01em; color: #000;
}
.ind-topics ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.ind-topics a {
  font-family: var(--sans); font-size: 14px; line-height: 16px; letter-spacing: -.01em;
  color: var(--ink); text-decoration: underline; text-decoration-thickness: .03em; text-underline-offset: .18em;
}
.ind-topics a:hover { color: var(--brand); }

/* ---------------- membership promo (article foot) ---------------- */
.ind-promo {
  margin: 48px 0 0; padding: 56px 20px 48px;
  background: linear-gradient(90deg, #3b030f 0%, #3b030f 27%, #76071f 52%, #3b030f 100%);
  text-align: center;
}
.ind-promo-login {
  margin: 20px 0 0;
  font-family: var(--sans); font-size: 14px; line-height: 18px; letter-spacing: -.5px; color: #fff;
}
.ind-promo-login a { color: #fff; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.ind-promo-card {
  width: min(476px, 100%); margin: 0 auto;
  background: var(--paper); padding: 34px 38px 30px;
}
.ind-promo-card img { display: block; height: 26px; width: auto; margin: 0 auto 18px; }
.ind-promo-card h2 {
  margin: 0 0 10px;
  font-family: var(--serif); font-weight: 500; font-size: 32px; line-height: 36px;
  letter-spacing: -.023em; color: var(--ink);
}
.ind-promo-card p {
  margin: 0 0 20px;
  font-family: var(--sans); font-size: 14px; line-height: 20px; color: var(--muted);
}
.ind-promo-cta {
  display: flex; align-items: center; justify-content: center;
  height: 42px; border-radius: 4px;
  background: var(--member-cta); color: #fff;
  font-family: var(--sans); font-size: 14px; font-weight: 500; line-height: 16px;
  letter-spacing: -.5px; text-transform: uppercase;
}
.ind-promo-cta:hover { filter: brightness(1.1); }
.ind-promo-card .ind-promo-fine { margin: 14px 0 0; font-weight: 700; color: var(--ink); }
.ind-promo-card .ind-promo-fine a { color: var(--member); text-decoration: underline; text-underline-offset: 2px; }

/* ---------------- footer ---------------- */
.ind-foot { margin-top: 0; border-top: 1px solid var(--rule); background: var(--paper); }
.ind-foot-in { max-width: 1440px; margin: 0 auto; padding: 40px 56px 56px; }
.ind-foot-logo { display: block; margin: 0 0 30px; }
.ind-foot-logo img { display: block; height: 42px; width: auto; }
.ind-foot-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; max-width: 900px; }
.ind-foot-cols h4 {
  margin: 0 0 12px;
  font-family: var(--sans); font-size: 12px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
}
.ind-foot-cols ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.ind-foot-cols a { font-family: var(--sans); font-size: 14px; line-height: 18px; color: var(--muted); }
.ind-foot-cols a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.ind-foot-legal {
  margin: 34px 0 0; padding-top: 18px; border-top: 1px solid var(--rule);
  font-family: var(--sans); font-size: 12px; line-height: 1.5; color: var(--light);
}

/* ============================================================
   Rewarded gate, skinned as Independent Membership furniture
   ============================================================ */
body.the-independent-2 .gate-screen {
  background: rgba(255, 255, 255, .58);
  -webkit-backdrop-filter: blur(8px) saturate(104%);
  backdrop-filter: blur(8px) saturate(104%);
}

body.the-independent-2 .gate-eyebrow {
  font-family: var(--sans); font-size: 12px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--member);
}

body.the-independent-2 .reward-locker {
  border-radius: 2px;
  border: 1px solid var(--rule);
  box-shadow: 0 40px 90px -36px rgba(34, 6, 12, .5), 0 12px 30px -18px rgba(34, 6, 12, .34);
}

/* The generic padlock becomes the publisher's own eagle roundel.
   Inlined rather than referenced so the stylesheet carries no path that
   has to resolve from /css back up to /assets. Artwork is the masthead
   <symbol> extracted from page.html, red disc #eb1426, eagle #fff. */
body.the-independent-2 .lock-badge {
  width: 54px; height: 54px; margin: 0 auto 16px;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2264%22 height=%2264%22 viewBox=%220 0 36 36%22 fill=%22none%22 role=%22img%22 aria-label=%22The Independent%22%3E%3Cpath fill=%22%23eb1426%22 d=%22M18 0a18 18 0 1 0 0 36 18 18 0 0 0 0-36%22%3E%3C/path%3E%3Cpath fill=%22%23fff%22 d=%22m28.41 25.03-1.96-1.15s-1.3.25-3 .61l.07.03.07.06.08.06.09.16.01.08.01.04v.11l-.01.04-.02.04h-.04l-.01-.04-.02-.04-.01-.05-.03-.06-.03-.05-.03-.06-.04-.06-.06-.05-.05-.05-.05-.03-.13-.08-.36.08h.03l.15.09.07.07.1.16.01.08v.07l-.01.11-.02.04h-.04l-.01-.04-.01-.04-.02-.05-.03-.05-.03-.06-.03-.06-.04-.05q-.02-.04-.05-.06l-.05-.04-.05-.04-.05-.04-.05-.02-.03-.02-.03-.01-.97-.82.04-.25-.1-.57.1-.25v-.82l-1.06.94-.03-.03 3.1-3.64-.03-.06-.9-.16v-.04h1.62c.17.2.53.26.79.2v-.04l-.32-.53.14-.09q.18-.12.37.14c.12.18.18.4.04.54l.02.04a.8.8 0 0 0 .54-.3c.18-.25.15-.61-.07-.88l-.54-.56a.9.9 0 0 0-.58-.94l-1.54-.6h-2.1v-.05l2.08-.25.63-.55 2.38-.95a.6.6 0 0 0 .32-.34l1.26-3.38 2.93-3.96-.02-.03-1.93 1.37-.02-.03.81-1.63-.03-.03-1.26 1.81-.04-.01.15-1.8-.05-.02-.45 1.84h-.05L27.2 6.1l-.04.01.54 2.2-.06 1.03h-.04l-.12-.9-1.3-2.21-.03.02 1.04 2.33.08 1.72h-.05L27 8.7l-1.7-2.15-.03.02 1.46 2.25.1 2.36h-.04l-.3-2.23-1.89-1.97-.03.03 1.6 2.1.2 2.7h-.05l-.43-2.57-1.96-1.68-.03.03 1.7 1.84.28 2.83h-.04l-.57-2.66-1.99-1.35-.03.03 1.7 1.5.47 2.8-.05.02-.74-2.62-1.88-1.03-.03.03 1.62 1.19.53 2.71-.04.01-.85-2.49-1.77-.67-.02.04 1.5.85.6 2.48-.03.01-.94-2.23-1.68-.3-.01.04 1.39.5.71 2.17-.03.01-1.08-1.84-1.41-.12-.01.05 1.1.36.84 1.75-.03.02-1.17-1.4-1.27.07v.05l1 .19.94 1.36-.03.03-1.21-1-1.37.3v.05h1.13l1.03.97-.03.03-1.24-.58-1.43.22v.05l1.27.05 1.08.68-.01.04-1.2-.4-1.9.36v.04l1.8-.04 1.09.5-.02.04-1.14-.27-2.9.5v.03l2.27.18v.04l-1.81.32v.04l1.24.07v.05l-1.42.37.6.8-.03.03L17 16.1l-3.56-4.94-3.25-1.66-2.57-2.32-.78-2.13H6.8l.28 2.42 1.25 2-.04.03L6.47 8 5.6 6.31l-.05.01.3 1.96.9 1.61-.03.03-1.45-1.18-.75-1.12-.04.02.35 1.52.92 1.35-.03.03-1.43-.82-.64-.8-.04.02.41 1.18.67.84-.03.03-.66-.13-.02.04 1.41 1.33-.01.04-1.22-.08-.01.06 1.75 1.09-.01.04-.81.06v.05l2.02.77v.03l-.8.28.01.05 4.9.36v.03l-2.73.03-.05.55 3.41-.05v.04l-2.44.27-.11.66 3.32-.46.01.04-2.6.6-.03.77 3.41-.94.02.04-2.82 1.1.02.7 3.45-1.43.01.04-2.78 1.5.1.72 3.37-1.72.02.03-2.76 1.75.16.61 3.26-1.79.02.04-2.53 1.69.24.65 2.69-1.6.03.03-1.77 1.3.31.62 1.3-.8.03.04-.5.42.25.49.3-.1.4-.15.23-.08.1-.05.12-.06.2-.14.04-.04.04-.04.08-.1.07-.08.07-.09.05-.09.04-.08.1-.29.02-.08.01-.03h.04v.12l-.04.14-.05.17-.04.1-.05.1-.06.1-.07.1-.08.1-.04.04-.05.04-.2.18-.11.07-.12.07-.63.27-3.76 1.4-2.46 3.87.14.1 2.75-3.2.03.03-1.63 2.4 1-.15 1.51-2.23.04.02-1.1 2.16.94-.06 1.02-2.09.05.02-.7 2.05.96-.07.6-1.96h.04L15 25.29l.97-.19.21-1.77h.05v1.69l.72-.41-.1-1.27h.04l.25 1.15.26.15.2.52.27.1.58.46.22.18-.02.03-.38-.16q-2.09.57-4.15 1.21l1.4.81.7.4.32.18.07.04.04.02.02.01v.01h.02l.13.11q.11.1.16.26a.6.6 0 0 1-.03.36l-.01.05-.05-.02.01-.04.02-.13-.02-.2-.15-.2-.12-.08-.01-.01h-.02l-.04-.02-.08-.04-.34-.15-.73-.32-.47-.2-1.07.34c-.47.14-.44.76 0 .92q.98.38 1.96.72a1.7 1.7 0 0 0 1.44-.1l1.73-.78a24 24 0 0 0 2.94-2.03l.03.02-1.34 1.29c.91-.41 1.8-.8 2.39-1.04a16 16 0 0 0 2-1.2l.03.03-.93.83a25 25 0 0 1 3.7-.36c1.23 0 1.26-1.06.6-1.42M25.3 17.7l.5.47.05.07.02.04.02.04.03.07.02.08v.17l-.03.08-.02.03-.02.03-.03-.02.01-.03.02-.04.01-.07v-.07l-.04-.13-.03-.06-.02-.03-.07-.08-.55-.4zm-1-.44a.2.2 0 0 1 .07-.13l.03-.03.05-.02v-.01h.06l.04.05-.05.04-.01.03-.01.01v.13l.01.02.01.02h.01l.02.02.02.01.05.01h.05l.02-.01.02-.02.02-.01v-.01l.02-.01v-.01l.01-.01v-.03l.02-.02v-.06l.05-.03v.01l.03.05v.01l.02.05v.04l-.01.03v.01l-.04.1-.1.07v.01h-.02l-.03.02-.06.01h-.02l-.12-.02-.01-.01-.05-.03-.02-.02-.03-.03-.03-.06-.02-.03v-.03l-.01-.06zm-.07 1.2.05-.1.03-.03.01-.01.01-.01.02-.01.09-.05h.19l.03.02.03.02.03.03.02.02.02.02v.02l.02.04-.03.03-.03-.02-.02-.01-.02-.01-.04-.01h-.1l-.05.01-.05.02-.02.02-.02.02-.03.04-.01.03-.01.02-.01.05v.12l-.02.02-.03-.03-.02-.01-.01-.03-.02-.02v-.03l-.02-.04v-.04zM8.03 8.1l.05-.04L9.53 10l2.38 1.14-.03.07-2.56-.99zM5.7 9.71l.05-.05 1.55 1.46 3.15 1.02-.03.06-3.32-.85zm-.8.85.05-.05 1.67 1.36 3.72 1.02-.02.07-3.87-.83zm.3 2 .02-.06 5.15 1.06-.01.08-3.82-.58zm5.5 1.8-2.71-.25-1.37-.4.02-.07 4.06.65zm.1-2.8-2.74-.91-1.13-1.56.04-.04 1.32 1.4 2.55 1.05zm.35.99-.04-.03v-.59h.06l.06.35 1.21-.62.03.05zm.17.92v-.6h.07l.06.35 1.6-.84.02.04-1.7 1.07zm.5.84-.04-.03v-.6h.06l.07.36 1.69-.92.03.05zm.68.69-.05-.02v-.6h.07l.06.36 1.65-.87.03.05zm.84.6-.04-.03v-.59h.06l.07.35 1.45-.76.04.05zm.91.57-.04-.02v-.58l.06-.01.07.35 1.2-.62.03.05zm.9.55-.05-.02v-.57h.06l.07.33.86-.41.03.05zm.73.55-.04-.02.02-.48h.05l.06.25.6-.27.03.04zm.55.6-.04-.03.05-.44.06.01.02.21.75-.33.02.05zm.45 1.34-.04-.03.06-.34h.05l.01.13.36-.15.03.05zm-.14-.72-.04-.03.05-.34h.05l.02.14.53-.26.03.05zm-2.03 4.04-.03-.03.08-.15-.16-.07v-.04h.42l.01.03zm1.16 0-.03-.03.08-.15-.16-.07v-.04h.42l.02.03zm.3 6.75-.42-.14-.41-.14-.84-.27a.1.1 0 0 1-.08-.1v-.04a.1.1 0 0 1 .07-.07l.86-.24.02.04-.57.3.58.25.4.18.4.2zm4.41-7.3-.03-.03.07-.21-.21-.05v-.04l.5-.09.02.04zm-.88-1.27v-.03l.76-.26.03.03-.45.67-.04-.01.07-.36zm-.33 1.57v-.04l.4-.07.03.04-.28.3-.04-.02.06-.16zm.03-2.8v-.04l.77-.23.03.04-.48.65-.03-.02.08-.36zm2 1.55-.03-.02.07-.21-.21-.06v-.04l.5-.09.02.04zm.63-1.97.1-.21-.22-.07v-.04l.52-.05.02.04-.38.35zm.67-2.27h.42v.04l-.32.26-.03-.03.09-.16-.16-.07zm-.2 3.03-.29.3-.03-.02.06-.17-.17-.04v-.04l.4-.07zm-.03-2.26-.5.4-.04-.03.14-.26-.26-.11v-.04h.65zm-.95-1.02h.52l.01.04-.4.31-.03-.02.1-.2-.2-.09zm-.05 2.93-.4.5-.04-.02.08-.28-.29-.05v-.05l.64-.14zm-.05-1.24.01.03-.5.58-.04-.02.1-.33-.34-.07v-.05zm-.28-.94-.5.4-.04-.03.14-.26-.27-.1.01-.05h.65zm-.97-.75h.41l.01.04-.33.25-.02-.02.08-.16-.16-.07zm-.19 1.51.02.04-.56.58-.04-.02.13-.34-.35-.1v-.04zm-1.28 3.38v-.04l.64-.13.02.03-.42.5-.04-.02.09-.28zm.3-4.34h.64l.01.04-.5.4-.04-.04.14-.25-.27-.11zm-.04 3.15-.4.52-.03-.02.07-.28-.29-.04v-.05l.62-.17zm-.2-1.03-.4.47-.03-.02.07-.27-.27-.05v-.04l.6-.13zm-.72-.93.5-.08.02.03-.35.38-.03-.02.07-.21-.22-.06zm-1.34 3.57-.03-.02.09-.16-.17-.07.01-.04h.42v.04zm.34.91-.03-.02.08-.15-.16-.08.01-.03h.42v.03zm.47-1.52-.03-.03.1-.2-.21-.08v-.04l.52-.02.02.04zm.32.86-.03-.02.1-.2-.2-.09.01-.04h.52v.04zm.5.74-.03-.02.09-.16-.17-.07.01-.04h.42v.04zm-1.77 4.29-.14.04-.11.04-.1.03-.15.04-.02-.06.01-.01.13-.05.15-.06.04-.02.15-.06.44-.16.05-.02.1-.04.46-.16.57-.18.08-.03.18-.05.24-.06.3-.08.06-.01.14-.03.03.06h-.02l-.13.05-.09.04-.25.08-.23.08-.06.02-.2.07q-.28.1-.57.18l-.14.05-.42.14-.2.06zm4.43-.82-.14.05-.34.12-.07.02-.25.08-.35.13-.77.27-.5.18-.27.1-.25.09-.1.04-.23.08-.1.04-.34.12-.13.05-.18.06h-.02l-.02-.06h.01l.18-.08.13-.06.33-.14.07-.02.25-.1.1-.05.25-.1.27-.1.5-.18.78-.27.18-.06.17-.06.33-.1.34-.1.14-.03.2-.06.02.06zm-1.78-.8v-.04l.05-.01h.14l.04.02.08.03.15.11.02.03.07.13q.02.04.02.09v.18l-.02.04h-.04l-.01-.04-.02-.04-.04-.1-.04-.06-.03-.06-.05-.05-.03-.04-.01-.01-.05-.05-.06-.04-.05-.03-.05-.02-.03-.02zm1.26-.33h.02l.08.04.07.05.07.06.06.08.06.17v.07l-.01.11-.01.04h-.04l-.02-.04-.01-.04-.02-.05-.03-.05-.03-.06-.04-.06-.04-.06-.05-.05-.05-.04-.05-.04-.1-.06-.03-.02h-.02l-.31.07-.04.01.03.01.16.09.16.22q.02.04.02.09l.01.03v.04l-.01.1-.02.04h-.04l-.01-.03-.02-.04-.01-.05-.03-.06-.03-.05-.04-.06q-.01-.03-.04-.05l-.05-.05-.05-.05-.05-.04-.05-.03-.05-.03-.04-.01-.03-.02-.56-.65-.27-1.54.05-.03 1.07 1.3h.37l.95.52zm1.7-.4v-.04h.19l.03.02.16.09.05.05.01.01.1.16.01.08v.19l-.03.04h-.03l-.02-.04-.01-.04-.02-.05-.02-.06-.03-.05-.04-.06-.04-.06-.05-.05-.02-.02-.03-.03-.05-.03-.05-.04-.05-.03-.03-.01zm1.32.86-.06.02-.05.01-.13.04-.52.13h-.05l-.5.12-.13.01-.05.01-.07.01h-.01l-.02-.06h.01l.07-.03.03-.01.14-.05.53-.14.3-.06.25-.04.13-.02h.05l.07-.01h.01l.01.06zm.62-.62-.02-.06h.02l.08-.03.23-.06.68-.14h.01l.36-.07.3-.04h.03l.17-.02h.06l.08-.02h.02v.07l-.09.02-.06.02-.16.04-.18.03-.14.03-.31.07h-.06q-.43.09-.86.15h-.06zm2.83.09-.11.01-.2.04-.45.07-.25.04h-.05l-.21.04-.2.03-.31.04-.18.03h-.06l-.21.03-.22.03-.1.01-.13.02-.01-.07.13-.03.09-.02.22-.04.12-.03.1-.01.09-.02.13-.03.26-.04.26-.04.26-.04.25-.03.3-.03.15-.02.28-.02h.04l.12-.01h.01v.06z%22%3E%3C/path%3E%3C/svg%3E") center / contain no-repeat;
}
body.the-independent-2 .lock-badge svg { display: none; }

body.the-independent-2 .reward-locker h3 {
  font-family: var(--serif); font-weight: 700;
  font-size: clamp(28px, 3.4vw, 36px); line-height: 1.08; letter-spacing: -.03em;
  color: var(--ink); margin: 2px 0 10px;
}
body.the-independent-2 .reward-locker p {
  font-family: var(--sans); font-size: 15px; line-height: 1.5;
  color: var(--muted); max-width: 360px; margin: 0 auto 18px;
}
body.the-independent-2 .reward-locker p b { color: var(--ink); font-weight: 700; }

/* weekly allowance chip — one unlock per week, so one dot */
body.the-independent-2 .quota {
  width: max-content; margin: 0 auto 20px; padding: 7px 14px;
  border: 1px solid #f0d4d9; border-radius: 999px; background: #fdf3f4;
  font-family: var(--sans); font-size: 11.5px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--member);
}
body.the-independent-2 .quota .dots i { width: 8px; height: 8px; background: var(--brand); }
body.the-independent-2 .quota .dots i:nth-child(n + 2) { display: none; }
body.the-independent-2 .quota::after { content: "· 1 of 1 left"; }

body.the-independent-2 .rv-cta {
  border-radius: 4px; padding: 14px 24px;
  background: var(--member-cta); color: #fff;
  font-family: var(--sans); font-weight: 500; font-size: 14px;
  letter-spacing: -.5px; text-transform: uppercase;
  box-shadow: none;
}
body.the-independent-2 .rv-cta:hover { filter: brightness(1.12); transform: none; }
body.the-independent-2 .rv-cta svg { display: none; }

body.the-independent-2 .rv-later {
  font-family: var(--sans); font-size: 14px; font-weight: 700; color: var(--ink-alt);
}
body.the-independent-2 .reward-locker .rv-foot { display: none; }

body.the-independent-2 .lk-side { background: var(--canvas-2); }
body.the-independent-2 .lk-side h4 {
  font-family: var(--sans); font-size: 12px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
}
body.the-independent-2 .lk-side li { font-family: var(--sans); font-size: 15px; color: var(--ink); }
body.the-independent-2 .lk-side li svg { color: var(--brand); }

body.the-independent-2 .gate-fine { font-family: var(--sans); font-size: 12.5px; color: var(--muted); }

body.the-independent-2 .rv-floating { background: var(--member-deep); }
body.the-independent-2 .rv-floating .txt { font-family: var(--sans); }
body.the-independent-2 .rv-floating .txt span { color: #e3c2c8; }
body.the-independent-2 .rv-floating button {
  border-radius: 4px; background: #fff; color: var(--member);
  font-family: var(--sans); font-weight: 500; font-size: 14px;
  letter-spacing: -.5px; text-transform: uppercase;
}
body.the-independent-2 .rv-floating button:hover { background: #f0e6e8; filter: none; }

body.the-independent-2 .rv-badge { font-family: var(--sans); }
body.the-independent-2 .demo-reset { font-family: var(--sans); }

/* ---------------- responsive ---------------- */
@media (max-width: 1040px) {
  .ind-logo img { height: 48px; }
  .ind-nav ol { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .ind-nav ol::-webkit-scrollbar { display: none; }
}

@media (max-width: 760px) {
  .ind-top { min-height: 64px; padding: 6px 8px; }
  .ind-burger { width: 44px; height: 44px; }
  /* the real mobile masthead drops the edition switcher: burger · logo · account */
  .ind-switcher { display: none; }
  .ind-logo img { height: 32px; }
  .ind-login { min-width: 0; width: 44px; height: 44px; padding: 0; border: 0; gap: 0; font-size: 0; }
  .ind-login svg { width: 22px; height: 22px; }

  .ind-nav a, .ind-nav button { padding-inline: 12px; font-size: 15px; }
  .ind-crumb { justify-content: flex-start; padding: 14px 0 12px; font-size: 13px; }

  .ind-kicker { letter-spacing: 2.5px; font-size: 13px; }
  .ind-member-mark { height: 24px; }
  .ind-h1 { letter-spacing: -.025em; }
  .ind-hero { margin-left: -16px; margin-right: -16px; }
  .ind-hero figcaption { padding-inline: 16px; }

  .ind-cap { padding: 34px; margin: 4px 12px 0 0; font-size: 42px; }
  .ind-body p { font-size: 18px; line-height: 26px; }
  .ind-pull { font-size: 21px; }
  .ind-rec .r { grid-template-columns: 96px 1fr; }
  .ind-rec .r img { width: 96px; height: 64px; }

  .ind-promo { padding: 36px 16px 34px; }
  .ind-promo-card { padding: 26px 20px 24px; }
  .ind-promo-card h2 { font-size: 26px; line-height: 30px; }

  .ind-foot-in { padding: 32px 20px 44px; }
  .ind-foot-cols { grid-template-columns: 1fr 1fr; gap: 26px; }
  .ind-foot-logo img { height: 32px; }
}

@media (max-width: 460px) {
  .ind-foot-cols { grid-template-columns: 1fr; }
}
