/* Partnerships */
.pt-hero { overflow: hidden; }
.pt-hero canvas.rays { opacity: .9; }
.pt-hero__veil { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, var(--navy-950) 0%, rgba(7, 17, 29, .86) 42%, rgba(7, 17, 29, .25) 100%); }
.pt-hero .container { position: relative; z-index: 1; }
.pt-hero__status { padding: 1.4rem 0 1.4rem 1.4rem; border-left: 1px solid var(--gold); color: var(--fog); }

/* Audience matcher */
.pt-audience { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 1.5rem; align-items: start; }
.pt-audience > * { min-width: 0; }
.pt-audience__chips { grid-column: 1 / span 7; display: flex; flex-wrap: wrap; gap: .5rem; }
.pt-audience__out { grid-column: 8 / span 5; min-height: 190px; padding: 1.4rem 1.5rem; border: 1px solid var(--line-on-light); background: var(--white); }
.pt-chip { min-height: 44px; padding: .55rem 1rem; border: 1px solid var(--line-on-light-strong); border-radius: 999px; background: transparent; color: var(--ink); font-size: .9rem; font-weight: 600; text-align: left; transition: background-color var(--dur-2), border-color var(--dur-2), color var(--dur-2); }
.pt-chip:hover { border-color: var(--ink); }
.pt-chip[aria-pressed="true"] { background: var(--navy-900); border-color: var(--navy-900); color: var(--ivory); }
.pt-audience__label { color: var(--gold-ink); text-transform: uppercase; letter-spacing: .08em; }
.pt-audience__recs { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .5rem; }
.pt-rec { display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; width: 100%; padding: .9rem 1rem; border: 1px solid var(--line-on-light); background: var(--paper); text-align: left; color: var(--ink); transition: border-color var(--dur-2); }
.pt-rec strong { font-size: 1rem; }
.pt-rec span { grid-column: 1; font-size: .85rem; color: var(--slate); margin-top: .2rem; }
.pt-rec .icon-arrow { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--gold-ink); transition: transform var(--dur-2) var(--ease-out); }
.pt-rec:hover { border-color: var(--gold-deep); }
.pt-rec:hover .icon-arrow { transform: translateX(4px); }
@media (max-width: 960px) { .pt-audience__chips, .pt-audience__out { grid-column: 1 / -1; } .pt-audience__out { min-height: 0; } }
.pt-who { list-style: none; margin: clamp(3rem, 5vw, 4.5rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-on-light); }
.pt-who li { padding: 1.5rem clamp(1rem, 2vw, 2rem) 1.5rem 0; border-bottom: 1px solid var(--line-on-light); display: grid; gap: .45rem; align-content: start; }
.pt-who li:not(:nth-child(3n + 1)) { padding-left: clamp(1rem, 2vw, 2rem); border-left: 1px solid var(--line-on-light); }
@media (max-width: 860px) {
  .pt-who { grid-template-columns: 1fr; }
  .pt-who li:not(:nth-child(3n + 1)) { padding-left: 0; border-left: 0; }
}

/* Models */
.pt-models { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 2rem; }
.pt-models > * { min-width: 0; }
.pt-models__list { grid-column: 1 / span 4; display: grid; align-content: start; border-top: 1px solid var(--line-on-light-strong); }
.pt-models .pt-model { grid-column: 6 / span 7; }
.pt-model-tab { position: relative; display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; gap: .5rem; min-height: 64px; padding: .9rem 1rem .9rem 0; border: 0; border-bottom: 1px solid var(--line-on-light); background: none; color: var(--slate); text-align: left; font-family: var(--font-serif); font-size: 1.6rem; line-height: 1.1; transition: color var(--dur-2), padding var(--dur-2) var(--ease-out); }
.pt-model-tab .mono { font-size: .75rem; color: var(--gold-ink); }
.pt-model-tab:hover { color: var(--ink); }
.pt-model-tab[aria-selected="true"] { color: var(--ink); padding-left: .75rem; }
.pt-model-tab[aria-selected="true"]::before { content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 2px; background: var(--gold-deep); }
.pt-model-tab__fit { visibility: hidden; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; padding: .2rem .5rem; border: 1px solid var(--gold-deep); color: var(--gold-ink); border-radius: 999px; }
.pt-model-tab.is-suggested .pt-model-tab__fit { visibility: visible; }
.pt-model { display: grid; gap: 1.75rem; align-content: start; }
.pt-model__value { font-family: var(--font-serif); font-size: var(--fs-h2); line-height: 1.1; letter-spacing: -.01em; max-width: 20ch; }
.pt-model__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line-on-light); }
.pt-model__grid > * { min-width: 0; }
.pt-model__grid .mono { color: var(--gold-ink); text-transform: uppercase; letter-spacing: .08em; margin-bottom: .6rem; }
.pt-model__grid ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .4rem; font-size: var(--fs-small); }
.pt-model__grid p:not(.mono) { font-size: var(--fs-small); }
.pt-model > .btn, .pt-model > .btn-row { justify-self: start; }
@media (max-width: 960px) {
  .pt-models__list, .pt-models .pt-model { grid-column: 1 / -1; }
  .pt-model__grid { grid-template-columns: 1fr; }
}

.pt-routes { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 1.5rem; margin-top: clamp(4rem, 7vw, 7rem); padding-top: clamp(2.5rem, 4vw, 3.5rem); border-top: 1px solid var(--line-on-light-strong); }
.pt-routes > * { min-width: 0; }
.pt-routes__head { grid-column: 1 / span 4; }
.pt-routes__list { grid-column: 6 / span 7; list-style: none; margin: 0; padding: 0; counter-reset: rt; }
.pt-routes__list li { counter-increment: rt; display: grid; grid-template-columns: 3rem 1fr; column-gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line-on-light); }
.pt-routes__list li::before { content: counter(rt, decimal-leading-zero); grid-row: span 2; font-family: var(--font-mono); font-size: .75rem; color: var(--gold-ink); padding-top: .25rem; }
.pt-routes > .link-arrow { grid-column: 6 / span 7; justify-self: start; color: var(--gold-ink); }
@media (max-width: 960px) { .pt-routes__head, .pt-routes__list, .pt-routes > .link-arrow { grid-column: 1 / -1; } }

/* Standard */
.pt-standard { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line-on-dark); border: 1px solid var(--line-on-dark); }
.pt-standard li { display: grid; gap: .6rem; align-content: start; padding: 1.5rem 1.4rem 1.75rem; background: var(--navy-900); min-height: 150px; }
.pt-standard__k { font-family: var(--font-serif); font-size: 1.6rem; line-height: 1.1; color: var(--ivory); }
.pt-standard li span:last-child { font-size: var(--fs-small); color: var(--fog); }
@media (max-width: 860px) { .pt-standard { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .pt-standard { grid-template-columns: 1fr; } .pt-standard li { min-height: 0; } }
.pt-integrity { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem 2rem; align-items: start; margin: clamp(3.5rem, 6vw, 6rem) 0 0; padding-top: clamp(2.5rem, 4vw, 3.5rem); border-top: 1px solid var(--line-on-dark); }
.pt-integrity .statement { max-width: 30ch; margin: 0; font-size: clamp(1.7rem, 1.2rem + 1.9vw, 2.9rem); }
.pt-integrity figcaption { grid-column: 2; color: var(--gold); letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 600px) { .pt-integrity { grid-template-columns: 1fr; } .pt-integrity figcaption { grid-column: 1; } }

/* Conversation */
.pt-conv { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 2rem; }
.pt-conv > * { min-width: 0; }
.pt-conv__head { grid-column: 1 / span 5; }
.pt-conv__list { grid-column: 7 / span 6; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-on-light-strong); }
.pt-conv__list li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.05rem 0; border-bottom: 1px solid var(--line-on-light); }
.pt-conv__list .mono { color: var(--gold-ink); padding-top: .2rem; }
@media (max-width: 960px) { .pt-conv__head, .pt-conv__list { grid-column: 1 / -1; } }
.pt-partners { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 1.5rem; align-items: center; margin-top: clamp(3.5rem, 6vw, 5.5rem); padding-top: 1.5rem; border-top: 1px solid var(--line-on-light); }
.pt-partners__empty { display: grid; gap: .3rem; padding: 1.5rem; border: 1px dashed var(--line-on-light-strong); background: repeating-linear-gradient(135deg, transparent 0 12px, rgba(20, 24, 29, .025) 12px 13px); }
@media (max-width: 640px) { .pt-partners { grid-template-columns: 1fr; } }

/* Form */
.pt-form { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 2.5rem; }
.pt-form > * { min-width: 0; }
.pt-form__intro { grid-column: 1 / span 4; }
.pt-form__form, .pt-form > .form-success { grid-column: 6 / span 7; }
@media (min-width: 961px) { .pt-form__intro { position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; } }
@media (max-width: 960px) { .pt-form__intro, .pt-form__form, .pt-form > .form-success { grid-column: 1 / -1; } }
.pt-form__notes { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: .9rem; font-size: var(--fs-small); color: var(--slate); }
.pt-form__notes li { display: grid; grid-template-columns: 1.25rem 1fr; gap: .75rem; align-items: start; }
.pt-form__notes .icon { color: var(--gold-ink); margin-top: .15rem; }
.pt-form__notes a { color: var(--gold-ink); }
.pt-inline-btn { padding: 0; border: 0; background: none; color: var(--gold-ink); font: inherit; text-decoration: underline; text-underline-offset: .22em; cursor: pointer; }
.pt-types { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.pt-interests { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
