/* Prevent the SEO fallback from flashing before the client app is rendered. */
#app > main:only-child {
  visibility: hidden;
}

.article-prose p,
.article-prose li,
.article-prose blockquote {
  text-align: justify;
  text-align-last: left;
  hyphens: none;
  -webkit-hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-size: clamp(15px, calc(14.35px + .18vw), 17px);
}

img {
  height: auto;
}

h1,
h2,
h3 {
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

p,
li,
blockquote {
  text-wrap: pretty;
}

.skip-link {
  position: fixed;
  z-index: 1200;
  top: 12px;
  left: 12px;
  padding: 11px 15px;
  border-radius: 10px;
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform .2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.article-image,
.blog-image,
.cms-custom-image,
.manifesto-image {
  content-visibility: auto;
  contain-intrinsic-size: 700px 520px;
}

@media (hover: none), (pointer: coarse) {
  button,
  .icon-btn,
  .text-link,
  .footer-grid a,
  .footer-bottom a,
  .footer-bottom button {
    min-height: 44px;
  }

  .card-play,
  .card-favorite,
  .series-cover > button {
    opacity: 1;
  }
}

@media (min-width: 801px) and (max-width: 1100px) {
  :root { --shell: calc(100vw - 64px); }

  .site-header {
    gap: 18px;
    padding-inline: 24px;
  }

  .site-header .brand {
    font-size: 1.05rem;
  }

  .brand img {
    width: 43px;
    height: 43px;
  }

  .desktop-nav { gap: 14px; }
  .desktop-nav a { font-size: .78rem; }
  .header-actions { gap: 5px; }

  .home-hero {
    height: auto;
    min-height: 760px;
    padding: calc(var(--header) + 44px) 4vw 100px;
  }

  .hero-content { width: 49vw; }
  .hero-content h1 { font-size: clamp(3.7rem, 6.8vw, 4.8rem); }
  .hero-content > p { font-size: 1.02rem; }
  .hero-benefits { width: 45vw; }
  .hero-brand-visual { width: 51vw; right: -2vw; }
  .page-hero h1 { font-size: clamp(4rem, 8vw, 5.8rem); }
  .feature-art { padding: 30px; }
  .feature-copy { padding: 44px; }
  .feature-copy h2 { font-size: clamp(3rem, 5vw, 4rem); }
  .article-header h1 { font-size: clamp(4rem, 7vw, 5.4rem); }
  .article-layout { gap: 44px; }
  .footer-lead h2 { font-size: clamp(4.6rem, 8vw, 6.8rem); }
}

.account-profile-form,
.account-security {
  display: grid;
  gap: 17px;
}

.account-profile-form label {
  display: grid;
  gap: 7px;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.account-profile-form input,
.account-profile-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #06172b;
  color: var(--ivory);
  padding: 13px;
  font: inherit;
}

.account-profile-form input { height: 50px; }
.account-profile-form textarea { resize: vertical; }
.account-profile-form input[readonly] { opacity: .72; }
.account-role {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 12px;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}
.account-security p { color: var(--muted); line-height: 1.65; }
.account-security-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.account-security-actions .btn { font-size: 9px; }

@media (max-width: 600px) {
  .article-prose p,
  .article-prose li,
  .article-prose blockquote { text-align: justify; }
  .account-security-actions { display: grid; }
}

@media (max-width: 800px) {
  :root { --shell: calc(100vw - 36px); }

  body {
    font-size: 15.5px;
  }

  .home-hero {
    min-height: clamp(880px, 124svh, 1020px);
  }

  .hero-content h1 {
    font-size: clamp(3.45rem, 13vw, 5rem);
    line-height: .94;
  }

  .hero-benefits {
    position: static;
    inset: auto;
    width: min(100%, 640px);
    margin: 22px auto 26px;
  }

  .section-title h2,
  .cms-custom-copy h2 {
    font-size: clamp(2.45rem, 8vw, 3.4rem);
  }

  .page-hero h1,
  .detail-copy h1,
  .article-header h1 {
    font-size: clamp(3.4rem, 10vw, 4.7rem);
  }

  .prose {
    font-size: clamp(1.05rem, 2.8vw, 1.2rem);
    line-height: 1.75;
  }

  .newsletter,
  .feature-panel,
  .time-section {
    width: min(var(--shell), 100%);
  }

  .footer-grid a,
  .footer-bottom a,
  .footer-bottom button {
    display: flex;
    align-items: center;
  }
}

@media (max-width: 520px) {
  :root { --shell: calc(100vw - 28px); }

  .site-header { padding-inline: 12px; }
  .site-header .brand span { max-width: 130px; }

  .home-hero {
    min-height: 930px;
    padding-inline: 14px;
  }

  .hero-content h1 { font-size: clamp(3.25rem, 15vw, 4rem); }
  .hero-content > p { font-size: 1rem; line-height: 1.55; }
  .hero-actions .btn { width: 100%; }

  .hero-benefits {
    margin-block: 18px 24px;
  }

  .section-title h2,
  .cms-custom-copy h2 { font-size: clamp(2.25rem, 10.5vw, 3rem); }

  .page-hero h1,
  .detail-copy h1,
  .article-header h1,
  .legal-hero h1 { font-size: clamp(3rem, 13vw, 3.55rem); }

  .feature-copy h2,
  .newsletter h2,
  .time-section h2 { font-size: clamp(2.5rem, 11vw, 3rem); }

  .article-intro { font-size: 1.25rem !important; }
  .prose blockquote { font-size: 1.45rem; }
  .contact-aside h2 { font-size: clamp(1.8rem, 9vw, 2.35rem); }
  .legal-section h2 { font-size: clamp(1.9rem, 9vw, 2.25rem); }

  .filter-row {
    grid-template-columns: 1fr;
  }

  .filter-row label,
  .filter-row label:nth-child(3) {
    border-right: 0;
  }

  .audio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .audio-card { min-width: 0; }
  .card-copy h3 { font-size: clamp(1rem, 4.5vw, 1.2rem); }
  .privacy-banner { width: calc(100vw - 20px); }
}
/* Collapsible global audio player */
.global-player .player-collapse-toggle{position:absolute;z-index:4;top:-15px;right:-8px;display:grid;place-items:center;width:38px;height:38px;padding:0;color:#07182c;background:linear-gradient(145deg,#fff1cc,#f0a13e);border:2px solid #fff2d3;border-radius:50%;box-shadow:0 8px 24px #0008;transition:transform .2s,filter .2s}
.global-player .player-collapse-toggle:hover,.global-player .player-collapse-toggle:focus-visible{filter:brightness(1.12);transform:scale(1.08)}
.global-player .player-collapse-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}
.global-player.is-collapsed{width:54px;height:54px;left:auto;padding:0;border-radius:50%}
.global-player.is-collapsed>:not(.player-collapse-toggle){display:none!important}
.global-player.is-collapsed .player-collapse-toggle{inset:5px;width:42px;height:42px;box-shadow:none}
.global-player.is-collapsed .player-collapse-toggle svg{width:21px;height:21px}
body.player-collapsed{padding-bottom:22px}
body.player-collapsed .privacy-banner{bottom:78px;max-height:calc(100vh - 100px)}
@media(max-width:800px){.global-player .player-collapse-toggle{top:-12px;right:-4px;width:34px;height:34px}.global-player.is-collapsed{width:50px;height:50px;right:8px;bottom:7px}.global-player.is-collapsed .player-collapse-toggle{inset:4px;width:40px;height:40px}}

/* Unified type and spacing system: label, body and title. */
:root{
  --type-label:clamp(.75rem,.72rem + .08vw,.8125rem);
  --type-body:clamp(.95rem,.92rem + .12vw,1.05rem);
  --type-title:clamp(2rem,1.55rem + 1.75vw,3.15rem);
  --body:"Montserrat",Arial,sans-serif;
}
body{font-size:var(--type-body);line-height:1.55}
p,li,blockquote,input,select,textarea,.btn,.desktop-nav a,.mobile-menu a{font-size:var(--type-body)}
small,.eyebrow,.pill,.breadcrumbs,.feature-meta small,.detail-meta small,.card-copy>span,.footer-grid h3,.legal-number,.legal-toc,.new-badge,.popular,.plan-card>span:first-child{font-size:var(--type-label)!important}
.hero-content h1,.page-hero h1,.detail-copy h1,.article-header h1,.legal-hero h1,.search-page h1,.footer-lead h2,.section-title h2,.feature-copy h2,.time-section h2,.newsletter h2,.partner-section h2,.cms-custom-copy h2,.auth-form h1,.auth-art blockquote,.belief-list h3,.plan-card h2,.article-prose h2,.legal-section h2,.waitlist-dialog h2,.platform-player-dialog h2,.search-overlay label,.price{font-size:var(--type-title)!important;line-height:1.08!important;letter-spacing:-.025em}
.card-copy h3,.series-card h3,.blog-card h3,.intention-card h3,.episode h3,.footer-grid h3{font-size:var(--type-body)!important;line-height:1.35}

.content-section,.featured-section,.beliefs,.partner-section{padding-block:clamp(52px,6vw,78px)!important}
.section-title{margin-bottom:30px}
.feature-panel{min-height:440px}
.feature-art,.feature-copy{padding:clamp(30px,4vw,55px)}
.time-section{margin-block:25px 58px}
.time-section>div:first-child{padding:clamp(34px,4.5vw,58px)}
.newsletter{gap:40px;margin-block:58px 82px;padding:clamp(34px,4.5vw,58px)}
.home-hero{height:auto;min-height:720px;padding-top:calc(var(--header) + 40px);padding-bottom:76px}
.page-hero{min-height:360px;padding-top:calc(var(--header) + 36px);padding-bottom:36px}
.legal-hero{min-height:420px;padding-top:calc(var(--header) + 46px);padding-bottom:46px}
.article-header{padding-top:calc(var(--header) + 52px);padding-bottom:52px}
.category-grid{padding-block:58px 82px}
.belief-list article{grid-template-columns:54px 1fr;padding:18px 0}
.plans-grid{gap:16px;padding-block:32px 30px}
.plan-card{min-height:400px;padding:22px}
.plan-card h2{margin:22px 0 6px}
.plan-card>p,.plan-card li{font-size:var(--type-body)!important}
.plan-card ul{margin:12px 0 20px}
.plan-card li{padding:5px 0}
.price{min-height:46px}
.plan-note{margin-bottom:70px;font-size:var(--type-label)}
.legal-layout{padding-block:65px 105px}
.legal-section{margin-bottom:42px;padding-bottom:42px}
.legal-section p,.legal-section li{font-size:var(--type-body)}

.auth-page{min-height:100svh}
.auth-art{padding:clamp(34px,4vw,55px)}
.auth-art>div{gap:24px}
.auth-form{justify-content:flex-start;padding:clamp(30px,4vw,52px) clamp(32px,6vw,78px);overflow:auto}
.auth-back{margin-bottom:24px}
.validated-form{gap:13px;margin-top:18px}
.validated-form>label:not(.checkbox){font-size:var(--type-label)}

@media(max-width:800px){
  .content-section,.featured-section,.beliefs,.partner-section{padding-block:46px!important}
  .home-hero{min-height:auto;padding-top:calc(var(--header) + 46px);padding-bottom:58px}
  .hero-brand-visual{margin-bottom:45px}
  .page-hero,.legal-hero{min-height:390px;padding-top:calc(var(--header) + 42px);padding-bottom:44px}
  .article-header{padding-top:calc(var(--header) + 38px);padding-bottom:40px}
  .newsletter{margin-block:42px 64px;padding:30px 24px}
  .plan-card{min-height:0;padding:25px}
  .auth-form{min-height:calc(100svh - var(--header));padding:40px 24px 70px}
}
