/* ==========================================================================
   Become a Partner - inc/class-pt-store-partner.php
   (23 Sep 2026)

   The store's own tokens and type: Space Grotesk for headings, Inter for text,
   IBM Plex Mono for money and figures. Pale sky grounds, white cards, one
   deep navy band for the calculator and one for the application form.

   The tokens are repeated here rather than imported so this page does not pull
   in the 44 KB store bundle. The values are the ones in store.css - change one
   and change the other.
   ========================================================================== */

.pt-partner{
	--pa-ink:#0B1B2E;--pa-muted:#546377;--pa-line:#D1DEEB;
	--pa-surface:#FFFFFF;--pa-sky-100:#E1F0FD;--pa-sky-200:#CEE6F9;
	--pa-sky-300:#B8D9F3;--pa-sky-400:#9CC8E6;
	--pa-deep-800:#0B2547;--pa-deep-900:#060F1B;--pa-deep-600:#123A6B;
	--pa-accent:#1668D6;--pa-accent-deep:#0F4C96;--pa-accent-soft:#CEE2F9;
	--pa-verify:#16A34A;--pa-ok-bg:#DCFCE7;--pa-ok-fg:#15803D;--pa-alert:#D42B1F;
	--pa-on-dark-1:#A8BFD6;--pa-on-dark-2:#8FA6BF;
	--pa-display:'Space Grotesk';--pa-body:Inter;--pa-mono:'IBM Plex Mono';

	font-family:var(--pa-body),system-ui,-apple-system,sans-serif;
	color:var(--pa-ink);
}
.pt-partner *{box-sizing:border-box}
.pt-partner :where(h1,h2,h3,p,ul,ol,dl,dd,figure){margin:0}
/* NOT :where() here. The theme puts padding-inline-start:20px on every ul and
   ol, and a zero-specificity reset loses to it: the step cards and the hero
   chips were pushed 20px right of their own container, which reads as
   off-centre the moment the grid drops to one column. */
body.pt-partner-page .pt-partner :is(ul,ol){
	margin:0;padding:0;padding-inline-start:0;list-style:none;
}

/* ------------------------------------------------------------- scaffolding */

/* Astra pads its article wrapper by 20px each side, which left a strip of page
   background down the left and right of every coloured band. Zeroed here, on
   this page only - the bands then run edge to edge, and .pt-pa-wrap below is
   what still holds the content off the window edge. */
body.pt-partner-page .site-content article.ast-article-single,
body.pt-partner-page .ast-container .entry-content{
	padding-left:0;padding-right:0;margin-left:0;margin-right:0;
}

.pt-partner .pt-pa-wrap{
	width:100%;max-width:1160px;margin:0 auto;
	padding-left:clamp(18px,4vw,32px);padding-right:clamp(18px,4vw,32px);
}
.pt-partner .pt-pa-wrap.is-narrow{max-width:860px}
.pt-partner .pt-pa-band{padding:clamp(40px,4.4vw,64px) 0;background:var(--pa-surface)}
/* A flat tint between two white bands, with a hairline at each edge: the
   sections then read as separate panels rather than as gaps in one long page. */
.pt-partner .pt-pa-band.is-tint{
	background:#F2F8FD;
	border-top:1px solid var(--pa-line);border-bottom:1px solid var(--pa-line);
}
.pt-partner .pt-pa-head{max-width:640px;margin:0 0 clamp(20px,2.2vw,30px)}

/* --------------------------------------------------------------------- type */

.pt-partner .pt-pa-eyebrow{
	font-family:var(--pa-mono),ui-monospace,monospace;
	font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
	color:var(--pa-accent);margin:0 0 14px;
}
.pt-partner .pt-pa-eyebrow.is-light{color:#7FB6F3}
/* Astra sets a colour on h1-h3 itself, so each heading states its own rather
   than inheriting one from the wrapper, which a direct rule always beats. */
.pt-partner .pt-pa-h1{
	font-family:var(--pa-display),system-ui,sans-serif;
	font-size:clamp(34px,5.4vw,58px);font-weight:700;letter-spacing:-.025em;
	line-height:1.06;margin:0 0 18px;text-wrap:balance;color:var(--pa-ink);
}
.pt-partner .pt-pa-h2{
	font-family:var(--pa-display),system-ui,sans-serif;
	font-size:clamp(25px,3.2vw,36px);font-weight:700;letter-spacing:-.02em;
	line-height:1.16;margin:0 0 12px;text-wrap:balance;color:var(--pa-ink);
}
.pt-partner .pt-pa-h3{
	font-family:var(--pa-display),system-ui,sans-serif;
	font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0 0 8px;
	color:var(--pa-ink);
}
.pt-partner h2.pt-pa-h2.is-light,
.pt-partner h3.pt-pa-h3.is-light{color:#FFFFFF}
.pt-partner .pt-pa-lead{font-size:clamp(16px,1.5vw,18.5px);line-height:1.62;color:var(--pa-muted);max-width:56ch}
.pt-partner .pt-pa-body{font-size:16px;line-height:1.66;color:var(--pa-muted);max-width:62ch}
.pt-partner .pt-pa-body-sm{font-size:14.5px;line-height:1.6;color:var(--pa-muted)}
.pt-partner .is-light{color:#FFFFFF}
.pt-partner .pt-pa-body.is-light{color:var(--pa-on-dark-1)}
.pt-partner .pt-pa-fineprint{font-size:13px;line-height:1.6;color:var(--pa-muted);margin:22px 0 0}
.pt-partner .pt-pa-fineprint.is-light{color:var(--pa-on-dark-2);margin:16px 0 0}
.pt-partner .pt-pa-fineprint a{color:inherit;text-decoration:underline}

/* ------------------------------------------------------------------ buttons */

/* a.pt-pa-btn, not .pt-pa-btn: the theme underlines every link in the content
   area, and a class on its own does not outrank that. */
.pt-partner a.pt-pa-btn,
.pt-partner a.pt-pa-btn:hover,
.pt-partner a.pt-pa-btn:focus{text-decoration:none}
.pt-partner .pt-pa-btn{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:50px;padding:0 26px;border:1px solid transparent;border-radius:999px;
	background:var(--pa-accent);color:#fff;text-decoration:none;
	font-size:15px;font-weight:600;letter-spacing:.01em;cursor:pointer;
	transition:background .16s ease,transform .16s ease,box-shadow .16s ease;
	box-shadow:0 10px 24px rgba(22,104,214,.22);
}
.pt-partner .pt-pa-btn:hover{background:var(--pa-accent-deep);transform:translateY(-1px)}
.pt-partner .pt-pa-btn:focus-visible{outline:3px solid var(--pa-accent-soft);outline-offset:2px}
.pt-partner .pt-pa-btn.is-quiet{
	background:transparent;color:var(--pa-ink);border-color:var(--pa-line);box-shadow:none;
}
.pt-partner .pt-pa-btn.is-quiet:hover{background:var(--pa-sky-100);border-color:var(--pa-sky-400)}
.pt-partner .pt-pa-btn.is-submit{width:100%;margin:6px 0 0;min-height:54px;font-size:16px}

/* --------------------------------------------------------------------- hero */

.pt-partner .pt-pa-hero{
	/* The site header is fixed AND transparent (121px on desktop, 104px on a
	   phone), so it hangs over whatever is at the top of the page: at the old
	   56px the eyebrow sat behind it. This clears the header and leaves about
	   40px of air under it. */
	padding:clamp(108px,10vw,132px) 0 clamp(32px,3.4vw,48px);
	background:
		radial-gradient(90% 120% at 82% 8%,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 62%),
		linear-gradient(118deg,var(--pa-sky-100) 0%,var(--pa-sky-300) 52%,var(--pa-sky-400) 100%);
}
/* Headline left, vial right; the stat row below still spans the full width, so
   the vial sits directly above the last two chips. */
.pt-partner .pt-pa-hero-top{
	display:grid;grid-template-columns:minmax(0,1fr) minmax(0,530px);
	gap:clamp(16px,2vw,32px);align-items:center;
}
.pt-partner .pt-pa-hero-body{max-width:44rem}
.pt-partner .pt-pa-hero-art{display:flex;align-items:center;justify-content:center;min-width:0}
.pt-partner .pt-pa-vial{
	width:min(520px,100%);height:auto;
	filter:drop-shadow(0 30px 44px rgba(11,27,46,.26));
	animation:pt-pa-float 6.5s ease-in-out infinite;will-change:transform;
}
@keyframes pt-pa-float{
	0%,100%{transform:translateY(-12px) rotate(-.7deg)}
	50%{transform:translateY(12px) rotate(.7deg)}
}
.pt-partner .pt-pa-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}

.pt-partner .pt-pa-stats{
	display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
	margin:clamp(26px,2.8vw,38px) 0 0;
}
.pt-partner .pt-pa-stat{
	display:flex;flex-direction:column;gap:6px;
	padding:18px 20px;border-radius:14px;
	background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);
	backdrop-filter:blur(2px);
}
.pt-partner .pt-pa-stat-n{
	font-family:var(--pa-mono),ui-monospace,monospace;
	font-size:23px;font-weight:700;letter-spacing:-.02em;color:var(--pa-ink);
}
.pt-partner .pt-pa-stat-l{font-size:12.5px;line-height:1.4;color:var(--pa-muted)}

/* --------------------------------------------------------------- calculator */

.pt-partner .pt-pa-calc-band{padding:clamp(40px,4.4vw,64px) 0;background:var(--pa-surface)}
.pt-partner .pt-pa-calc{
	display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
	gap:clamp(22px,3vw,44px);align-items:center;
}
.pt-partner .pt-pa-calc-panel{
	padding:clamp(22px,3vw,34px);border-radius:20px;
	background:
		radial-gradient(120% 90% at 50% 0%,rgba(22,104,214,.30) 0%,rgba(22,104,214,0) 62%),
		linear-gradient(160deg,var(--pa-deep-600) 0%,var(--pa-deep-800) 52%,var(--pa-deep-900) 100%);
	box-shadow:0 26px 60px rgba(11,27,46,.26);
}
.pt-partner .pt-pa-field{margin:0 0 22px}
.pt-partner .pt-pa-slider-label{
	display:flex;align-items:baseline;justify-content:space-between;gap:16px;
	margin:0 0 12px;font-size:14px;color:var(--pa-on-dark-1);
}
.pt-partner .pt-pa-slider-out{
	font-family:var(--pa-mono),ui-monospace,monospace;
	font-size:16px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;
}
.pt-partner .pt-pa-slider{
	-webkit-appearance:none;appearance:none;width:100%;height:4px;
	border-radius:999px;background:rgba(168,191,214,.32);outline:none;
}
.pt-partner .pt-pa-slider::-webkit-slider-thumb{
	-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:999px;
	background:var(--pa-verify);border:3px solid #0B2547;cursor:pointer;
	box-shadow:0 0 0 4px rgba(22,163,74,.22);
}
.pt-partner .pt-pa-slider::-moz-range-thumb{
	width:22px;height:22px;border-radius:999px;background:var(--pa-verify);
	border:3px solid #0B2547;cursor:pointer;box-shadow:0 0 0 4px rgba(22,163,74,.22);
}
.pt-partner .pt-pa-slider:focus-visible{outline:3px solid var(--pa-accent-soft);outline-offset:6px}

.pt-partner .pt-pa-calc-out{margin:26px 0 0;border-top:1px solid rgba(168,191,214,.22);padding:20px 0 0}
.pt-partner .pt-pa-calc-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 12px}
.pt-partner .pt-pa-calc-row dt{font-size:14.5px;color:var(--pa-on-dark-1)}
.pt-partner .pt-pa-calc-row dd{
	margin:0;font-family:var(--pa-mono),ui-monospace,monospace;
	font-size:20px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;
}
.pt-partner .pt-pa-calc-row.is-total dd{font-size:30px;color:#5FE39B}
.pt-partner .pt-pa-calc-note{
	margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--pa-on-dark-2);
}

/* -------------------------------------------------------------------- steps */

.pt-partner .pt-pa-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pt-partner .pt-pa-step{
	display:flex;flex-direction:column;
	padding:24px 22px 26px;border-radius:16px;
	background:var(--pa-surface);border:1px solid var(--pa-line);
	box-shadow:0 10px 30px rgba(11,27,46,.05);
}
.pt-partner .pt-pa-step-n{
	font-family:var(--pa-mono),ui-monospace,monospace;
	font-size:26px;font-weight:700;color:var(--pa-sky-400);margin:0 0 14px;
}

/* -------------------------------------------------------------------- rules */

.pt-partner .pt-pa-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pt-partner .pt-pa-rule-card{
	padding:26px;border-radius:16px;background:var(--pa-surface);
	border:1px solid var(--pa-line);box-shadow:0 10px 30px rgba(11,27,46,.05);
}
.pt-partner .pt-pa-list{display:flex;flex-direction:column;gap:12px;margin:14px 0 0}
.pt-partner .pt-pa-list li{
	position:relative;padding-left:28px;font-size:14.5px;line-height:1.6;color:var(--pa-muted);
}
.pt-partner .pt-pa-list li::before{
	position:absolute;left:0;top:0;width:19px;height:19px;border-radius:999px;
	display:flex;align-items:center;justify-content:center;
	font-size:12px;font-weight:700;line-height:1;
}
.pt-partner .pt-pa-list.is-yes li::before{content:"\2713";background:var(--pa-ok-bg);color:var(--pa-ok-fg)}
.pt-partner .pt-pa-list.is-no li::before{content:"\00D7";background:#FDE4E2;color:var(--pa-alert);font-size:13px}

/* ---------------------------------------------------------------------- faq */

.pt-partner .pt-pa-faq{display:flex;flex-direction:column;gap:10px}
.pt-partner .pt-pa-q{
	border:1px solid var(--pa-line);border-radius:14px;background:var(--pa-surface);
	overflow:hidden;
}
.pt-partner .pt-pa-q summary{
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	padding:18px 20px;cursor:pointer;list-style:none;
	font-family:var(--pa-display),system-ui,sans-serif;
	font-size:15.5px;font-weight:600;color:var(--pa-ink);
}
.pt-partner .pt-pa-q summary::-webkit-details-marker{display:none}
.pt-partner .pt-pa-q summary:focus-visible{outline:3px solid var(--pa-accent-soft);outline-offset:-3px}
.pt-partner .pt-pa-q:hover{border-color:var(--pa-sky-400)}
.pt-partner .pt-pa-chev{
	flex:0 0 auto;width:18px;height:18px;color:var(--pa-muted);transition:transform .18s ease;
}
.pt-partner .pt-pa-q[open] .pt-pa-chev{transform:rotate(180deg)}
.pt-partner .pt-pa-q > p{
	padding:0 20px 20px;margin:0;font-size:14.5px;line-height:1.66;color:var(--pa-muted);max-width:68ch;
}

/* --------------------------------------------------------------------- form */

.pt-partner .pt-pa-band.is-deep{
	background:
		radial-gradient(90% 120% at 50% 0%,rgba(22,104,214,.24) 0%,rgba(22,104,214,0) 60%),
		linear-gradient(160deg,var(--pa-deep-600) 0%,var(--pa-deep-800) 48%,var(--pa-deep-900) 100%);
}
.pt-partner .pt-pa-apply{max-width:620px;margin:0 auto}
.pt-partner .pt-pa-apply-head{text-align:center;margin:0 0 clamp(24px,3vw,34px)}
.pt-partner .pt-pa-apply-head .pt-pa-body{margin-left:auto;margin-right:auto}

.pt-partner .pt-pa-form{
	padding:clamp(22px,3vw,32px);border-radius:20px;
	background:var(--pa-surface);box-shadow:0 26px 60px rgba(6,15,27,.34);
}
.pt-partner .pt-pa-f{margin:0 0 18px}
.pt-partner .pt-pa-f label{
	display:block;margin:0 0 7px;font-size:13.5px;font-weight:600;color:var(--pa-ink);
}
.pt-partner .pt-pa-f label span{color:var(--pa-alert)}
.pt-partner .pt-pa-f input,
.pt-partner .pt-pa-f textarea{
	width:100%;padding:13px 15px;border:1px solid var(--pa-line);border-radius:12px;
	background:#F7FAFD;color:var(--pa-ink);font-family:inherit;font-size:16px;line-height:1.4;
	transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;
}
.pt-partner .pt-pa-f textarea{resize:vertical;min-height:96px}
.pt-partner .pt-pa-f input::placeholder,
.pt-partner .pt-pa-f textarea::placeholder{color:#9AA9BB}
.pt-partner .pt-pa-f input:focus,
.pt-partner .pt-pa-f textarea:focus{
	outline:none;background:var(--pa-surface);
	border-color:var(--pa-accent);box-shadow:0 0 0 4px var(--pa-accent-soft);
}
.pt-partner .pt-pa-hint{display:block;margin:7px 0 0;font-size:12.5px;color:var(--pa-muted);font-weight:400}
.pt-partner #pt-pa-code{
	font-family:var(--pa-mono),ui-monospace,monospace;
	font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}

.pt-partner .pt-pa-payout{
	display:flex;align-items:center;gap:14px;padding:15px 16px;
	border:1.5px solid var(--pa-accent);border-radius:12px;background:#F2F7FE;
}
.pt-partner .pt-pa-payout svg{flex:0 0 auto;width:26px;height:26px;color:var(--pa-accent)}
.pt-partner .pt-pa-payout span{display:flex;flex-direction:column;gap:2px;min-width:0}
.pt-partner .pt-pa-payout strong{font-size:14.5px;font-weight:600;color:var(--pa-ink)}
.pt-partner .pt-pa-payout em{font-style:normal;font-size:12.5px;color:var(--pa-muted)}

.pt-partner .pt-pa-check{display:flex;align-items:flex-start;gap:11px;margin:4px 0 20px}
.pt-partner .pt-pa-check input{flex:0 0 auto;width:19px;height:19px;margin:2px 0 0;accent-color:var(--pa-accent)}
.pt-partner .pt-pa-check label{font-size:13.5px;line-height:1.55;color:var(--pa-muted);font-weight:400}

.pt-partner .pt-pa-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.pt-partner .pt-pa-note{padding:22px 24px;border-radius:16px;margin:0 0 18px}
.pt-partner .pt-pa-note.is-ok{background:var(--pa-ok-bg);border:1px solid #A7E8BF;color:#14532D}
.pt-partner .pt-pa-note.is-ok p{margin:6px 0 0;font-size:14.5px;line-height:1.6;color:#166534}
.pt-partner .pt-pa-note.is-bad{background:#FDE4E2;border:1px solid #F6B5B0;color:#7F1D1D}
.pt-partner .pt-pa-note.is-bad p{margin:0;font-size:14.5px;line-height:1.55}

/* -------------------------------------------------------------- narrow view */

@media (max-width:980px){
	.pt-partner .pt-pa-hero-top{grid-template-columns:minmax(0,1fr);gap:16px;justify-items:center}
	.pt-partner .pt-pa-hero-body{text-align:left}
	.pt-partner .pt-pa-vial{width:min(340px,74vw)}
	.pt-partner .pt-pa-calc{grid-template-columns:minmax(0,1fr)}
	.pt-partner .pt-pa-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
	.pt-partner .pt-pa-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
	.pt-partner .pt-pa-rules{grid-template-columns:minmax(0,1fr)}
	.pt-partner .pt-pa-steps{grid-template-columns:minmax(0,1fr)}
	.pt-partner .pt-pa-hero-cta .pt-pa-btn{flex:1 1 auto}
	.pt-partner .pt-pa-calc-row.is-total dd{font-size:26px}
}

@media (prefers-reduced-motion:reduce){
	.pt-partner *{transition:none!important}
	.pt-partner .pt-pa-vial{animation:none}
}
