/* TVS Partners: the funnel page (index).
   Tokens, type, header, footer and .btn come from public.css and brand.css,
   copied unchanged from tvs-pro. This sheet holds only what those two do not
   already express. */

/* Header: no nav on a funnel page, only the mark and the edition label. */
.pt-edition{margin:0 0 0 auto;font:400 .75rem/1.5 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}

/* The opening of every page: eyebrow, headline, body, action. */
.pt-hero{padding-block:clamp(3.5rem,9vw,8.5rem) clamp(3.5rem,8vw,7rem)}
.pt-hero--full{min-height:calc(100svh - 84px);display:flex;align-items:center}
.pt-hero .lab{margin:0 0 1.5rem}
.pt-hero h1{margin:0;max-width:15ch;text-wrap:balance;font-size:clamp(2.75rem,1.6rem + 5.2vw,6.5rem);letter-spacing:-.01em}
.pt-body{margin-top:clamp(1.75rem,3.5vw,2.75rem);max-width:40rem}
.pt-lede{margin:0;font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.55;color:var(--ink)}
.pt-lede + .pt-lede{margin-top:1rem}
.pt-say{text-wrap:balance;font-family:var(--display);font-size:clamp(1.375rem,1.1rem + 1vw,1.875rem);line-height:1.3}
.pt-act{margin-top:clamp(2rem,4vw,3rem);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}
.pt-act .quiet{margin:0;color:var(--muted)}
.pt-qualify{margin:clamp(2.25rem,4vw,3rem) 0 0;padding-top:1.5rem;border-top:1px solid var(--rule);max-width:34rem;color:var(--ink-2)}

/* P2: the three steps, on the stone band. */
.pt-band{background:var(--stone);padding-block:clamp(3.5rem,7vw,6.5rem)}
.pt-band .lab{margin:0 0 2rem;color:var(--ink-2)}
.pt-steps{list-style:none;margin:0;padding:0;display:grid;gap:2.5rem;align-items:start}
.pt-num{display:block;margin-bottom:1rem;font:400 clamp(2.5rem,2rem + 2vw,3.75rem)/1 var(--display);color:var(--accent)}
.pt-steps h3{margin:0;font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);line-height:1.2}
.pt-steps p{margin:.6rem 0 0;max-width:30ch;color:var(--ink-2)}
.pt-close{padding-block:clamp(3.5rem,8vw,7rem)}

/* P3: one open package, the bigger ones locked. */
.pt-packages{display:grid;gap:1rem;padding-bottom:clamp(3rem,6vw,5rem)}
.pt-pack{padding:clamp(1.75rem,3vw,3rem)}
.pt-pack h2{margin:0;line-height:1.2}
.pt-pack p{margin:0}
.pt-pack--open{background:var(--deep);color:var(--paper)}
.pt-pack--open .lab{margin:0 0 1.25rem;color:var(--violet-2)}
.pt-pack--open h2{max-width:18ch;font-size:clamp(1.625rem,1.3rem + 1.2vw,2.375rem)}
.pt-price{margin:clamp(1.5rem,3vw,2.5rem) 0 .5rem!important;font:400 clamp(3.5rem,2.5rem + 4vw,6.25rem)/1 var(--display)}
.pt-pack--open .pt-fine{color:var(--violet-2)}
.pt-pack--open .btn{margin-top:clamp(1.75rem,3vw,2.5rem)}
.pt-pack--locked{background:var(--stone);color:var(--ink-3);display:flex;flex-direction:column;justify-content:center;gap:.5rem}
.pt-pack--locked h2{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);color:var(--ink-2)}
.pt-pack--locked svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;margin-bottom:.5rem}
.pt-terms{padding-block:clamp(2.5rem,5vw,4rem) clamp(4rem,9vw,7rem);border-top:1px solid var(--rule)}
.pt-terms p{margin:0;max-width:38rem}
.pt-terms p + p{margin-top:1.25rem;color:var(--ink-2)}
.pt-terms a{white-space:nowrap}

/* The agreement: one document, read top to bottom at a reading measure. */
.pt-doc{padding-block:clamp(3rem,7vw,6rem) clamp(4rem,9vw,7rem)}
.pt-doc .wrap>:not(h1){max-width:36rem}
.pt-doc h1{margin:0 0 1.5rem;max-width:22ch;text-wrap:balance;font-size:clamp(2.25rem,1.6rem + 2.6vw,3.75rem)}
.pt-doc h2{margin:2.75rem 0 .75rem;font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);line-height:1.2}
.pt-doc :is(p,ul){margin:0}
.pt-doc :is(p,ul) + :is(p,ul){margin-top:1rem}
.pt-doc ul{padding-left:1.25rem}
.pt-doc li + li{margin-top:.5rem}

.pt-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* A slot still waiting on a decision. Preview only: bin/deploy refuses a
   staged page that still carries data-open or an unfilled link token. */
[data-open]{background:#efe0b0;padding:0 .25em}

@media(min-width:961px){
  .pt-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}
  .pt-packages{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .pt-pack--open{grid-row:span 2}
}
@media(max-width:760px){
  .pt-hero--full{min-height:0}
  .pt-edition{font-size:.6875rem;letter-spacing:.16em}
}
