/* The proposal details share the landing typography, without the video layer. */
.detail-page {
  background:var(--ink)
}

.detail-page .site-header::before {
  background:linear-gradient(var(--ink) 48%,rgb(9 9 9 / .9) 75%,transparent)
}

.detail-main {
  width: min(100% - var(--gutter) * 2,1200px);
  margin: 0 auto;
  padding-top: 10.5rem;
  padding-bottom:3rem
}

.detail-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom:4.5rem
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: .85rem;
  min-height: 44px;
  font-size: .875rem;
  color: rgb(255 255 255 / .8);
  transition: opacity .25s var(--ease-out)
}

.back-link:hover {
  color:var(--accent)
}

.back-link span {
  font-size: 1.2rem;
  color:var(--accent)
}

.page-label {
  font-size: .8rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color:var(--accent)
}

.detail-heading {
  max-width: 900px;
  margin-bottom:5rem
}

.detail-heading h1 {
  margin: 0;
  font: 500 clamp(3.6rem,6.4vw,6.2rem)/1 var(--display);
  letter-spacing: -.04em;
  text-wrap:balance
}

.page-intro {
  max-width: 630px;
  margin: 1.8rem 0 0;
  font-size: 1.125rem;
  line-height: 1.75;
  color:rgb(255 255 255 / .83)
}

.detail-main h2 {
  font: 500 clamp(2rem,3vw,3rem)/1.1 var(--display);
  letter-spacing: -.025em;
  margin:0 0 1.5rem
}

.detail-main p {
  font-size: 1rem;
  line-height: 1.85;
  margin-top:0
}

.market-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid rgb(255 255 255 / .2);
  border-bottom: 1px solid rgb(255 255 255 / .2);
  margin-bottom:5rem
}

.market-block {
  padding:3rem 3.5rem 3rem 0
}

.market-block+ .market-block {
  padding-left: 3.5rem;
  padding-right: 0;
  border-left:1px solid rgb(255 255 255 / .2)
}

.market-block p {
  max-width: 465px;
  margin-bottom: 0;
  color:rgb(255 255 255 / .83)
}

.editorial-row {
  display: grid;
  grid-template-columns: 1fr 1.65fr;
  gap: 4rem;
  padding: 2.5rem 0;
  border-bottom:1px solid rgb(255 255 255 / .16)
}

.editorial-row p {
  max-width: 690px;
  margin-bottom: 0;
  color:rgb(255 255 255 / .83)
}

.central-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
  margin-bottom:4.5rem
}

.central-card {
  border: 1px solid rgb(255 255 255 / .17);
  padding: 2rem 1.8rem;
  min-height: 220px;
  background:#0e0e0e
}

.central-card h2 {
  color: var(--accent);
  font-size:2.25rem
}

.central-card p {
  font-size: .95rem;
  color: rgb(255 255 255 / .8);
  margin-bottom:0
}

.investment-block {
  margin-top:5rem
}

.investment-row {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 4rem;
  border-top: 1px solid rgb(255 255 255 / .18);
  padding:2.5rem 0
}

.investment-row>p:first-child {
  max-width:650px
}

.detail-main .price-amount {
  font: 500 clamp(2.8rem,4vw,4rem)/1.1 var(--display);
  color: var(--accent);
  text-align: right;
  margin:0
}

.price-amount small {
  display: block;
  font: .8rem/1.8 var(--body);
  color: rgb(255 255 255 / .72);
  margin-top:.5rem
}

/* Real table semantics, with both plans visible even on narrow screens. */
.table-wrap {
  width: 100%;
  margin:0 0 4.5rem
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: .95rem;
  line-height:1.65
}

.comparison-table th,.comparison-table td {
  padding: 1.25rem 1.5rem;
  vertical-align: top;
  border-bottom: 1px solid rgb(255 255 255 / .15);
  overflow-wrap:anywhere
}

.comparison-table thead th {
  font-weight: 400;
  text-align: left;
  padding-top: 2rem;
  padding-bottom:2rem
}

.comparison-table thead td {
  width:34%
}

.comparison-table tbody th {
  font-weight: 400;
  text-align: left;
  padding-left: 0;
  color:rgb(255 255 255 / .72)
}

.comparison-table .featured {
  background: rgb(211 174 127 / .065);
  border-left: 1px solid rgb(211 174 127 / .25);
  border-right:1px solid rgb(211 174 127 / .25)
}

.comparison-table thead .featured {
  border-top:2px solid var(--accent)
}

.comparison-table tr:last-child .featured {
  border-bottom:1px solid rgb(211 174 127 / .35)
}

.plan-name {
  display: block;
  font: 500 2.2rem/1.2 var(--display);
  margin-bottom:1rem
}

.featured .plan-name {
  color:var(--accent)
}

.plan-price {
  display: block;
  font: 500 clamp(2.6rem,4vw,3.8rem)/1 var(--display);
  letter-spacing:-.03em
}

.plan-period {
  display: block;
  font-size: .8rem;
  margin-top: .65rem;
  color:rgb(255 255 255 / .65)
}

.not-included {
  display: inline-block;
  vertical-align: middle;
  margin-right: .35rem;
  font-size: 1.7rem;
  line-height: .8;
  color:var(--paper)
}

.additional-services {
  margin-top:5.5rem
}

.additional-services dl {
  margin:0
}

.additional-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 3rem;
  padding: 1.5rem 0;
  border-bottom:1px solid rgb(255 255 255 / .17)
}

.additional-row dt {
  font-size: .95rem;
  line-height: 1.8;
  max-width:790px
}

.additional-row dd {
  margin: 0;
  white-space: nowrap;
  text-align: right;
  font: 500 2rem/1.2 var(--display);
  color:var(--accent)
}

.additional-row dd small {
  display: block;
  font: .75rem/1.8 var(--body);
  color:rgb(255 255 255 / .68)
}

.detail-main .footnote {
  max-width: 1020px;
  font-size: .85rem;
  line-height: 1.85;
  color: rgb(255 255 255 / .65);
  margin-top:2.5rem
}

.footnotes .footnote+ .footnote {
  margin-top:1rem
}

.premium-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5rem;
  row-gap: 3.5rem;
  margin-bottom:5.5rem
}

.premium-block {
  border-top: 1px solid rgb(255 255 255 / .2);
  padding-top:2rem
}

.premium-block h2 {
  color:var(--accent)
}

.premium-block ul {
  list-style: none;
  padding: 0;
  margin:0
}

.premium-block li {
  padding: .7rem 0;
  border-bottom: 1px solid rgb(255 255 255 / .085);
  font-size: .95rem;
  line-height: 1.65;
  color:rgb(255 255 255 / .82)
}

.premium-pricing strong {
  display: block;
  font:500 clamp(2rem,3vw,3rem)/1.15 var(--display)
}

.premium-pricing small {
  display: block;
  margin-top: .5rem;
  color: rgb(255 255 255 / .65);
  font-size:.8rem
}

.detail-footer {
  border-top: 1px solid rgb(255 255 255 / .18);
  padding-top: 2rem;
  margin-top:6rem
}

/* Entrance is intentionally time-based only on the four non-scroll-story pages. */
.detail-enter .detail-topline {
  animation:detail-in .9s var(--ease-out) both
}

.detail-enter .detail-heading {
  animation:detail-in 1.1s .15s var(--ease-out) both
}

.detail-enter .detail-heading+* {
  animation:detail-in 1.2s .3s var(--ease-out) both
}

@keyframes detail-in {
  from {
    opacity: 0;
    transform:translateY(24px)
  }
  to {
    opacity: 1;
    transform:translateY(0)
  }
}

@media(max-width:900px) {
  .detail-main {
    padding-top:8.5rem
  }
  .detail-topline {
    margin-bottom:3rem
  }
  .detail-heading {
    margin-bottom:3.5rem
  }
  .central-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .market-block {
    padding-right:2rem
  }
  .market-block+ .market-block {
    padding-left:2rem
  }
  .editorial-row {
    gap:2rem
  }
  .premium-grid {
    column-gap:2.5rem
  }
  .comparison-table th,.comparison-table td {
    padding:1rem
  }
}

@media(max-width:600px) {
  .detail-main {
    width: calc(100% - 2.5rem);
    padding-top:7.3rem
  }
  .detail-topline {
    gap: 1rem;
    margin-bottom: 2.5rem;
    align-items: flex-start;
    flex-direction:column
  }
  .page-label {
    font-size:.75rem
  }
  .back-link {
    font-size:.8rem
  }
  .detail-heading h1 {
    font-size:clamp(3rem,12vw,4.1rem)
  }
  .detail-main .page-intro {
    font-size: 1rem;
    line-height:1.75
  }
  .market-grid,.central-grid,.premium-grid,.editorial-row {
    grid-template-columns:1fr
  }
  .market-grid {
    margin-bottom:2rem
  }
  .market-block,.market-block+ .market-block {
    padding: 2rem 0;
    border-left:0
  }
  .market-block+ .market-block {
    border-top:1px solid rgb(255 255 255 / .17)
  }
  .central-card {
    min-height: 0;
    padding:1.8rem
  }
  .central-grid {
    gap: .8rem;
    margin-bottom:2rem
  }
  .editorial-row {
    gap: .5rem;
    padding:2rem 0
  }
  .investment-row {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding:2rem 0
  }
  .detail-main .price-amount {
    text-align:left
  }
  .comparison-table {
    font-size: .875rem;
    line-height:1.6
  }
  .comparison-table th,.comparison-table td {
    padding:1rem .5rem
  }
  .comparison-table thead td {
    width:32%
  }
  .comparison-table thead th {
    padding:1.25rem .5rem
  }
  .plan-name {
    font-size: 1.6rem;
    margin-bottom:.8rem
  }
  .plan-price {
    font-size:clamp(1.6rem,7.3vw,2.5rem)
  }
  .plan-period {
    font-size:.75rem
  }
  .additional-services {
    margin-top:3.5rem
  }
  .additional-row {
    grid-template-columns: 1fr;
    gap:.6rem
  }
  .additional-row dd {
    text-align:left
  }
  .additional-row dd small {
    display: inline;
    margin-left:.4rem
  }
  .premium-grid {
    gap: 2rem;
    margin-bottom:3rem
  }
  .premium-pricing strong {
    font-size:1.7rem
  }
  .premium-pricing thead th,.premium-pricing small {
    font-size:.8rem
  }
  .detail-footer {
    margin-top:4rem
  }
  .table-wrap {
    margin-bottom:3rem
  }
}
