:root {
	--partner-red: #c3291e;
	--partner-green: #214944;
	--partner-gold: #d4b978;
	--partner-ink: #141718;
	--partner-muted: #697174;
	--partner-line: #d9dede;
	--partner-soft: #f1f3f3;
}

html { scroll-behavior: smooth; }
.partner-page { background: #fff; }
.partner-page main { overflow: hidden; }

.partner-hero {
	position: relative;
	min-height: 650px;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #fff;
	background: #141718 url('/images/partner/partner_00.webp') center 48% / cover no-repeat;
}

.partner-hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(9, 11, 12, .94) 0%, rgba(9, 11, 12, .82) 45%, rgba(9, 11, 12, .28) 77%, rgba(9, 11, 12, .14) 100%);
}

.partner-hero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 3px;
	content: "";
	background: linear-gradient(90deg, var(--partner-gold) 0 38%, rgba(212, 185, 120, .18) 38% 100%);
}

.partner-hero-inner,
.partner-brief,
.partner-application-inner {
	width: min(1240px, calc(100% - 64px));
	margin: 0 auto;
}

.partner-hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 54px;
	padding: 135px 0 82px;
}

.partner-hero-copy { max-width: 790px; }
.partner-hero-copy > p,
.partner-brief-heading p,
.partner-application-copy > p {
	margin: 0;
	color: var(--partner-gold);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	font-weight: 700;
}

.partner-hero-copy > p { margin-bottom: 20px; }
.partner-hero-copy h1 {
	margin: 0;
	font-size: clamp(50px, 5.4vw, 76px);
	line-height: 1.12;
	text-wrap: balance;
}

.partner-hero-copy > div > span {
	display: block;
	max-width: 690px;
	margin-top: 27px;
	color: #d5d9d8;
	font-size: 18px;
	line-height: 1.75;
	word-break: keep-all;
}

.partner-hero-copy > div > a {
	width: fit-content;
	min-height: 58px;
	display: inline-flex;
	align-items: center;
	gap: 26px;
	margin-top: 34px;
	padding: 0 23px;
	color: #fff;
	background: var(--partner-red);
	font-size: 16px;
	font-weight: 800;
}

.partner-hero-copy > div > a svg { width: 18px; height: 18px; }
.partner-hero-index { display: flex; align-items: baseline; gap: 15px; padding-bottom: 8px; }
.partner-hero-index span { color: #c4c9c8; font-size: 14px; }
.partner-hero-index strong { font-family: Georgia, "Times New Roman", serif; font-size: 68px; line-height: .8; }

.partner-brief { padding: 100px 0 110px; }
.partner-brief-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 50px;
	margin-bottom: 48px;
}

.partner-brief-heading p { margin-bottom: 12px; color: var(--partner-red); }
.partner-brief-heading h2,
.partner-application-copy h2 { margin: 0; font-size: clamp(34px, 3.4vw, 48px); line-height: 1.22; }
.partner-brief-heading > span { max-width: 510px; color: var(--partner-muted); font-size: 16px; line-height: 1.75; word-break: keep-all; }

.partner-process {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 2px solid var(--partner-ink);
	border-bottom: 1px solid var(--partner-line);
}

.partner-process > li {
	position: relative;
	min-height: 260px;
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	grid-template-rows: 52px 1fr;
	gap: 24px 20px;
	padding: 30px 34px 34px;
	border-right: 1px solid var(--partner-line);
}

.partner-process > li:last-child { border-right: 0; }
.partner-process > li > span { color: var(--partner-red); font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 700; }
.partner-process > li > svg { width: 36px; height: 36px; color: var(--partner-green); stroke-width: 1.5; }
.partner-process > li > div { grid-column: 1 / -1; align-self: end; }
.partner-process strong { display: block; margin-bottom: 11px; font-size: 22px; }
.partner-process p { margin: 0; color: var(--partner-muted); font-size: 16px; line-height: 1.7; word-break: keep-all; }

.partner-application { padding: 112px 0; color: #fff; background: #1b2021; }
.partner-application-inner { display: grid; grid-template-columns: minmax(310px, .78fr) minmax(560px, 1.22fr); gap: 80px; align-items: start; }
.partner-application-copy { position: sticky; top: 120px; padding-top: 16px; }
.partner-application-copy > p { margin-bottom: 16px; }
.partner-application-copy > span { display: block; max-width: 500px; margin-top: 25px; color: #b9c0bf; font-size: 16px; line-height: 1.8; word-break: keep-all; }

.partner-contact-note { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; margin-top: 42px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.partner-contact-note > svg { width: 25px; height: 25px; color: var(--partner-gold); stroke-width: 1.6; }
.partner-contact-note p { display: grid; gap: 6px; margin: 0; }
.partner-contact-note strong { font-size: 16px; }
.partner-contact-note span { color: #aeb5b4; font-size: 14px; line-height: 1.6; }

.partner-faq-link { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; padding: 0 21px; color: var(--partner-ink); background: #fff; }
.partner-faq-link > span { display: grid; gap: 5px; }
.partner-faq-link small { color: var(--partner-red); font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 700; }
.partner-faq-link strong { font-size: 16px; }
.partner-faq-link svg { width: 18px; height: 18px; }

.partner-form-shell { padding: 40px; color: var(--partner-ink); background: #fff; border-top: 3px solid var(--partner-gold); }
.partner-form-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px 24px; padding-bottom: 24px; border-bottom: 1px solid var(--partner-line); }
.partner-form-heading > span { grid-column: 1 / -1; color: var(--partner-red); font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 700; }
.partner-form-heading > strong { font-size: 27px; }
.partner-form-heading > em { color: var(--partner-muted); font-size: 14px; font-style: normal; }
.partner-form-heading b,
.partner-field > span b { color: var(--partner-red); }

.partner-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; margin-top: 28px; }
.partner-field { position: relative; display: grid; gap: 9px; min-width: 0; }
.partner-field-full { grid-column: 1 / -1; }
.partner-field > span { font-size: 15px; font-weight: 800; }
.partner-field > span small { margin-left: 5px; color: var(--partner-muted); font-size: 14px; font-weight: 500; }
.partner-field input,
.partner-field textarea { width: 100%; color: var(--partner-ink); background: #fafbfb; border: 1px solid var(--partner-line); border-radius: 0; outline: 0; font-size: 16px; transition: border-color .2s, box-shadow .2s, background .2s; }
.partner-field input { height: 58px; padding: 0 16px; }
.partner-field textarea { min-height: 142px; padding: 15px 16px 32px; line-height: 1.65; resize: vertical; }
.partner-field input:focus,
.partner-field textarea:focus { background: #fff; border-color: var(--partner-green); box-shadow: inset 3px 0 var(--partner-green); }
.partner-field > em { position: absolute; right: 13px; bottom: 10px; color: var(--partner-muted); font-size: 14px; font-style: normal; }
.partner-field > em strong { font-weight: 700; }

.partner-agree { position: relative; display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 11px; align-items: start; margin-top: 28px; cursor: pointer; }
.partner-agree > input { position: absolute; opacity: 0; pointer-events: none; }
.partner-agree > span { width: 25px; height: 25px; display: grid; place-items: center; color: transparent; background: #fff; border: 1px solid var(--partner-line); }
.partner-agree > span svg { width: 16px; height: 16px; }
.partner-agree > input:checked + span { color: #fff; background: var(--partner-green); border-color: var(--partner-green); }
.partner-agree > input:focus-visible + span { outline: 2px solid var(--partner-red); outline-offset: 2px; }
.partner-agree p { display: grid; gap: 7px; margin: 0; }
.partner-agree strong { font-size: 15px; }
.partner-agree small { color: var(--partner-muted); font-size: 14px; line-height: 1.65; word-break: keep-all; }
.partner-agree a { color: var(--partner-ink); font-weight: 700; border-bottom: 1px solid currentColor; }

.partner-submit { width: 100%; min-height: 62px; display: flex; align-items: center; justify-content: space-between; margin-top: 27px; padding: 0 22px; color: #fff; background: var(--partner-red); border: 0; cursor: pointer; font-size: 17px; font-weight: 800; }
.partner-submit svg { width: 19px; height: 19px; transition: transform .25s; }
.partner-submit:hover svg { transform: translate(3px, -3px); }
.partner-submit-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 15px 0 0; color: var(--partner-muted); font-size: 14px; text-align: center; }
.partner-submit-note svg { flex: 0 0 auto; width: 15px; height: 15px; }

@media (max-width: 1080px) {
	.partner-application-inner { grid-template-columns: minmax(280px, .72fr) minmax(500px, 1.28fr); gap: 48px; }
	.partner-process > li { padding-right: 24px; padding-left: 24px; }
}

@media (max-width: 900px) {
	.partner-hero { min-height: 620px; background-position: 58% center; }
	.partner-hero-inner,
	.partner-brief,
	.partner-application-inner { width: min(100% - 36px, 720px); }
	.partner-hero-inner { display: block; padding: 116px 0 66px; }
	.partner-hero-copy { max-width: 650px; }
	.partner-hero-copy h1 { font-size: clamp(43px, 9vw, 62px); }
	.partner-hero-index { display: none; }
	.partner-brief { padding: 74px 0 80px; }
	.partner-brief-heading { display: grid; gap: 22px; margin-bottom: 34px; }
	.partner-process { grid-template-columns: 1fr; }
	.partner-process > li { min-height: 0; grid-template-columns: 44px 42px minmax(0, 1fr); grid-template-rows: auto; align-items: start; gap: 16px; padding: 26px 20px; border-right: 0; border-bottom: 1px solid var(--partner-line); }
	.partner-process > li:last-child { border-bottom: 0; }
	.partner-process > li > div { grid-column: auto; align-self: start; }
	.partner-process strong { margin: 0 0 6px; }
	.partner-application { padding: 78px 0; }
	.partner-application-inner { grid-template-columns: 1fr; gap: 42px; }
	.partner-application-copy { position: static; padding: 0; }
	.partner-application-copy > span { max-width: 650px; }
	.partner-faq-link { max-width: 560px; }
}

@media (max-width: 560px) {
	.partner-hero { min-height: 590px; background-position: 61% center; }
	.partner-hero-shade { background: linear-gradient(90deg, rgba(9, 11, 12, .95), rgba(9, 11, 12, .67)); }
	.partner-hero-inner { padding-top: 105px; }
	.partner-hero-copy h1 { font-size: 42px; line-height: 1.14; }
	.partner-hero-copy > div > span { margin-top: 23px; font-size: 16px; line-height: 1.7; }
	.partner-hero-copy > div > a { width: 100%; justify-content: space-between; margin-top: 28px; }
	.partner-brief-heading h2,
	.partner-application-copy h2 { font-size: 34px; }
	.partner-process > li { grid-template-columns: 34px 36px minmax(0, 1fr); gap: 13px; }
	.partner-process > li > svg { width: 31px; height: 31px; }
	.partner-process strong { font-size: 19px; }
	.partner-process p { font-size: 15px; }
	.partner-form-shell { padding: 28px 20px; }
	.partner-form-heading { grid-template-columns: 1fr; }
	.partner-form-heading > strong { font-size: 24px; }
	.partner-field-grid { grid-template-columns: 1fr; gap: 21px; }
	.partner-field-full { grid-column: auto; }
	.partner-field input { height: 56px; }
	.partner-agree { grid-template-columns: 24px minmax(0, 1fr); }
	.partner-submit-note { align-items: flex-start; text-align: left; line-height: 1.55; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}
