/* =====================================================================
   CreatorTogether — refinements
   Loaded after ct.css. Body-prefixed selectors so they win against Astra's
   global heading and text colours, which were the actual cause of the
   contrast failure on the dark step cards.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1 · THREE-STEP SECTION (dark)
   Astra's global heading colour (#0B1033) was landing on these headings —
   the same navy as the section, i.e. 1:1 contrast. Body copy was #4A5170
   at 2.38:1, well under AA. Both are set explicitly here.
   ------------------------------------------------------------------ */
body.ct-site .ct-sec--ink .ct-h2,
body.ct-site .ct-sec--ink h2{color:#FFFFFF;}
body.ct-site .ct-sec--ink .ct-sub{color:#C5CCE8;}            /* 10.3:1 */

body.ct-site .ct-sec--ink .ct-step{
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.13);
  padding:32px 28px 30px;
  display:flex;flex-direction:column;
}

/* Label — small brand accent, deliberately below the heading in weight */
body.ct-site .ct-sec--ink .ct-step__kicker{
  color:#C9BBFD;                                             /* 10.6:1 */
  font-size:.72rem;letter-spacing:.15em;margin-bottom:7px;
}

/* Heading — now the brightest, largest thing in the card */
body.ct-site .ct-sec--ink .ct-step h3{
  color:#FFFFFF;                                             /* 18.9:1 */
  font-size:1.38rem;line-height:1.25;letter-spacing:-.022em;
  margin:0 0 11px;
}

/* Supporting copy — clearly readable, clearly secondary to the heading */
body.ct-site .ct-sec--ink .ct-step p{
  color:#C5CCE8;                                             /* 10.3:1 */
  font-size:1rem;line-height:1.6;margin:0 0 20px;
}

/* Capability pills — outlined rather than filled, so a card with seven of
   them does not read as louder than a card with three. */
body.ct-site .ct-sec--ink .ct-step__list{
  gap:7px;margin-top:auto;padding-top:4px;
}
body.ct-site .ct-sec--ink .ct-step__list li{
  background:transparent;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.17);
  color:#AFB7DC;                                             /* 7.4:1 */
  font-size:.79rem;font-weight:600;padding:5px 12px;
}

/* Number chip: keep the gradient, trim it slightly so the heading leads */
body.ct-site .ct-sec--ink .ct-step__num{
  width:42px;height:42px;border-radius:13px;font-size:.98rem;margin-bottom:18px;
}

/* Light version of the same section (How it works) — match the new rhythm */
body.ct-site .ct-sec:not(.ct-sec--ink) .ct-step h3{font-size:1.38rem;line-height:1.25;margin:0 0 11px;}
body.ct-site .ct-sec:not(.ct-sec--ink) .ct-step p{font-size:1rem;line-height:1.6;color:#4A5170;}
body.ct-site .ct-sec:not(.ct-sec--ink) .ct-step__list li{
  background:transparent;box-shadow:inset 0 0 0 1px var(--ct-line);
  color:#5A6183;font-size:.79rem;font-weight:600;padding:5px 12px;
}

@media (max-width:900px){
  body.ct-site .ct-sec--ink .ct-step{padding:26px 22px 24px;}
  body.ct-site .ct-sec--ink .ct-step h3,
  body.ct-site .ct-sec:not(.ct-sec--ink) .ct-step h3{font-size:1.24rem;}
  body.ct-site .ct-step__list{margin-top:14px;}
}

/* ---------------------------------------------------------------------
   2 · CREATOR CARDS
   Shorter banner so the creator's details start higher, and less of the
   avatar buried behind it.
   ------------------------------------------------------------------ */
body.ct-site .ct-ccard__banner{height:80px;}                 /* was 96px, -17% */

body.ct-site .ct-ccard__ava{
  width:76px;height:76px;flex:0 0 76px;
  margin:-24px 0 13px;                                       /* was -39px: 50% hidden -> 32% */
  position:relative;z-index:2;                               /* sit above the banner, definitively */
  border-width:3px;
}

/* Relationship line — states the fact, makes no claim about verification. */
body.ct-site .ct-ccard__badge{
  background:transparent;
  box-shadow:inset 0 0 0 1px var(--ct-line);
  color:#5A6183;                                             /* 6.4:1 */
  font-size:.7rem;font-weight:600;letter-spacing:.01em;
  padding:5px 11px;margin-bottom:15px;
}
body.ct-site .ct-ccard__badge svg{display:none;}             /* the tick read as a verification mark */

body.ct-site .ct-ccard__body{padding:0 20px 22px;}
body.ct-site .ct-ccard__name{font-size:1.14rem;margin-bottom:6px;}
body.ct-site .ct-ccard__niche{margin-bottom:11px;}
body.ct-site .ct-ccard__bio{margin-bottom:16px;}

/* Hover / keyboard focus — the whole card lifts, the link is clearly focused */
body.ct-site .ct-ccard:focus-within{
  transform:translateY(-5px);
  box-shadow:inset 0 0 0 1px transparent,var(--ct-shadow-lg);
}
body.ct-site .ct-ccard a:focus-visible,
body.ct-site .ct-pcard a:focus-visible{
  outline:3px solid var(--ct-violet);outline-offset:3px;border-radius:6px;
}

@media (max-width:782px){
  body.ct-site .ct-ccard__banner{height:70px;}
  body.ct-site .ct-ccard__ava{width:64px;height:64px;flex:0 0 64px;margin:-21px 0 11px;}
  body.ct-site .ct-ccard__badge{font-size:.67rem;padding:4px 9px;}
}

/* The card body is a flex column, so inline-block children stretch to full
   width and a tag reads as a bar. Make the tag hug its text. */
body.ct-site .ct-ccard__niche,
body.ct-site .ct-ccard__badge{align-self:flex-start;}
body.ct-site .ct-ccard__foot{align-self:stretch;}

/* Profile page: same treatment for the niche tag. */
body.ct-site .ct-profile__niche{display:inline-block;}

/* ---------------------------------------------------------------------
   3 · CTA BAND
   Astra's global heading/text colours were landing here too. Contrast is
   measured against the lightest point of the blurred gradient overlay — the
   orange region, which composites to rgb(73,42,43) at 26% over the navy.
   Headline #FFFFFF  = 12.73:1  (AA and AAA)
   Copy     #D7DCF0  =  9.33:1  (AA and AAA), still clearly below the headline
   ------------------------------------------------------------------ */
body.ct-site .ct-band h2{color:#FFFFFF;}
body.ct-site .ct-band p{
  color:#D7DCF0;
  font-size:1.12rem;
  line-height:1.6;
  max-width:40em;
}

/* The overlay sits behind content already; make sure nothing re-stacks it. */
body.ct-site .ct-band>*{position:relative;z-index:1;}

@media (max-width:782px){
  body.ct-site .ct-band p{font-size:1.04rem;}
}

/* =========================================================================
   Buyer-first components
   ---------------------------------------------------------------------
   .ct-value  four-across reason grid, shared by the homepage (buyer set)
              and Become a Creator (creator set) so the two journeys stay
              visually parallel.
   .ct-strip  the creator pitch on buyer pages: one quiet row above the
              footer, findable without competing with the catalogue.
   ====================================================================== */

.ct-value{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.ct-value__item{
  background:#fff;border-radius:var(--ct-radius);
  padding:30px 26px 32px;box-shadow:inset 0 0 0 1px var(--ct-line);
}
.ct-value__ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:14px;
  background:var(--ct-grad-45);color:#fff;margin-bottom:20px;
}
.ct-value__item h3{font-size:1.06rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 10px;}
.ct-value__item p{font-size:.93rem;line-height:1.6;color:var(--ct-ink-soft);margin:0;}

/* On an ink section the cards read as inset panels, matching .ct-step. */
.ct-sec--ink .ct-value__item{background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);}
.ct-sec--ink .ct-value__item p{color:#D6DAF0;}

@media (max-width:1024px){.ct-value{grid-template-columns:repeat(2,1fr);gap:20px;}}
@media (max-width:560px){.ct-value{grid-template-columns:1fr;}}

/* The strip follows a .ct-band section, whose bottom padding is already the gap. */
.ct-strip{padding-top:0;}
.ct-strip__in{
  display:flex;align-items:center;justify-content:space-between;gap:36px;
  background:var(--ct-mist);border-radius:var(--ct-radius);
  padding:30px 36px;box-shadow:inset 0 0 0 1px var(--ct-line);
}
.ct-strip__copy{max-width:44em;}
.ct-strip__copy .ct-eyebrow{margin-bottom:9px;}
.ct-strip__copy h2{font-size:1.3rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 7px;}
.ct-strip__copy p{font-size:.97rem;line-height:1.55;color:var(--ct-ink-soft);margin:0;}
.ct-strip__cta{display:flex;align-items:center;gap:20px;flex:none;}

@media (max-width:820px){
  .ct-strip__in{flex-direction:column;align-items:flex-start;gap:22px;padding:28px;}
}

/* Become a Creator carries the brand line, so its hero takes the warmer end of
   the gradient wash — the homepage keeps the cooler, catalogue-led one. */
.ct-hero--creator{
  background:
    radial-gradient(1000px 500px at 10% -10%,rgba(124,58,237,.15),transparent 62%),
    radial-gradient(900px 470px at 90% 4%,rgba(249,115,22,.12),transparent 62%),
    radial-gradient(700px 420px at 58% 100%,rgba(236,72,153,.10),transparent 62%),
    #fff;
}
/* Headings on ink sections.
   ct.css sets `body.ct-site h3 {color:var(--ct-ink)}` (0,2,1), which out-weighs
   its own `.ct-sec--ink h3 {color:#fff}` (0,1,1) — so every h3 inside a dark
   section was rendering navy-on-navy and reading as blank. Restate the override
   at matching weight. Applies to .ct-step and .ct-value__item alike. */
body.ct-site .ct-sec--ink h2,
body.ct-site .ct-sec--ink h3,
body.ct-site .ct-sec--ink h4,
body.ct-site .ct-sec--ink .ct-h2{color:#fff;}
/* =========================================================================
   EDITORIAL — "How They Did It"
   ---------------------------------------------------------------------
   Covers are typographic on purpose (see ct-62): a portrait beside a name
   is storefront grammar, and these people have no relationship with
   CreatorTogether. The series reads as a publication instead.
   ====================================================================== */

.ct-scard{display:flex;flex-direction:column;background:#fff;border-radius:var(--ct-radius);
  overflow:hidden;box-shadow:inset 0 0 0 1px var(--ct-line);height:100%;
  transition:transform .22s ease,box-shadow .22s ease;}
.ct-scard:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px transparent,var(--ct-shadow-lg);}

.ct-scard__cover{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  aspect-ratio:16/10;padding:22px;overflow:hidden;color:#fff;
}
.ct-scard__cover::after{
  content:'';position:absolute;inset:auto -20% -40% -20%;height:80%;
  background:radial-gradient(closest-side,rgba(255,255,255,.3),transparent);
}
.ct-scard__label{
  position:absolute;left:22px;top:20px;font-size:.62rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.92);
}
.ct-scard__subject{position:relative;z-index:1;font-size:1.5rem;font-weight:800;letter-spacing:-.035em;line-height:1.1;}
.ct-scard__note{position:relative;z-index:1;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.8);margin-top:5px;}

.ct-scard__body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1;}
.ct-scard__topic{font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ct-violet);margin-bottom:9px;}
.ct-scard__title{font-size:1.1rem;font-weight:700;line-height:1.32;margin:0 0 10px;letter-spacing:-.02em;}
.ct-scard__title a{color:var(--ct-ink);}
.ct-scard__title a:hover{color:var(--ct-violet);}
.ct-scard__dek{font-size:.92rem;color:var(--ct-ink-soft);line-height:1.58;margin:0 0 16px;}
.ct-scard__points{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px;}
.ct-scard__points li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem;color:var(--ct-ink-soft);}
.ct-scard__points svg{color:var(--ct-violet);flex:none;margin-top:2px;}

/* The provenance line rides on every card — one quiet line, not a disclaimer box. */
.ct-scard__foot{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:auto;padding-top:14px;border-top:1px solid var(--ct-line);
  font-size:.76rem;font-weight:600;color:var(--ct-ink-soft);
}
.ct-scard__prov{display:inline-flex;align-items:center;gap:7px;}
.ct-scard__prov::before{content:'';width:7px;height:7px;border-radius:999px;background:var(--ct-grad-45);flex:none;}
.ct-scard__read{flex:none;opacity:.8;}
.ct-scard__cta{margin:16px 0 0;}

/* Lead card: the featured slot, horizontal on desktop. */
.ct-scard--lead{flex-direction:row;align-items:stretch;margin-bottom:34px;}
.ct-scard--lead .ct-scard__cover{flex:0 0 46%;aspect-ratio:auto;padding:32px;}
.ct-scard--lead .ct-scard__subject{font-size:2.1rem;}
.ct-scard--lead .ct-scard__note{font-size:.9rem;}
.ct-scard--lead .ct-scard__body{padding:34px 38px 36px;justify-content:center;}
.ct-scard--lead .ct-scard__title{font-size:1.85rem;line-height:1.2;letter-spacing:-.035em;}
.ct-scard--lead .ct-scard__dek{font-size:1.06rem;}

@media (max-width:900px){
  .ct-scard--lead{flex-direction:column;}
  .ct-scard--lead .ct-scard__cover{flex:none;aspect-ratio:16/9;padding:24px;}
  .ct-scard--lead .ct-scard__subject{font-size:1.7rem;}
  .ct-scard--lead .ct-scard__body{padding:24px;}
  .ct-scard--lead .ct-scard__title{font-size:1.4rem;}
}

.ct-grid--stories{align-items:stretch;}
@media (max-width:1024px){.ct-grid--stories{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.ct-grid--stories{grid-template-columns:1fr!important;}}

/* Hero collage: story covers instead of product jackets. */
.ct-hero__card--tile{background:transparent;}
.ct-hero__card--tile .ct-scard__cover{aspect-ratio:3/4;height:100%;border-radius:16px;}
.ct-hero--story{
  background:
    radial-gradient(1100px 520px at 14% -8%,rgba(37,99,235,.14),transparent 62%),
    radial-gradient(900px 480px at 86% 4%,rgba(162,28,175,.12),transparent 62%),
    radial-gradient(700px 420px at 60% 100%,rgba(236,72,153,.09),transparent 62%),
    #fff;
}

/* Demonstration markers. */
.ct-demo-flag--card{padding:7px 11px;font-size:.7rem;border-radius:9px;margin-bottom:11px;letter-spacing:.02em;}
.ct-demo-flag--article{margin:0 0 26px;}
/* ---------- Story article ---------- */
.ct-shead{
  position:relative;overflow:hidden;padding:82px 0 66px;
  background:
    radial-gradient(900px 420px at 18% -10%,color-mix(in srgb,var(--s1) 22%,transparent),transparent 64%),
    radial-gradient(800px 400px at 84% 8%,color-mix(in srgb,var(--s2) 20%,transparent),transparent 64%),
    #fff;
}
.ct-shead::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ct-line);}
.ct-shead__series{
  display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.17em;
  text-transform:uppercase;color:#fff;padding:7px 14px;border-radius:999px;
  background:linear-gradient(120deg,var(--s1),var(--s2));margin-bottom:20px;
}
.ct-shead__topic{
  display:inline-block;margin:0 0 14px 10px;font-size:.72rem;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ct-violet);
}
.ct-shead__title{
  font-size:clamp(2.1rem,4.4vw,3.35rem);line-height:1.08;letter-spacing:-.04em;
  font-weight:800;margin:0 0 20px;
}
.ct-shead__dek{font-size:1.24rem;line-height:1.55;color:var(--ct-ink-soft);margin:0 0 30px;max-width:34em;}
.ct-shead__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;
  padding-top:22px;border-top:1px solid var(--ct-line);
  font-size:.85rem;color:var(--ct-ink-soft);font-weight:600;
}
.ct-shead__by{color:var(--ct-ink);font-weight:800;}
.ct-shead__meta>span+span::before{content:'\00b7';margin-right:18px;opacity:.5;}
.ct-shead__prov{
  background:var(--ct-grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;font-weight:800;
}

.ct-story{padding-top:52px;}
.ct-story__body h2{font-size:1.65rem;margin:46px 0 16px;letter-spacing:-.035em;line-height:1.25;}
.ct-prose h2{font-size:1.65rem;margin:46px 0 16px;letter-spacing:-.035em;line-height:1.25;}
.ct-story__body>*:first-child{margin-top:0;}

/* Takeaways: the practical lessons, where a scanning reader will find them. */
.ct-takeaways{
  margin:48px 0 0;padding:32px 34px;border-radius:var(--ct-radius);
  background:var(--ct-mist);box-shadow:inset 0 0 0 1px var(--ct-line);
}
.ct-takeaways h2{font-size:1.24rem;margin:0 0 18px;letter-spacing:-.025em;}
.ct-takeaways ul{list-style:none;margin:0;padding:0;display:grid;gap:13px;}
.ct-takeaways li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;line-height:1.55;color:var(--ct-ink-soft);}
.ct-takeaways svg{color:var(--ct-violet);flex:none;margin-top:3px;}

/* Sources: an independence claim has to show its working. */
.ct-sources{margin:42px 0 0;padding-top:30px;border-top:1px solid var(--ct-line);}
.ct-sources h2{font-size:1.1rem;margin:0 0 10px;letter-spacing:-.02em;}
.ct-sources p{font-size:.94rem;color:var(--ct-ink-soft);margin:0 0 16px;}
.ct-sources ul{margin:0;padding:0 0 0 20px;display:grid;gap:8px;}
.ct-sources li{font-size:.94rem;color:var(--ct-ink-soft);line-height:1.5;}
.ct-site .ct-sources a{color:var(--ct-violet);font-weight:600;}

@media (max-width:782px){
  .ct-shead{padding:56px 0 44px;}
  .ct-takeaways{padding:24px 22px;}
}

/* ---------- Created Together: the empty state ---------- */
.ct-await{
  max-width:640px;margin:0 auto;text-align:center;padding:46px 34px;
  border-radius:var(--ct-radius);background:#fff;
  box-shadow:inset 0 0 0 1px var(--ct-line);
}
.ct-await__ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:18px;margin-bottom:20px;
  background:var(--ct-grad-45);color:#fff;
}
.ct-await h3{font-size:1.4rem;margin:0 0 12px;letter-spacing:-.03em;}
.ct-await p{color:var(--ct-ink-soft);margin:0 0 8px;line-height:1.6;}
.ct-await__cta{margin:22px 0 0!important;}
/* Astra underlines every link in content; the editorial components opt out the
   same way .ct-pcard and .ct-ccard already do. Body-copy links keep theirs. */
.ct-site .ct-scard a,
.ct-site .ct-shead__topic,
.ct-site .ct-hero__card--tile,
.ct-site .ct-await a{text-decoration:none!important;}
/* The series pill and the topic wrap onto separate lines at most widths, so the
   topic sits flush rather than carrying an inline gutter. */
.ct-shead__topic{display:block;margin:0 0 14px;}
/* =========================================================================
   PUT IT TO WORK — layer two
   Editorial furniture, not an advert: it continues the piece the reader has
   just finished. Soft tint and a gradient hairline rather than a loud block.
   ====================================================================== */
.ct-ptw{
  position:relative;overflow:hidden;margin:48px 0 0;
  border-radius:var(--ct-radius);background:#fff;
  box-shadow:inset 0 0 0 1px var(--ct-line),var(--ct-shadow);
}
.ct-ptw::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--ct-grad);}
.ct-ptw::after{
  content:'';position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:999px;
  background:var(--ct-grad-45);opacity:.06;pointer-events:none;
}
.ct-ptw__in{position:relative;display:grid;grid-template-columns:200px 1fr;gap:30px;padding:32px 34px 30px;align-items:start;}

.ct-ptw__shot{border-radius:14px;overflow:hidden;box-shadow:var(--ct-shadow-lg);}
.ct-ptw__shot img{display:block;width:100%;height:auto;}
.ct-ptw__shot--gen{
  display:flex;flex-direction:column;aspect-ratio:3/4;padding:20px;color:#fff;
}
.ct-ptw__shotfmt{font-size:.6rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.9;}
.ct-ptw__shottitle{margin-top:auto;font-size:1.06rem;font-weight:800;letter-spacing:-.025em;line-height:1.2;}
.ct-ptw__shotextent{font-size:.72rem;font-weight:600;opacity:.82;margin-top:7px;}
.ct-ptw__shotmark{font-size:.6rem;font-weight:700;letter-spacing:.08em;opacity:.7;margin-top:14px;}

.ct-ptw__label{
  display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  background:var(--ct-grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;margin-bottom:10px;
}
.ct-ptw__title{font-size:1.5rem;line-height:1.22;letter-spacing:-.032em;margin:0 0 10px;}
.ct-ptw__promise{font-size:1.02rem;font-weight:600;color:var(--ct-ink);margin:0 0 10px;line-height:1.5;}
.ct-ptw__desc{font-size:.96rem;color:var(--ct-ink-soft);margin:0 0 16px;line-height:1.6;}
.ct-ptw__bullets{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:9px;}
.ct-ptw__bullets li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem;color:var(--ct-ink-soft);}
.ct-ptw__bullets svg{color:var(--ct-violet);flex:none;margin-top:3px;}

.ct-ptw__hp{position:absolute;left:-9999px;}
.ct-ptw__row{display:flex;gap:10px;flex-wrap:wrap;}
.ct-site .ct-ptw__row input[type=email]{
  flex:1 1 220px;min-width:0;padding:13px 16px;border-radius:999px;
  border:1px solid var(--ct-line);background:#fff;font-size:.97rem;font-family:inherit;
}
.ct-site .ct-ptw__row input[type=email]:focus{outline:2px solid var(--ct-violet);outline-offset:1px;border-color:transparent;}
.ct-ptw__row .ct-btn{flex:none;display:inline-flex;align-items:center;gap:9px;}
.ct-ptw__dl{margin:4px 0 0;}

.ct-ptw__legal{font-size:.78rem;color:var(--ct-ink-soft);line-height:1.55;margin:12px 0 0;}
.ct-site .ct-ptw__legal a{color:var(--ct-violet);font-weight:600;}
.ct-ptw__prov{
  font-size:.74rem;color:var(--ct-ink-soft);line-height:1.5;margin:16px 0 0;
  padding-top:14px;border-top:1px solid var(--ct-line);opacity:.9;
}

@media (max-width:720px){
  .ct-ptw__in{grid-template-columns:1fr;gap:22px;padding:26px 22px 24px;}
  .ct-ptw__shot{max-width:150px;}
  .ct-ptw__title{font-size:1.28rem;}
}

/* Inline nudge part-way through a long read. */
.ct-ptw--inline{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:34px 0;padding:14px 20px;border-radius:14px;
  background:var(--ct-mist);box-shadow:inset 0 0 0 1px var(--ct-line);
}
.ct-ptw--inline::before{height:0;}
.ct-ptw--inline::after{display:none;}
.ct-ptw--inline .ct-ptw__label{margin:0;}
.ct-ptw__inlinetitle{font-weight:700;font-size:.95rem;letter-spacing:-.015em;flex:1 1 auto;}
.ct-site .ct-ptw__inlinelink{
  display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.88rem;
  color:var(--ct-violet);text-decoration:none!important;flex:none;
}

/* Card meta: "9 min read · Free workbook" */
.ct-scard__read{display:inline-flex;align-items:center;gap:7px;}
.ct-scard__read>span+span::before{content:'\00b7';margin-right:7px;opacity:.55;}
.ct-scard__free{
  background:var(--ct-grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;font-weight:800;
}
/* ---------- Free resource cards (the applied layer, homepage) ---------- */
.ct-grid--res{gap:20px;}
.ct-rcard{
  display:flex;flex-direction:column;height:100%;
  background:#fff;border-radius:var(--ct-radius-sm);padding:22px 22px 20px;
  box-shadow:inset 0 0 0 1px var(--ct-line);
  transition:transform .2s ease,box-shadow .2s ease;
}
.ct-rcard:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px transparent,var(--ct-shadow);}
.ct-rcard__fmt{
  align-self:flex-start;color:#fff;font-size:.61rem;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:16px;
}
.ct-rcard__title{font-size:1.01rem;font-weight:700;line-height:1.3;letter-spacing:-.02em;margin:0 0 9px;color:var(--ct-ink);}
.ct-rcard:hover .ct-rcard__title{color:var(--ct-violet);}
.ct-rcard__desc{font-size:.88rem;color:var(--ct-ink-soft);line-height:1.55;margin:0 0 16px;}
.ct-rcard__meta{margin-top:auto;font-size:.74rem;font-weight:700;color:var(--ct-ink-soft);}
.ct-site .ct-rcard{text-decoration:none!important;}
@media (max-width:1024px){.ct-grid--res{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.ct-grid--res{grid-template-columns:1fr!important;}}

/* The card foot now holds only the reader-facing meta, so it sits left. */
.ct-scard__foot{justify-content:flex-start;}