:root{--cp-gutter:max(28px,calc((100vw - 1600px)/2 + 48px))}

.cp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:0;align-items:stretch;min-height:clamp(600px,68vh,700px);padding:0}
.cp-hero-copy{display:flex;flex-direction:column;justify-content:center;padding-left:var(--cp-gutter);padding-right:clamp(42px,5vw,86px)}
.cp-hero h1{font-size:clamp(3.4rem,5.2vw,6.35rem)}
.cp-hero-visual{position:relative;height:auto;min-height:100%;margin:0;overflow:hidden}
.cp-hero-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 50%;filter:saturate(.82) contrast(1.04)}
.cp-hero-mic{position:absolute;right:clamp(28px,3vw,52px);bottom:clamp(28px,3vw,52px);display:grid;width:84px;height:84px;place-items:center;border-radius:50%;background:var(--cp-yellow);color:var(--cp-ink);box-shadow:0 18px 40px rgba(0,0,0,.2)}
.cp-hero-mic svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.cp-library .cp-rail{padding-left:48px;padding-right:48px;scroll-padding-inline:48px}
.cp-library{padding-bottom:58px}

/* The embedded form initializes the phone field as text, so the generic
   newsletter input rule was overriding the country selector's own inset. */
.article-newsletter-panel input.iti__tel-input{padding-left:84px!important}

.cp-about{display:block}
.cp-about-copy{max-width:1180px;margin:0 auto}
.cp-about h2{max-width:920px}
.cp-about-intro{max-width:900px;margin:0 0 56px}
.cp-about-intro p{margin:0 0 22px;font-size:clamp(1.15rem,1.65vw,1.48rem);line-height:1.52}
.cp-about-intro p:last-child{margin-bottom:0;color:#4d5049}
.cp-guest-invite{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:42px;padding:24px 0;border-top:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line);color:var(--cp-ink);text-decoration:none}
.cp-guest-invite span{font-family:var(--cp-mono);font-size:.75rem;font-weight:800;letter-spacing:.12em}.cp-guest-invite strong{font-size:1.08rem}.cp-guest-invite b{margin-left:18px;color:var(--cp-green)}

.cp-subnav,.cp-invite-nav{position:sticky;top:72px;z-index:800;scrollbar-width:thin;scrollbar-color:#aaa transparent}
.cp-subnav::-webkit-scrollbar,.cp-invite-nav::-webkit-scrollbar{display:block;height:4px}
.cp-subnav::-webkit-scrollbar-track,.cp-invite-nav::-webkit-scrollbar-track{background:#ecece8}
.cp-subnav::-webkit-scrollbar-thumb,.cp-invite-nav::-webkit-scrollbar-thumb{background:#999}
.cp-subnav a{padding-right:16px;margin-right:16px}

.cp-paths{background:#fff;color:var(--cp-ink);border-top:1px solid var(--cp-line)}
.cp-path-grid{grid-template-columns:repeat(5,minmax(0,1fr));border-color:var(--cp-line)}
.cp-path{color:var(--cp-ink);border-color:var(--cp-line)}
.cp-path:hover{background:var(--cp-paper)}
.cp-path small{color:var(--cp-green)}

.cp-episode-close{margin-top:24px;background:#fff;border-top:1px solid var(--cp-line)}
.cp-main>.article-newsletter{margin-left:0;margin-right:0}

/* Episode cover: the conversation is the primary editorial object. */
.cp-episode-hero{grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr);gap:clamp(42px,5vw,86px);min-height:660px;padding:64px var(--cp-gutter)}
.cp-episode-copy{align-self:center}
.cp-episode .cp-back{margin:0 0 54px;padding:0;border:0;gap:9px;color:rgba(255,255,255,.68);font-size:.72rem;letter-spacing:.11em}
.cp-episode .cp-back:hover,.cp-episode .cp-back:focus-visible{background:transparent;border:0;color:#fff;text-decoration:none}
.cp-episode .cp-back>span:first-child{font-size:1.05rem;font-weight:500;line-height:1}
.cp-episode .cp-back-label{font-weight:700}
.cp-episode .cp-series{margin-bottom:14px}
.cp-episode .cp-player-hero{border:0;box-shadow:0 30px 86px rgba(0,0,0,.38)}

.cp-invite-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:680px;background:var(--cp-green);color:#fff}
.cp-invite-copy{display:flex;flex-direction:column;justify-content:center;padding:72px var(--cp-gutter)}
.cp-invite-copy .cp-back{align-self:flex-start;margin-bottom:52px;color:#fff}
.cp-invite-copy h1{max-width:820px;margin:18px 0 28px;font-size:clamp(3.6rem,5.8vw,7rem);line-height:.94;letter-spacing:-.055em}
.cp-invite-copy>p{max-width:720px;margin:0 0 38px;font-size:clamp(1.15rem,1.55vw,1.45rem);line-height:1.5}
.cp-invite-visual{margin:0;overflow:hidden}
.cp-invite-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 43%;filter:saturate(.78) contrast(1.04)}
.cp-invite-nav{display:flex;gap:34px;padding:22px var(--cp-gutter);overflow-x:auto;border-bottom:1px solid var(--cp-line);background:#fff;white-space:nowrap}
.cp-invite-nav a{color:var(--cp-ink);font-weight:700;text-decoration:none}
.cp-invite-section{padding:clamp(54px,6vw,92px) var(--cp-gutter);scroll-margin-top:96px}
.cp-invite-section>header{max-width:850px;margin-bottom:36px}
.cp-invite-section h2,.cp-invite-about h2,.cp-invite-cta h2{margin:16px 0 26px;font-size:clamp(2.8rem,4.6vw,5.5rem);line-height:.98;letter-spacing:-.045em}
.cp-invite-lead{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr);gap:36px 8vw}
.cp-invite-prose p{margin:0 0 22px;font-size:clamp(1.15rem,1.45vw,1.4rem);line-height:1.55}
.cp-invite-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border-top:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line)}
.cp-invite-points article{padding:34px;border-right:1px solid var(--cp-line)}
.cp-invite-points article:first-child{padding-left:0}.cp-invite-points article:last-child{border-right:0}
.cp-invite-points b,.cp-theme-grid b{font-family:var(--cp-mono);font-size:.76rem;color:var(--cp-green)}
.cp-invite-points h3,.cp-theme-grid h3,.cp-invite-steps h3{margin:24px 0 12px;font-size:1.55rem;line-height:1.08}
.cp-invite-points p,.cp-invite-steps p{margin:0;line-height:1.55}
.cp-invite-themes{background:var(--cp-paper)}
.cp-invite-themes header p{max-width:720px;font-size:1.18rem;line-height:1.55}
.cp-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--cp-line);border-left:1px solid var(--cp-line)}
.cp-theme-grid article{min-height:168px;padding:28px;border-right:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line)}
.cp-invite-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--cp-line)}
.cp-invite-steps article{padding:34px;border-right:1px solid var(--cp-line)}
.cp-invite-steps article:first-child{padding-left:0}.cp-invite-steps article:last-child{border-right:0}
.cp-invite-steps small{font-family:var(--cp-mono);font-weight:700;text-transform:uppercase;color:var(--cp-green)}
.cp-invite-steps a{display:inline-block;margin-top:24px;color:var(--cp-green);font-weight:800}
.cp-invite-about{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:clamp(58px,6vw,94px) var(--cp-gutter);background:var(--cp-yellow);scroll-margin-top:96px}
.cp-invite-about p{margin:0 0 32px;font-size:clamp(1.15rem,1.5vw,1.42rem);line-height:1.58}
.cp-invite-about a{color:var(--cp-ink);font-weight:800}
.cp-invite-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;padding:clamp(58px,6vw,92px) var(--cp-gutter);background:#fff}
.cp-invite-cta p{max-width:690px;font-size:1.18rem;line-height:1.55}.cp-invite-cta nav{display:flex;gap:12px;flex-wrap:wrap}

@media(max-width:900px){
  .cp-hero{grid-template-columns:1fr;gap:0;padding-top:48px;padding-bottom:48px}
  .cp-hero-copy{min-height:0;padding-top:20px;padding-bottom:46px}
  .cp-hero-visual{height:auto;aspect-ratio:4/3}
  .cp-library .cp-rail{padding-left:var(--cp-gutter);padding-right:var(--cp-gutter);scroll-padding-inline:var(--cp-gutter)}
  .cp-about-copy{max-width:none}
  .cp-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-invite-hero{grid-template-columns:1fr;min-height:0}
  .cp-invite-visual{aspect-ratio:4/3}
  .cp-invite-lead,.cp-invite-about,.cp-invite-cta{grid-template-columns:1fr}
  .cp-theme-grid{grid-template-columns:repeat(2,1fr)}
  .cp-invite-points,.cp-invite-steps{grid-template-columns:1fr}
  .cp-invite-points article,.cp-invite-steps article{padding:28px 0;border-right:0;border-bottom:1px solid var(--cp-line)}
  .cp-episode-hero{display:flex;flex-direction:column;min-height:0;gap:0;padding:38px 0 0}
  .cp-episode-copy{width:100%;padding:0 var(--cp-gutter)}
  .cp-episode .cp-back{margin-bottom:38px}
  .cp-episode .cp-player-hero{width:100%;margin:38px 0 0;border:0;box-shadow:none}
}

@media(max-width:720px){.cp-subnav,.cp-invite-nav{top:60px}}

@media(max-width:560px){
  :root{--cp-gutter:28px}
  .cp-hero{padding:0}
  .cp-hero-copy{padding:64px var(--cp-gutter) 48px}
  .cp-hero-visual{aspect-ratio:4/3}
  .cp-hero-mic{right:24px;bottom:24px;width:68px;height:68px}.cp-hero-mic svg{width:30px;height:30px}
  .cp-library{padding-bottom:48px}
  .cp-about-intro{margin-bottom:44px}
  .cp-guest-invite{align-items:flex-start;flex-direction:column;gap:12px;margin-top:32px}.cp-guest-invite b{margin-left:10px}
  .cp-episode-close{margin-top:16px}
  .cp-path-grid{grid-template-columns:1fr;gap:12px;border:0}
  .cp-path{--path-accent:var(--cp-yellow);position:relative;min-height:178px;padding:24px 24px 23px 30px;overflow:hidden;border:1px solid var(--cp-line);background:linear-gradient(90deg,var(--path-accent) 0 7px,#fff 7px)}
  .cp-path:nth-child(2){--path-accent:#f2766b}.cp-path:nth-child(3){--path-accent:#54bf7f}.cp-path:nth-child(4){--path-accent:#82a8cf}.cp-path:nth-child(5){--path-accent:#df9b48}
  .cp-path small{color:var(--cp-ink);opacity:.66}
  .cp-path h3{margin:auto 0 16px;font-size:1.65rem;max-width:92%}
  .cp-path span{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--cp-line)}
  .cp-invite-copy{padding:44px var(--cp-gutter)}
  .cp-invite-copy .cp-back{margin-bottom:40px}
  .cp-invite-copy h1{font-size:3.5rem}
  .cp-invite-nav{padding-left:var(--cp-gutter);padding-right:var(--cp-gutter)}
  .cp-theme-grid{grid-template-columns:1fr}
  .cp-episode-hero{padding-top:28px}
  .cp-episode .cp-back{margin-bottom:32px}
  .cp-episode .cp-back-label{display:none}
  .cp-episode .cp-back>span:first-child{font-size:1.45rem}
  .cp-episode .cp-series{margin-bottom:10px;font-size:.75rem}
  .cp-episode h1{margin-top:10px;margin-bottom:20px;font-size:clamp(3.35rem,15vw,4.8rem);line-height:.88}
  .cp-episode .cp-guest{margin-bottom:10px;font-size:1.7rem}
  .cp-episode .cp-guest-social a{font-size:1.05rem}
  .cp-episode .cp-player-hero{margin-top:32px}
}
