/* /partners/ (evopure-partners.php), 20 Oct 2026, in the type reset: New Spirit only on the hero line (light italic, key words bold italic);
   Neue Haas Grotesk Display for headings (light, meaningful words bold), names and figures; DM Sans light in charcoal for reading.
   Square colour fields, no grey outlines, no spaced-capital labels; the signature corner only on the hero photo. Buttons are .evo-btn. */
body.evo-partners-surface { background: var(--evo-page, #FAF9F6); }
body.evo-partners-surface .site-main, body.evo-partners-surface .page-content { max-width: none; margin: 0; padding: 0; }
body.evo-partners-surface .page-header { display: none; }
.pj { --ns: "new-spirit", Georgia, serif; --nh: "neue-haas-grotesk-display", "Helvetica Neue", Helvetica, Arial, sans-serif; --dm: "dm-sans", "DM Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--navy: #1D293B; --ink: #2B2B2B; --page: #FAF9F6; --sky: #B9D5DF; --wash: #E7EAEB; --coral: #EE6C4D; --money: #D8573A; --line: rgba(29, 41, 59, .16); --g: clamp(20px, 4.2vw, 60px);
	font-family: var(--dm); font-weight: 300; font-size: 16px; line-height: 1.6; color: var(--ink); }
.pj *, .pj *::before, .pj *::after { box-sizing: border-box; }
.pj p { margin: 0; } .pj h1, .pj h2, .pj h3 { margin: 0; }
.pj a { color: var(--navy); }
.pj img { display: block; max-width: 100%; height: auto; }
.pj-w { max-width: 1320px; margin: 0 auto; padding-left: var(--g); padding-right: var(--g); }
.pj-voice { font-family: var(--ns); font-style: italic; font-weight: 300; line-height: .98; letter-spacing: -.01em; color: var(--navy); }
.pj-voice span, .pj-voice b { display: block; } .pj-voice b { font-weight: 700; }
.pj-h { font-family: var(--nh); font-weight: 300; font-size: clamp(32px, 3.6vw, 50px); line-height: 1.05; letter-spacing: -.02em; color: var(--navy); text-wrap: balance; }
.pj-h b { font-weight: 600; }
.pj-num { font-family: var(--nh); font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.015em; color: var(--navy); }
.pj-name { font-family: var(--nh); font-weight: 600; letter-spacing: -.01em; color: var(--navy); } .pj-name i { font-style: normal; font-weight: 300; }
.pj-code { font-family: var(--nh); font-weight: 300; letter-spacing: .18em; }
.pj-tl { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font: 600 11px/1 var(--nh); letter-spacing: .15em; text-transform: uppercase; color: var(--navy) !important; text-decoration: none !important; white-space: nowrap; }
.pj-tl::after { content: "\2192"; font: 300 15px/1 var(--dm); letter-spacing: 0; } .pj-tl--w { color: #fff !important; }
.pj-small { font-size: 14px; }
.pj .evo-btn { --evo-cta-h: 50px; }
.pj-sec { padding: clamp(64px, 8vw, 110px) 0; } .pj-sec--w { background: #fff; }
.pj-sh { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px 40px; flex-wrap: wrap; margin: 0 0 clamp(28px, 3.4vw, 46px); } .pj-sh p { max-width: 30em; font-size: 17px; }

/* hero */
.pj-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: min(720px, 86vh); background: var(--sky); }
.pj-hero__ph { position: relative; overflow: hidden; border-radius: 0 0 clamp(40px, 6vw, 96px) 0; }
.pj-hero__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.pj-hero__pn { display: flex; flex-direction: column; justify-content: center; padding: 48px var(--g) 48px clamp(28px, 4.4vw, 72px); max-width: 720px; }
.pj-hero .pj-voice { font-size: clamp(50px, 5.6vw, 82px); margin: 0 0 22px; }
.pj-lede { margin: 0 0 30px !important; max-width: 29em; font-size: clamp(17px, 1.35vw, 19px); line-height: 1.5; }
.pj-trio { display: flex; margin: 0 0 34px; border-top: 1px solid rgba(29, 41, 59, .25); }
.pj-trio > div { padding: 18px 28px 0 0; } .pj-trio > div + div { padding-left: 28px; border-left: 1px solid rgba(29, 41, 59, .25); }
.pj-trio .pj-num { display: block; font-size: clamp(36px, 3.4vw, 48px); line-height: 1; } .pj-trio span:not(.pj-num) { display: block; margin-top: 6px; font-size: 14px; line-height: 1.35; max-width: 11em; }
.pj-cta { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; margin: 0 0 18px; }
.pj-proof { font-size: 13.5px; } .pj-proof a { color: var(--navy); }

/* the kit */
.pj-kit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pj-kt__v { height: 540px; display: flex; align-items: center; justify-content: center; background: var(--t); margin: 0 0 20px; overflow: hidden; }
.pj-kt h3 { font: 600 20px/1.2 var(--nh); color: var(--navy); margin: 0 0 6px; } .pj-kt > p { font-size: 15.5px; }
.pj-cc { width: min(330px, 86%); background: var(--navy); color: #fff; padding: 28px 26px; } .pj-cc .pj-code { display: block; font-size: 30px; margin: 0 0 14px; color: #fff; }
.pj-cc p { margin: 0 0 20px; font-size: 13.5px; color: rgba(255, 255, 255, .82); } .pj-cc__row { display: flex; gap: 16px; align-items: center; }
.pj-cc__btn { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; background: #fff; color: var(--navy); font: 600 11px/1 var(--nh); letter-spacing: .15em; text-transform: uppercase; }
.pj-ph { width: 228px; aspect-ratio: 9 / 19.3; border-radius: 34px; background: #111; padding: 7px; box-shadow: 0 30px 60px -30px rgba(29, 41, 59, .45); }
.pj-ph__s { position: relative; width: 100%; height: 100%; border-radius: 28px; overflow: hidden; background: #fff; }
.pj-mini { background: var(--sky); padding: 30px 14px 16px; } .pj-mini__av { display: inline-flex; width: 28px; height: 28px; border-radius: 50%; background: var(--navy); color: #fff; align-items: center; justify-content: center; font: 600 12px var(--nh); vertical-align: middle; }
.pj-mini__nm { margin-left: 8px; font: 600 12px var(--nh); color: var(--navy); vertical-align: middle; } .pj-voice--mini { margin-top: 12px; font-size: 22px; }
.pj-mini__on { padding: 9px 14px; font-size: 10.5px; display: flex; gap: 6px; align-items: center; } .pj-mini__on i { width: 6px; height: 6px; border-radius: 50%; background: #2E7D5B; } .pj-mini__on b { font-weight: 500; color: var(--navy); }
.pj-mini__p { padding: 4px 14px; } .pj-mini__p img { width: 100%; aspect-ratio: 1; object-fit: cover; } .pj-mini__p .pj-name { display: block; margin-top: 8px; font-size: 13.5px; }
.pj-st img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pj-st__l { position: absolute; left: 16px; right: 16px; top: 46px; font-size: 26px; }
.pj-st__code { position: absolute; left: 14px; right: 14px; bottom: 54px; background: #fff; padding: 10px 12px; display: flex; justify-content: space-between; align-items: center; gap: 8px; } .pj-st__code .pj-code { font-size: 14px; color: var(--navy); } .pj-st__code small { font-size: 9.5px; text-align: right; line-height: 1.3; max-width: 6em; }

/* calculator */
.pj-calc { background: var(--navy); color: #fff; padding: clamp(64px, 8vw, 110px) 0; scroll-margin-top: 90px; }
.pj-calc__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 90px); align-items: center; }
.pj-calc .pj-h { color: #fff; margin: 0 0 18px; } .pj-calc p { color: rgba(255, 255, 255, .85); font-size: 17px; max-width: 28em; } .pj-calc__vs { margin-top: 22px !important; font-size: 14px !important; color: rgba(255, 255, 255, .7) !important; }
.pj-calc__box { background: #24324A; padding: clamp(26px, 3vw, 40px) clamp(22px, 3vw, 44px); }
.pj-q { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; font-size: 15.5px; color: #fff; margin: 0 0 10px; cursor: pointer; } .pj-q .pj-num { color: #fff; font-size: 28px; }
.pj-calc input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 3px; margin: 8px 0 32px; background: linear-gradient(90deg, var(--coral) 0 var(--v, 30%), rgba(255, 255, 255, .22) var(--v, 30%) 100%); border: 0; outline: 0; }
.pj-calc input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #fff; cursor: pointer; border: 0; }
.pj-calc input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; cursor: pointer; border: 0; }
.pj-calc input[type="range"]:focus-visible { outline: 2px solid var(--coral); outline-offset: 6px; }
.pj-co { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255, 255, 255, .2); } .pj-co > div { padding: 22px 0 0; } .pj-co > div + div { padding-left: 28px; border-left: 1px solid rgba(255, 255, 255, .2); }
.pj-co .pj-num { display: block; font-size: clamp(46px, 5vw, 64px); line-height: 1; color: #fff; } .pj-co span:not(.pj-num) { display: block; margin-top: 8px; font-size: 14px; color: rgba(255, 255, 255, .8); }
.pj-calc__box small { display: block; margin-top: 22px; font-size: 12.5px; color: rgba(255, 255, 255, .6); line-height: 1.5; }

/* products */
.pj-prods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.pj-pc { display: block; background: var(--panel); text-decoration: none !important; color: var(--ink) !important; }
.pj-pc img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .5s ease; } .pj-pc { overflow: hidden; } .pj-pc:hover img { transform: scale(1.02); }
.pj-pc__b { display: block; padding: 20px 20px 22px; } .pj-pc .pj-name { display: block; font-size: 22px; line-height: 1.1; }
.pj-pc__p { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 18px; } .pj-pc__p .pj-num { display: block; font-size: 22px; }
.pj-pc__p small { display: block; font-size: 13px; } .pj-pc__p s { margin-left: 4px; opacity: .6; } .pj-you { text-align: right; } .pj-you .pj-num { color: var(--money); }

/* splits: what you get, who it's for, rules, questions */
.pj-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(30px, 6vw, 90px); align-items: start; }
.pj-split > div:first-child p { margin-top: 16px; font-size: 17px; max-width: 28em; }
.pj-list { list-style: none; margin: 0; padding: 0; } .pj-list li { padding: 20px 0; border-top: 1px solid var(--line); } .pj-list li:last-child { border-bottom: 1px solid var(--line); }
.pj-list h3 { font: 600 18px/1.25 var(--nh); color: var(--navy); margin: 0 0 6px; } .pj-list p { font-size: 15.5px; }
.pj-who { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; } .pj-who li { padding: 10px 16px; background: #fff; font-size: 15px; color: var(--navy); }
.pj-faq details { border-top: 1px solid var(--line); } .pj-faq details:last-child { border-bottom: 1px solid var(--line); }
.pj-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; cursor: pointer; font: 600 17px/1.3 var(--nh); color: var(--navy); }
.pj-faq summary::-webkit-details-marker { display: none; }
.pj-plus { position: relative; flex: none; width: 14px; height: 14px; } .pj-plus::before, .pj-plus::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; background: var(--navy); transition: transform .25s ease; } .pj-plus::after { transform: rotate(90deg); }
.pj-faq details[open] .pj-plus::after { transform: rotate(0); }
.pj-faq details p { padding: 0 0 20px; font-size: 15.5px; max-width: 42em; }

/* apply */
.pj-apply { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 80px); align-items: start; scroll-margin-top: 90px; }
.pj-apply > div:first-child > p { margin-top: 16px; font-size: 17px; max-width: 30em; }
.pj-steps { list-style: none; margin: 30px 0 22px; padding: 0; } .pj-steps li { display: grid; grid-template-columns: 46px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid var(--line); }
.pj-steps .pj-num { font-size: 28px; line-height: 1; } .pj-steps h3 { font: 600 17px/1.25 var(--nh); color: var(--navy); margin: 2px 0 6px; } .pj-steps p { font-size: 15.5px; }
.pj-form { background: #C9DCE6; padding: clamp(26px, 3vw, 42px) clamp(20px, 3vw, 44px); }
.pj-form form { margin: 0; } .pj-form .wcu-register-form-title, .pj-form h3, .pj-form .wcu-registration-title { display: none; }
.pj-form p { margin: 0 0 16px !important; }
.pj-form label { display: block; margin: 0 0 7px; font: 500 13.5px/1.3 var(--dm) !important; color: var(--navy); text-transform: none !important; letter-spacing: 0 !important; } .pj-opt { font-weight: 300; opacity: .75; }
.pj-form input[type="text"], .pj-form input[type="email"], .pj-form input[type="password"], .pj-form input[type="url"], .pj-form input[type="tel"], .pj-form textarea, .pj-form select { width: 100% !important; max-width: none !important; height: 52px; padding: 0 16px; background: #fff !important; border: 0 !important; border-radius: 0 !important; box-shadow: inset 0 -1px 0 var(--navy) !important; font: 300 16px var(--dm); color: var(--ink); display: block !important; }
.pj-form textarea { height: 110px; padding: 14px 16px; }
.pj-form input:focus, .pj-form textarea:focus { box-shadow: inset 0 -2px 0 var(--navy) !important; outline: 0; }
.pj-form .wcu-register-field-col-1, .pj-form .wcu-register-field-col-2 { display: block; width: 100% !important; float: none !important; }
.pj-form input[type="submit"], .pj-form button[type="submit"] { width: 100%; height: 54px; margin-top: 6px; padding: 0 28px; background: var(--navy) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 600 12px/1 var(--nh) !important; letter-spacing: .15em !important; text-transform: uppercase !important; cursor: pointer; }
.pj-form input[type="submit"]:hover, .pj-form button[type="submit"]:hover { border-radius: 0 14px 0 0 !important; }
.pj-form .wcu-register-field-col-hp, .pj-form #wcu-input-hp, .pj-form label[for="wcu-input-hp"] { position: absolute !important; left: -9999px !important; }
.pj-legal { padding-top: 26px; padding-bottom: 60px; font-size: 13px; }

@media (max-width: 1024px) { .pj-kit { grid-template-columns: 1fr; } .pj-kt__v { height: 500px; } .pj-prods { grid-template-columns: 1fr 1fr; } .pj-split, .pj-apply, .pj-calc__in { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
	.pj-hero { grid-template-columns: 1fr; min-height: 0; } .pj-hero .pj-voice { font-size: 42px; } .pj-hero__ph { height: 340px; border-radius: 0 0 48px 0; } .pj-hero__pn { padding: 28px 20px 36px; }
	.pj-trio > div { padding-right: 14px; } .pj-trio > div + div { padding-left: 14px; } .pj-trio .pj-num { font-size: 32px; } .pj-trio span:not(.pj-num) { font-size: 12.5px; }
	.pj-prods { gap: 12px; } .pj-pc__b { padding: 14px 14px 16px; } .pj-pc .pj-name { font-size: 18px; } .pj-pc__p { flex-direction: column; align-items: flex-start; gap: 8px; } .pj-you { text-align: left; }
	.pj-co .pj-num { font-size: 42px; } .pj-co > div + div { padding-left: 18px; }
}
.pj .pj-w { margin-left: auto; margin-right: auto; }
.pj-form .wcusage-register-form-title { display: none !important; }
.pj-form #wcu-register-button, .pj-form input.woocommerce-button.button { width: 100% !important; height: 54px !important; margin-top: 6px; padding: 0 28px !important; background: #1D293B !important; background-color: #1D293B !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 600 12px/1 "neue-haas-grotesk-display", "Helvetica Neue", Arial, sans-serif !important; letter-spacing: .15em !important; text-transform: uppercase !important; cursor: pointer; transition: border-radius .2s ease; }
.pj-form #wcu-register-button:hover, .pj-form #wcu-register-button:focus-visible { border-radius: 0 14px 0 0 !important; background: #1D293B !important; }
