.premium-showcase { padding-block: 2rem 3rem; }
.premium-eyebrow { color: var(--brand); font-size: .73rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.premium-intro { max-width: 52rem; padding-block: 1rem 3.5rem; }
.premium-intro h1 { color: var(--text-primary); font-size: clamp(2.7rem, 6.2vw, 5.2rem); line-height: 1.03; letter-spacing: -.045em; margin-top: 1.1rem; }
.premium-lead { color: var(--text-muted); max-width: 39rem; font-size: 1.13rem; line-height: 1.75; margin-top: 1.4rem; }
.premium-intro-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: 1.6rem; }
.premium-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 1.4rem; padding: .8rem 1.15rem; border-radius: .65rem; background: var(--brand); color: var(--surface-page); font-size: .9rem; font-weight: 650; }
.premium-button:hover { filter: brightness(.92); }
.premium-text-link { display: inline-flex; min-height: 44px; align-items: center; gap: .75rem; color: var(--brand); font-size: .9rem; font-weight: 600; }
.premium-release-note { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem 1rem; color: var(--text-muted); font-size: .8rem; line-height: 1.6; margin-top: 1.75rem; }
.premium-status { display: inline-flex; align-items: center; min-height: 1.9rem; padding: .25rem .65rem; border: 1px solid var(--line-strong); border-radius: 2rem; font-size: .75rem; color: var(--text-primary); white-space: nowrap; }
.premium-ask { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--line); padding-block: 3rem 4rem; scroll-margin-top: 2rem; }
.premium-showcase h2 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.1; letter-spacing: -.035em; color: var(--text-primary); margin-top: .9rem; }
.premium-ask-copy > p:not(.premium-eyebrow), .premium-section-lead { margin-top: 1.25rem; line-height: 1.75; color: var(--text-muted); }
.premium-benefits { padding: 0; margin-top: 1.75rem; list-style: none; }
.premium-benefits li { border-top: 1px solid var(--line); padding-block: 1rem; line-height: 1.65; font-size: .9rem; color: var(--text-muted); }
.premium-benefits strong { display: block; color: var(--text-primary); margin-bottom: .25rem; font-weight: 600; }
.premium-small { color: var(--text-muted); font-size: .78rem; line-height: 1.7; }
.premium-demo { min-width: 0; align-self: start; border: 1px solid var(--line-strong); background: var(--surface-card); border-radius: 1.2rem; box-shadow: 0 16px 48px color-mix(in srgb, var(--text-primary) 7%, transparent); overflow: visible; }
.premium-demo-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 1.4rem; border-bottom: 1px solid var(--line); color: var(--text-primary); }
.premium-demo-top > span:first-child { font-size: 1.5rem; font-weight: 600; }
.premium-demo-label { font-size: .7rem; color: var(--text-muted); }
.premium-demo-prompts { display: flex; flex-wrap: wrap; padding: .85rem 1.2rem .2rem; gap: .35rem; }
.premium-demo-prompts button { min-height: 44px; padding: .5rem .7rem; border: 1px solid var(--line); border-radius: .5rem; color: var(--text-muted); font-size: .76rem; cursor: pointer; }
.premium-demo-prompts button[aria-pressed=true] { border-color: var(--brand); color: var(--brand); background: color-mix(in srgb, var(--brand) 8%, transparent); }
.premium-demo-prompts button:hover { border-color: var(--brand); }
.premium-demo-thread { padding: 1.25rem 1.4rem 0; min-height: 24rem; }
.premium-demo-question { max-width: 90%; padding: .85rem 1rem; border-radius: 1.1rem 1.1rem .2rem 1.1rem; background: var(--brand); color: var(--surface-page); font-size: .87rem; }
.premium-demo-answer { margin-top: 1.5rem; border-bottom: 0; padding: 0; }
.premium-answer-name { text-transform: uppercase; letter-spacing: .1em; font-size: .65rem; font-weight: 700; color: var(--text-muted); }
.premium-answer-text { margin-top: .5rem; font-size: .9rem; line-height: 1.75; color: var(--text-primary); min-height: 10rem; }
.premium-demo-sources { margin-top: 1rem; padding-left: .7rem; border-left: 2px solid var(--line-strong); color: var(--text-muted); font-size: .65rem; line-height: 1.7; }
.premium-demo-sources span { font-size: .72rem; }
.premium-demo-composer { margin: 1.2rem; padding: 1rem; box-shadow: none; background: var(--surface-page); border-color: var(--line); }
.premium-demo-composer label { display: block; font-size: .75rem; font-weight: 600; color: var(--text-muted); }
.premium-demo-composer textarea { display: block; resize: none; width: 100%; min-height: 66px; margin-top: .55rem; padding: .7rem; border: 1px solid var(--line); border-radius: .45rem; background: color-mix(in srgb, var(--text-muted) 10%, var(--surface-page)); color: var(--text-muted); font-size: 1rem; cursor: not-allowed; }
.premium-demo-composer > div { display: flex; justify-content: space-between; align-items: center; margin-top: .7rem; color: var(--text-muted); font-size: .7rem; }
.premium-demo-composer > div:last-child button { min-height: 44px; padding: .5rem .9rem; border-radius: .5rem; background: color-mix(in srgb, var(--text-muted) 13%, var(--surface-page)); color: var(--text-muted); cursor: not-allowed; }
.premium-demo-caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem .8rem; padding: 0 1.4rem 1rem; }
.premium-demo-caption p { max-width: 21rem; font-size: .65rem; color: var(--text-muted); line-height: 1.6; }
.premium-demo-caption button { min-height: 44px; font-size: .7rem; color: var(--brand); text-decoration: underline; cursor: pointer; }
.premium-premed { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--line); padding-block: 3rem; scroll-margin-top: 2rem; }
.premium-planning { border-top: 1px solid var(--line); padding-block: 3rem; }
.premium-planning-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-block: 2rem 1.25rem; }
.premium-planning-grid h3 { font-size: 1.4rem; color: var(--text-primary); }
.premium-planning-grid p { margin-top: .75rem; color: var(--text-muted); font-size: .9rem; line-height: 1.75; }
.premium-premed .premium-status { margin-top: 1.5rem; }
.premium-premed-details article { display: flex; gap: 1rem; padding-block: 1.25rem; border-bottom: 1px solid var(--line); }
.premium-premed-details article:first-child { padding-top: 0; }
.premium-detail-number { padding-top: .3rem; color: var(--brand); font-size: .75rem; }
.premium-premed-details h3 { font-size: 1.4rem; color: var(--text-primary); }
.premium-premed-details article p { color: var(--text-muted); font-size: .9rem; line-height: 1.75; margin-top: .7rem; }
.premium-premed-details > p { margin-top: 1.2rem; }
.premium-access { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface-card); }
.premium-access h2 { font-size: 2rem; }
.premium-access p:not(.premium-eyebrow) { max-width: 40rem; margin-top: 1rem; color: var(--text-muted); line-height: 1.7; }
.premium-access > a { flex-shrink: 0; }
.premium-showcase :is(a,button):focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
@media (max-width: 767px) {
  .premium-showcase { padding-top: .5rem; }
  .premium-ask, .premium-premed { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-block: 2rem; }
  .premium-planning-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .premium-intro { padding-bottom: 2rem; }
  .premium-access { flex-direction: column; align-items: start; padding: 1.4rem; }
  .premium-demo-thread { min-height: 26rem; }
  .premium-answer-text { min-height: 12rem; }
}
@media (max-width: 374px) {
  .premium-demo-top, .premium-demo-thread { padding-inline: 1rem; }
  .premium-demo-prompts { padding-inline: .8rem; }
  .premium-demo-question { max-width: 100%; }
  .premium-demo-thread { min-height: 30rem; }
  .premium-answer-text { min-height: 15rem; }
}

.premium-demo-working { margin-top: 1.5rem; border-left: 2px solid color-mix(in srgb, var(--brand) 25%, transparent); padding: .5rem 0 .5rem 1rem; min-height: 19rem; }
.premium-answer-text { white-space: normal; min-height: 0; overflow-wrap: anywhere; }
.premium-demo-thread { min-height: 35rem; }
.premium-demo-composer > div:first-child { justify-content: flex-start; margin-top: 0; }

.premium-demo-paused .ask-thinking-phrase { animation-play-state: paused; }

.premium-demo [hidden] { display: none; }

.premium-demo-records { margin-top: 1rem; color: var(--text-muted); font-size: .75rem; line-height: 1.7; }
.premium-demo-records summary { cursor: pointer; min-height: 44px; padding-block: .65rem; color: var(--brand); }
.premium-demo-records summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.premium-demo-records p { padding-block: .5rem; }

@media (min-width: 768px) {
  .premium-access-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
}
