/* /partners/ — cohorts and campus hubs. Rendered by build_partners.py. */
.pt .wrap{max-width:1240px}
.pt section{padding-block:clamp(56px,7vw,104px)}
.pt h1,.pt h2,.pt h3{font-family:var(--display);color:var(--navy);letter-spacing:-.03em;margin:0}
.pt h2{font-size:clamp(32px,4vw,52px);line-height:1.04;font-weight:700;margin-top:16px;max-width:22ch}
.pt h3{font-size:clamp(18px,1.6vw,21px);font-weight:700;letter-spacing:-.018em;line-height:1.2}
.pt p{margin:0}
.pt .kicker{color:var(--blue)}
.pt .kicker::before{content:"";display:inline-block;width:20px;height:3px;border-radius:2px;background:var(--gold);margin-right:11px}
.pt-lead{font-size:clamp(16.5px,1.5vw,19px);line-height:1.6;color:var(--ink-2);max-width:60ch;margin-top:16px!important}
.pt-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.pt-ctas .btn svg{margin-right:2px}
.btn.pt-line{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);box-shadow:none}
.btn.pt-line:hover{border-color:#fff;background:rgba(255,255,255,.07);color:#fff}
.pt-frame{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 22px 48px -22px rgba(4,18,58,.45),0 0 0 1px rgba(4,18,58,.08)}
.pt-frame img{display:block;width:100%;height:auto}
.pt figure{margin:0}
.pt figcaption{font-size:14px;line-height:1.5;color:var(--muted);margin-top:12px;max-width:70ch}
.pt figcaption b{color:var(--navy);font-weight:600}

/* hero */
.pt section.pt-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding-bottom:0}
.pt-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 60% at 90% 0%,rgba(11,64,224,.4),transparent 70%),radial-gradient(40% 40% at 0% 70%,rgba(253,201,33,.1),transparent 70%)}
.pt-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(90px,16vw,230px);background:var(--bg)}
.pt-hero .wrap{position:relative;z-index:1}
.pt-hero .kicker{color:var(--gold)}
.pt-hero .kicker::before{background:#fff;opacity:.55}
.pt-hero h1{font-size:clamp(40px,6vw,78px);line-height:1;font-weight:700;color:#fff;margin-top:20px;max-width:none}
.pt-hero h1 em{font-style:normal;color:var(--gold)}
.pt-hero .pt-lead{color:#c9d4ee}
.pt-hero-shot{margin-top:clamp(36px,5vw,60px)!important}
.pt-hero-shot .pt-frame{box-shadow:var(--shadow-float),0 0 0 1px rgba(255,255,255,.08)}

/* three + proof */
.pt section.pt-three{padding-top:clamp(28px,4vw,48px)}
.pt-three .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.pt-num{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--blue)}
.pt-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pt-three h3{margin-top:0;font-size:clamp(20px,1.9vw,24px)}
.pt-three .wrap>div::before{content:"";display:block;width:28px;height:3px;border-radius:2px;background:var(--gold);margin-bottom:14px}
.pt-three p{margin-top:8px;font-size:16px;line-height:1.6;color:var(--ink-2)}
.pt-three .pt-live{grid-column:1/-1;display:flex;gap:16px;align-items:center;background:var(--bg-soft);border-radius:16px;padding:18px 22px;color:var(--navy);margin-top:6px}
.pt-live .pt-tag{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--navy);border-radius:8px;padding:6px 10px}
@media(max-width:760px){.pt-three .wrap{grid-template-columns:1fr}.pt-three .pt-live{flex-direction:column;align-items:flex-start}}

/* inside */
.pt-caps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 48px;margin-top:44px}
.pt-cap{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start}
.pt-n{font-family:var(--display);font-weight:700;font-size:15px;color:var(--blue);background:var(--blue-soft);border-radius:10px;height:34px;display:grid;place-items:center}
.pt-cap p{margin-top:7px;font-size:16px;line-height:1.6;color:var(--ink-2)}
.pt-pair{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;margin-top:56px;align-items:start}
.pt-pair figure:last-child{display:grid;gap:16px}
.pt-pair figure:last-child figcaption{margin-top:0}
@media(max-width:860px){.pt-caps,.pt-pair{grid-template-columns:1fr}}

/* hub */
.pt section.pt-hub{background:var(--navy);color:#fff}
.pt-hub .kicker{color:var(--gold)}.pt-hub .kicker::before{background:#fff;opacity:.55}
.pt-hub h2{color:#fff}
.pt-hub h2 em{font-style:normal;color:var(--gold)}
.pt-hub .pt-lead{color:#c9d4ee}
.pt-hub-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,3vw,40px);margin-top:44px;align-items:start}
.pt-stack{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:clamp(22px,2.4vw,30px)}
.pt-stack h3,.pt-beside h3{color:#fff}
.pt-stack p,.pt-beside p{color:#c9d4ee;margin-top:10px;font-size:16px;line-height:1.6}
.pt-stack ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.pt-stack li{display:grid;grid-template-columns:120px 20px minmax(0,1fr);align-items:center;background:rgba(255,255,255,.06);border-radius:10px;padding:12px 14px;font-size:15px;color:#fff}
.pt-stack s{text-decoration:none;color:#9fb0d4}
.pt-stack i{font-style:normal;color:var(--gold);font-weight:700}
.pt-beside{margin-top:14px;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:clamp(20px,2.2vw,26px)}
.pt-offices-h{font-size:15.5px;line-height:1.55;color:#c9d4ee}
.pt-offices-h b{color:#fff;font-family:var(--display);font-size:18px;letter-spacing:-.01em;display:block;margin-bottom:4px}
.pt-offices{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pt-offices li{background:#fff;border-radius:12px;padding:14px 16px}
.pt-offices b{display:block;font-family:var(--display);font-weight:700;font-size:16.5px;color:var(--navy);letter-spacing:-.01em}
.pt-offices span{display:block;font-size:14px;line-height:1.45;color:var(--muted);margin-top:3px}
.pt-brand{margin-top:clamp(32px,4vw,48px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding-top:clamp(24px,3vw,36px)}
.pt-x{font-family:var(--display);font-weight:700;font-size:clamp(20px,2vw,26px);color:#fff;white-space:nowrap}
.pt-x em{font-style:normal;color:var(--gold);margin:0 8px}
.pt-brand p:last-child{color:#c9d4ee;font-size:16px;line-height:1.6;max-width:60ch}
.pt-brand b{color:#fff}
@media(max-width:900px){.pt-hub-grid{grid-template-columns:1fr}.pt-brand{grid-template-columns:1fr}.pt-x{white-space:normal}}
@media(max-width:420px){.pt-stack li{grid-template-columns:1fr;gap:2px}.pt-stack i{display:none}.pt-offices{grid-template-columns:1fr}}

/* start */
.pt-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--hair);border-radius:18px;background:#fff;overflow:hidden}
.pt-steps li{padding:clamp(20px,2.2vw,28px);border-left:1px solid var(--hair)}
.pt-steps li:first-child{border-left:0}
.pt-step{font-family:var(--display);font-weight:700;font-size:34px;line-height:1;color:var(--gold-deep)}
.pt-steps h3{margin-top:12px}
.pt-steps p,.pt-way p{margin-top:7px;font-size:15.5px;line-height:1.55;color:var(--ink-2)}
.pt-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.pt-way{background:var(--bg-soft);border-radius:16px;padding:clamp(20px,2.2vw,26px)}
.pt-price{margin-top:18px!important;font-size:16px;color:var(--ink-2)}
.pt-price b{color:var(--navy)}
.pt-who{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;align-items:center;margin-top:48px;padding-top:40px;border-top:1px solid var(--hair)}
.pt-who img{width:180px;height:180px;object-fit:cover;object-position:50% 25%;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--hair);display:block}
.pt-role{font-size:14px;color:var(--muted);margin-top:4px!important}
.pt-who p:last-child{margin-top:12px;font-size:16px;line-height:1.65;color:var(--ink-2);max-width:72ch}
@media(max-width:860px){.pt-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-steps li:nth-child(3){border-left:0}.pt-steps li:nth-child(n+3){border-top:1px solid var(--hair)}.pt-ways{grid-template-columns:1fr}}
@media(max-width:560px){.pt-steps{grid-template-columns:1fr}.pt-steps li{border-left:0}.pt-steps li+li{border-top:1px solid var(--hair)}.pt-who{grid-template-columns:1fr}.pt-who img{width:140px;height:140px}}

/* cta */
.pt section.pt-cta{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.pt-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 80% at 100% 0%,rgba(11,64,224,.42),transparent 70%)}
.pt-cta .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.pt-cta h2{color:#fff;margin-top:0}
.pt-cta p{color:#c9d4ee;margin-top:12px;font-size:17px;line-height:1.6;max-width:52ch}
.pt-cta .pt-ctas{margin-top:0}
@media(max-width:860px){.pt-cta .wrap{grid-template-columns:1fr}}

@media print{.pt-hero::after{display:none}.site-header,.site-footer{display:none}}
