:root{--tct-member-coral:#f26445;--tct-member-green:#174f3d;--tct-member-charcoal:#171717;--tct-member-paper:#fff;--tct-member-gold:#ffe08a;--tct-member-muted:#635e58}
.membership-shell{max-width:1040px;margin:0 auto;padding:42px 20px 76px}.membership-back{display:inline-block;margin-bottom:24px;color:var(--tct-member-green);font-weight:800;text-decoration:none}.membership-hero{background:radial-gradient(circle at 14% 8%,rgba(255,255,255,.24),transparent 34%),linear-gradient(135deg,#f26445 0%,#f87858 48%,#e9583e 100%);border-radius:20px;padding:clamp(24px,5vw,52px);box-shadow:0 18px 50px rgba(0,0,0,.11);color:#fff}.membership-kicker{display:block;font-size:.76rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:12px}.membership-hero h1,.tct-paywall h2{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.5rem);line-height:1.02;margin:0 0 14px}.membership-value,.tct-paywall-value{font-size:1.18rem;font-weight:900;margin:0 0 10px}.membership-copy,.tct-paywall-copy{max-width:760px;line-height:1.6;margin:0 0 26px}.membership-topline,.tct-paywall-topline{display:flex;justify-content:flex-end;margin-bottom:12px;font-size:.94rem}.membership-link-button,.tct-member-link{border:0;background:none;color:#fff;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer;padding:0}.membership-plans,.tct-paywall-plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.membership-plan,.tct-paywall-plan{background:var(--tct-member-paper);color:var(--tct-member-charcoal);border-radius:15px;padding:24px;display:flex;flex-direction:column;gap:9px;position:relative;box-shadow:0 8px 24px rgba(44,28,20,.08)}.membership-plan.best,.tct-paywall-plan.best{outline:4px solid var(--tct-member-gold)}.membership-badge-flexible,.tct-paywall-badge-flexible{background:#f0ede8;color:#4d4640}.membership-badge,.tct-paywall-badge{display:inline-flex;align-self:center;background:var(--tct-member-gold);padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.membership-plan h2,.membership-plan h3,.tct-paywall-plan h3{font-size:1.45rem;margin:0;text-align:center}.membership-price,.tct-paywall-price{font-size:2rem;font-weight:950;line-height:1.1;text-align:center}.membership-plan-note,.tct-paywall-plan-note{color:var(--tct-member-muted);font-size:.94rem;text-align:center;min-height:1.3em}.membership-btn,.tct-member-btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:9px;padding:13px 17px;background:var(--tct-member-green);color:#fff;font:inherit;font-weight:900;cursor:pointer;text-decoration:none;margin-top:auto;width:100%;box-sizing:border-box}.membership-btn:disabled,.tct-member-btn:disabled{opacity:.55;cursor:not-allowed}.membership-btn.secondary,.tct-member-btn.secondary{background:#282828}.membership-benefits,.tct-paywall-benefits{text-align:center;font-weight:800;font-size:.91rem;margin:22px 0 0;color:#fff}.membership-secure,.tct-paywall-secure{text-align:center;font-size:.8rem;color:rgba(255,255,255,.88);margin:8px 0 0}.membership-panel{background:#fff;color:var(--tct-member-charcoal);border-radius:14px;padding:22px;margin-top:20px}.membership-panel h2{margin:0 0 8px}.membership-form{display:grid;grid-template-columns:1fr auto;gap:10px}.membership-form input{min-width:0;padding:13px 14px;border:1px solid #bbb;border-radius:8px;font:inherit}.membership-message{margin-top:16px;padding:12px 14px;border-radius:9px;background:rgba(255,255,255,.78);font-weight:700;line-height:1.45}.membership-message.error{background:#fff0ec}.membership-account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.hidden{display:none!important}
.tct-paywall-wrap{position:relative;margin-top:8px}.tct-paywall-fade{height:88px;margin-top:-66px;position:relative;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--bg,#fff) 78%)}.tct-paywall{position:relative;z-index:3;background:radial-gradient(circle at 14% 8%,rgba(255,255,255,.24),transparent 34%),linear-gradient(135deg,#f26445 0%,#f87858 48%,#e9583e 100%);color:#fff;border-radius:18px;padding:clamp(22px,4vw,36px);margin:0 0 34px;box-shadow:0 14px 38px rgba(0,0,0,.12)}.tct-paywall h2{font-size:clamp(1.8rem,4vw,2.7rem)}.tct-paywall-signin{background:#fff;color:var(--tct-member-charcoal);border-radius:12px;padding:16px;margin-top:16px}.tct-paywall-signin .membership-form{grid-template-columns:1fr auto}.tct-protected-content{display:none}.tct-protected-content.is-unlocked{display:block}.tct-member-loading{padding:16px 0;font-weight:800;color:var(--text-muted,#666)}
@media(max-width:680px){.membership-shell{padding:24px 14px 54px}.membership-plans,.tct-paywall-plans{grid-template-columns:1fr}.membership-plan.best,.tct-paywall-plan.best{order:-1}.membership-form,.tct-paywall-signin .membership-form{grid-template-columns:1fr}.membership-topline,.tct-paywall-topline{justify-content:flex-start}.membership-hero{border-radius:14px}}

.tct-member-entitled .article-banner-slot{display:none!important}

.membership-sandbox-banner{background:#171717;color:#fff;padding:9px 12px;border-radius:8px;margin:0 0 16px;font-size:.78rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}

/* ================================================================
   TCT v1.13.5.0 — reader-facing membership launch presentation
   ================================================================ */
body.membership-page {
  margin: 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(242,100,69,.08), transparent 28%),
    linear-gradient(180deg,#fbfaf7 0%,#f6f3ed 100%);
  color: var(--tct-member-charcoal);
}
.membership-page .membership-shell {
  max-width: 1120px;
  padding-top: 34px;
}
.membership-page .membership-back { margin-bottom: 18px; }
.membership-page .membership-hero {
  background:
    radial-gradient(circle at 14% 8%,rgba(255,255,255,.25),transparent 34%),
    radial-gradient(circle at 88% 95%,rgba(154,48,28,.18),transparent 36%),
    linear-gradient(135deg,#f26445 0%,#f87858 46%,#e75439 100%);
  border: 1px solid rgba(136,47,27,.08);
  box-shadow: 0 24px 70px rgba(84,38,24,.14);
}
.membership-page .membership-hero h1 {
  max-width: 760px;
  font-size: clamp(2.35rem,5vw,4rem);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.membership-page .membership-copy { max-width: 720px; }
.membership-page .membership-plans { align-items: stretch; }
.membership-page .membership-plan { min-height: 282px; }
.membership-page .membership-plan h2 { text-wrap: balance; }
.membership-page .membership-price { margin-top: 2px; }
.membership-page .membership-plan-note { margin-bottom: 3px; }
.membership-page .membership-btn { min-height: 46px; }
.membership-renewal,
.tct-paywall-renewal {
  margin: 8px auto 0;
  max-width: 700px;
  text-align: center;
  color: rgba(255,255,255,.82);
  font-size: .76rem;
  line-height: 1.45;
}
.membership-launch-note {
  margin: 0 0 16px;
  padding: 9px 12px;
  border-radius: 8px;
  background: #173f33;
  color: #fff;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.membership-site-header .header-inner { background: transparent; }
.membership-site-header .membership-subscribe-btn { box-shadow: 0 4px 12px rgba(242,100,69,.18); }
.membership-page-intro {
  max-width: 760px;
  margin: 0 0 28px;
}
.membership-page-intro strong { font-weight: 900; }

@media (max-width:680px) {
  .membership-page .membership-shell { padding-top: 22px; }
  .membership-page .membership-plan { min-height: 0; }
  .membership-page .membership-hero h1 { font-size: clamp(2.15rem,10vw,3rem); }
}

/* ================================================================
   TCT v1.13.5.5 — uniform editorial cliffhanger
   Roughly 340 public characters are shaped into a TC-Palm-style teaser:
   readable opening lines, then a pronounced vertical text fade into the paywall.
   ================================================================ */
.tct-member-preview {
  position: relative;
  overflow: visible;
}
.tct-preview-copy {
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 36%,
    rgba(0,0,0,.88) 49%,
    rgba(0,0,0,.58) 63%,
    rgba(0,0,0,.26) 76%,
    rgba(0,0,0,.08) 87%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 36%,
    rgba(0,0,0,.88) 49%,
    rgba(0,0,0,.58) 63%,
    rgba(0,0,0,.26) 76%,
    rgba(0,0,0,.08) 87%,
    transparent 100%
  );
}
.tct-preview-copy p { margin-bottom: 1.18em; }
.tct-preview-copy p:last-child { margin-bottom: 0; }

/* Legacy preview spans remain supported until every retained page is re-prepared. */
.tct-preview-fade-text {
  color: rgba(41,47,43,.52);
}
.tct-preview-ellipsis {
  color: rgba(41,47,43,.08);
}
.tct-paywall-fade {
  height: 112px;
  margin-top: -86px;
  position: relative;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(247,250,250,0) 0%,
    rgba(247,250,250,.22) 24%,
    rgba(247,250,250,.66) 55%,
    rgba(247,250,250,.94) 80%,
    var(--bg,#f7fafa) 100%
  );
}
@media(max-width:680px){
  .tct-paywall-fade{height:102px;margin-top:-78px}
}
