/* Partnership enquiry page. Builds on platform.css and request-demo.css (form primitives). Prefix: pt-. */

.fti-partners .fp-sec { padding-block:clamp(40px,5vw,68px); }
.fti-partners .fp-hero-grid { padding-block:clamp(28px,3vw,44px) clamp(40px,4vw,60px); }
.fti-partners .fp-hero h1 { font-size:clamp(2.6rem,4.8vw,4.25rem); }
.fti-partners .fp-hero-visual { width:100%; max-width:520px; margin-inline:auto; }
.fti-partners .fp-hero-visual .fu { max-width:none; width:100%; }
.pt-art svg { display:block; width:100%; height:auto; }
.pt-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.fp-sec--mint .fp-eyebrow { color:#076650!important; }

.pt-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,72px); align-items:start; }
.pt-intro h2 { margin:0; font-size:clamp(2rem,3.4vw,2.875rem); line-height:1.1; letter-spacing:-.03em; }
.pt-lead { margin:0 0 14px; color:var(--mute); font-size:1.1875rem; }
.pt-checks, .pt-topic-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.pt-checks li, .pt-topic-list li { position:relative; padding-left:30px; color:var(--ink); font-size:1.125rem; line-height:1.4; }
.pt-checks li::before, .pt-topic-list li::before { content:''; position:absolute; left:3px; top:.4em; width:11px; height:6px; border-left:2px solid var(--em); border-bottom:2px solid var(--em); transform:rotate(-45deg); }

/* application: heading spans both columns, guidance left, form right */
.pt-form-sec { padding-block:clamp(36px,4.5vw,60px); }
.pt-layout { display:grid; grid-template-columns:5fr 7fr; column-gap:clamp(28px,4vw,56px); align-items:start; }
.pt-head { grid-column:1 / -1; margin-bottom:clamp(18px,2.4vw,28px); max-width:640px; }
.pt-head h2 { margin:0 0 8px; font-size:clamp(2rem,3.4vw,2.875rem); line-height:1.1; letter-spacing:-.03em; color:var(--ink); }
.pt-head p:last-child { margin:0; color:var(--mute); font-size:1.0625rem; }
.pt-guide { grid-column:1; }
.pt-panel { grid-column:2; grid-row:2; min-width:0; }
.pt-cards { list-style:none; margin:0 0 14px; padding:0; display:grid; gap:12px; }
.pt-cards li { display:grid; grid-template-columns:40px 1fr; gap:14px; align-items:center; padding:16px 18px; background:#fff; border:1px solid #cfe3da; border-radius:8px; }
.pt-i { width:40px; height:40px; display:grid; place-items:center; border-radius:8px; background:var(--mint); color:var(--em); }
.pt-i svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.pt-cards h3 { margin:0 0 2px; font-size:1.0625rem; color:var(--ink); }
.pt-cards p { margin:0; color:var(--mute); font-size:.9375rem; line-height:1.4; }
.pt-notice { display:flex; gap:12px; align-items:flex-start; margin:0; padding:14px 16px; background:#fff8e8; border:1px solid #f0dca8; border-radius:6px; color:#5c3d00!important; font-size:.9375rem; line-height:1.5; }
.pt-notice svg { flex:none; width:20px; height:20px; margin-top:1px; fill:none; stroke:#a15b00; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.fti-partners textarea#rd-message { min-height:200px; }
.fti-partners .field-hint { margin:0 0 8px; }
.fti-partners .demo-form-wrap { box-shadow:0 12px 30px -24px rgba(6,40,50,.4); }
.pt-submit { margin-top:20px; padding-top:18px; }
.pt-done { margin:0; max-width:none; box-shadow:none; }
.pt-done h3 { margin:0 0 12px; font-size:1.625rem; }

.pt-process h2, .pt-topics h2 { margin:0 0 20px; font-size:clamp(1.75rem,2.8vw,2.375rem); line-height:1.15; }
.pt-steps { list-style:none; margin:0 0 20px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; position:relative; }
.pt-steps li { position:relative; display:grid; justify-items:center; align-content:start; gap:10px; padding:0 14px; text-align:center; color:var(--ink); font-size:1.125rem; font-weight:650; line-height:1.35; }
.pt-steps li span { position:relative; z-index:1; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#fff; border:2px solid var(--em); color:#076650; font-weight:700; }
.pt-steps li:not(:last-child)::after { content:''; position:absolute; top:22px; left:calc(50% + 28px); right:calc(-50% + 28px); border-top:2px dashed #7fb9a8; }
.pt-disclaimer { margin:0; padding:14px 18px; border-left:4px solid var(--em); background:var(--mint-l); color:var(--ink); font-size:1.0625rem; line-height:1.5; border-radius:0 6px 6px 0; }
.pt-topics-lead { margin:0 0 16px; color:var(--mute); font-size:1.0625rem; max-width:64ch; }
.pt-topic-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; }
.pt-close h2 { margin:0 0 8px; color:#fff; font-size:clamp(1.9rem,3.4vw,2.75rem); line-height:1.1; letter-spacing:-.03em; }
.pt-close p { margin:0; color:#bdd0d1; font-size:1.125rem; max-width:52ch; }
.pt-close-in { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 40px; }
.pt-close .pt-actions { margin-top:0; }
.fti-partners a:focus-visible, .fti-partners button:focus-visible { outline:3px solid var(--em); outline-offset:3px; }

@media (max-width:900px) {
	.pt-intro-grid { grid-template-columns:1fr; }
	.pt-layout { grid-template-columns:1fr; }
	.pt-head { order:1; }
	.pt-panel { grid-column:1; grid-row:auto; order:2; }
	.pt-guide { grid-column:1; order:3; margin-top:24px; }
	.pt-steps { grid-template-columns:1fr; gap:16px; }
	.pt-steps li { grid-template-columns:44px 1fr; justify-items:start; text-align:left; align-items:center; padding:0; }
	.pt-steps li:not(:last-child)::after { display:none; }
	.pt-topic-list { grid-template-columns:1fr; }
}

.pt-email { margin:14px 0 0; color:var(--mute); font-size:1rem; }
.pt-email a { color:#076650; font-weight:700; overflow-wrap:anywhere; }
.pt-close .pt-close-email { margin-top:10px; font-size:1.0625rem; }
.pt-close-email a { color:#7fe0bf; font-weight:700; overflow-wrap:anywhere; }
