.partner-page { background: var(--paper); color: var(--ink); }
.partner-hero { background: #242a23; color: #f7f5ef; overflow: hidden; padding: clamp(76px,10vw,154px) 0; position: relative; }
.partner-hero::before { background: radial-gradient(circle at 50% 50%,rgba(186,146,72,.18),transparent 62%); content: ""; inset: -25% -10% -30% 44%; position: absolute; }
.partner-hero-grid { align-items: center; display: grid; gap: clamp(52px,8vw,120px); grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); position: relative; }
.partner-hero .eyebrow { color: #d3ad65; }
.partner-hero h1 { color: #f7f5ef; font: 500 clamp(62px,8vw,126px)/.86 var(--serif); letter-spacing: -.052em; margin: 26px 0 30px; max-width: 940px; }
.partner-hero-copy > p { color: rgba(247,245,239,.72); font-size: clamp(16px,1.4vw,20px); line-height: 1.72; max-width: 720px; }
.partner-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.partner-hero .btn-secondary { border-color: rgba(247,245,239,.36); color: #f7f5ef; }
.partner-hero .partner-fine-print { color: rgba(247,245,239,.52); font-size: 10px; letter-spacing: .01em; line-height: 1.7; margin-top: 28px; max-width: 650px; }
.partner-signal { background: #f3f0e7; box-shadow: 0 32px 90px rgba(0,0,0,.27); color: #11130f; padding: clamp(28px,4vw,50px); }
.partner-signal > span { color: #775a21; display: block; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.partner-signal ol { list-style: none; margin: 26px 0 0; padding: 0; }
.partner-signal li { align-items: start; border-top: 1px solid rgba(17,19,15,.14); display: grid; gap: 18px; grid-template-columns: 32px 1fr; padding: 19px 0; }
.partner-signal li b { color: #987633; font-size: 10px; }
.partner-signal li strong,.partner-signal li small { display: block; }
.partner-signal li strong { font: 500 24px/1.1 var(--serif); }
.partner-signal li small { color: rgba(17,19,15,.62); font-size: 10px; line-height: 1.6; margin-top: 7px; }

.partner-paths,.partner-application,.partner-faq { padding: clamp(74px,9vw,132px) 0; }
.partner-section-head { align-items: end; display: grid; gap: 40px; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); margin-bottom: clamp(42px,6vw,78px); }
.partner-section-head h2,.partner-application h2 { font: 500 clamp(48px,6vw,88px)/.96 var(--serif); letter-spacing: -.045em; margin: 18px 0 0; }
.partner-section-head > p,.partner-application-copy > p { color: var(--stone); font-size: 13px; line-height: 1.75; margin: 0; }
.partner-path-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.partner-path-card { background: var(--stage); min-height: 620px; padding: clamp(36px,5vw,70px); }
.partner-path-card > span { color: var(--gold-dark); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.partner-path-card h3 { font: 500 clamp(44px,4.4vw,68px)/.96 var(--serif); letter-spacing: -.04em; margin: 42px 0 22px; }
.partner-path-card > p { color: var(--stone); font-size: 14px; line-height: 1.7; max-width: 580px; }
.partner-path-card ul { border-top: 1px solid var(--line-strong); list-style: none; margin: 44px 0 0; padding: 0; }
.partner-path-card li { border-bottom: 1px solid var(--line); font-size: 11px; line-height: 1.55; padding: 16px 0 16px 22px; position: relative; }
.partner-path-card li::before { color: var(--gold-dark); content: "+"; left: 0; position: absolute; }
.partner-path-select { align-items: center; background: transparent; border: 0; border-bottom: 1px solid currentColor; color: inherit; cursor: pointer; display: flex; font: inherit; font-size: 10px; font-weight: 850; justify-content: space-between; letter-spacing: .08em; margin-top: 44px; padding: 12px 0; text-transform: uppercase; width: 100%; }
.partner-path-card-dark { background: #1b211c; color: #f7f5ef; }
.partner-path-card-dark > p,.partner-path-card-dark li { color: rgba(247,245,239,.66); }
.partner-path-card-dark ul,.partner-path-card-dark li { border-color: rgba(247,245,239,.14); }

.partner-standard { background: #242a23; color: #f7f5ef; padding: clamp(54px,7vw,92px) 0; }
.partner-standard-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.partner-standard-grid > div { border-left: 1px solid rgba(247,245,239,.15); padding: 0 clamp(20px,2.8vw,38px); }
.partner-standard-grid > div:first-child { border-left: 0; padding-left: 0; }
.partner-standard-grid span { color: #d3ad65; display: block; font-size: 9px; font-weight: 850; }
.partner-standard-grid strong { display: block; font: 500 clamp(23px,2vw,32px)/1.05 var(--serif); margin-top: 20px; }
.partner-standard-grid p { color: rgba(247,245,239,.58); font-size: 10px; line-height: 1.7; margin: 13px 0 0; }

.partner-account { background: var(--paper); padding: clamp(68px,8vw,112px) 0; }
.partner-account-shell { align-items: stretch; display: grid; gap: clamp(36px,6vw,90px); grid-template-columns: minmax(280px,.75fr) minmax(420px,1.25fr); }
.partner-account-intro { align-self: center; }
.partner-account-intro h2 { font: 500 clamp(43px,5vw,72px)/.96 var(--serif); letter-spacing: -.045em; margin: 18px 0 24px; }
.partner-account-intro > p { color: var(--stone); font-size: 12px; line-height: 1.75; margin: 0; max-width: 580px; }
.partner-account-panel { background: #1b211c; color: #f7f5ef; min-height: 270px; padding: clamp(28px,4vw,50px); }
.partner-account-loading { align-items: center; display: flex; gap: 20px; min-height: 170px; }
.partner-account-loading strong,.partner-account-loading small { display: block; }
.partner-account-loading strong { font: 500 27px/1.08 var(--serif); }
.partner-account-loading small { color: rgba(247,245,239,.58); font-size: 10px; margin-top: 7px; }
.partner-account-orbit { border: 1px solid rgba(211,173,101,.3); border-radius: 50%; flex: 0 0 40px; height: 40px; position: relative; width: 40px; }
.partner-account-orbit::after { animation: partner-orbit 1.3s linear infinite; background: #d3ad65; border-radius: 50%; content: ""; height: 7px; left: 16px; position: absolute; top: -4px; width: 7px; }
@keyframes partner-orbit { to { transform: rotate(360deg); transform-origin: 4px 24px; } }
.partner-account-empty > span,.partner-account-card > span { color: #d3ad65; display: block; font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.partner-account-empty h3 { color: #fff; font: 500 clamp(30px,3.5vw,44px)/1 var(--serif); letter-spacing: -.03em; margin: 15px 0; }
.partner-account-empty p { color: rgba(247,245,239,.64); font-size: 11px; line-height: 1.7; margin: 0; max-width: 580px; }
.partner-account-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.partner-account-action { align-items: center; background: #f5f1e8; border: 1px solid #f5f1e8; color: #171a15; display: inline-flex; font-size: 9px; font-weight: 850; justify-content: center; letter-spacing: .07em; min-height: 46px; padding: 0 18px; text-decoration: none; text-transform: uppercase; }
.partner-account-action-secondary { background: transparent; border-color: rgba(247,245,239,.28); color: #f7f5ef; }
.partner-account-list { display: grid; gap: 13px; }
.partner-account-card { border: 1px solid rgba(247,245,239,.16); padding: 22px; }
.partner-account-card-head { align-items: start; display: flex; gap: 20px; justify-content: space-between; margin-top: 11px; }
.partner-account-card h3 { color: #fff; font: 500 28px/1.05 var(--serif); margin: 0; }
.partner-account-state { background: rgba(211,173,101,.12); border: 1px solid rgba(211,173,101,.35); color: #ead39e; font-size: 8px; font-weight: 850; letter-spacing: .08em; padding: 8px 10px; text-transform: uppercase; white-space: nowrap; }
.partner-account-card p { color: rgba(247,245,239,.63); font-size: 10px; line-height: 1.65; margin: 16px 0 0; }
.partner-account-meta { border-top: 1px solid rgba(247,245,239,.13); color: rgba(247,245,239,.48); display: flex; flex-wrap: wrap; font-size: 8px; gap: 10px 18px; margin-top: 18px; padding-top: 14px; text-transform: uppercase; }

.partner-application { background: var(--stage); }
.partner-application-grid { align-items: start; display: grid; gap: clamp(50px,8vw,120px); grid-template-columns: minmax(280px,.72fr) minmax(480px,1.28fr); }
.partner-application-copy { position: sticky; top: 140px; }
.partner-review-note { border-left: 2px solid var(--gold); margin-top: 38px; padding-left: 20px; }
.partner-review-note strong { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.partner-review-note p { color: var(--stone); font-size: 11px; line-height: 1.7; margin: 10px 0 0; }
.partner-form { background: var(--paper); border: 1px solid var(--line); box-shadow: 0 24px 70px rgba(17,19,15,.07); display: grid; gap: 25px; padding: clamp(28px,5vw,64px); }
.partner-form fieldset { border: 0; margin: 0; padding: 0; }
.partner-form legend,.partner-form label > span { display: block; font-size: 9px; font-weight: 850; letter-spacing: .08em; margin-bottom: 10px; text-transform: uppercase; }
.partner-form label > span small { color: var(--stone); font-size: inherit; font-weight: 650; text-transform: none; }
.partner-choice-grid,.partner-field-grid { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.partner-choice-grid label { cursor: pointer; margin: 0; position: relative; }
.partner-choice-grid input { inset: 0; opacity: 0; position: absolute; }
.partner-choice-grid label > span { border: 1px solid var(--line-strong); display: grid; min-height: 100px; padding: 20px; text-transform: none; transition: border-color .2s ease,background .2s ease; }
.partner-choice-grid label > span strong { font: 500 24px/1.05 var(--serif); }
.partner-choice-grid label > span small { color: var(--stone); font-size: 9px; margin-top: 8px; }
.partner-choice-grid input:checked + span { background: #1b211c; border-color: #1b211c; color: #f7f5ef; }
.partner-choice-grid input:checked + span small { color: rgba(247,245,239,.62); }
.partner-choice-grid input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 3px; }
.partner-form input,.partner-form textarea { background: transparent; border: 1px solid var(--line-strong); border-radius: 0; color: var(--ink); font: inherit; font-size: 13px; padding: 15px 16px; width: 100%; }
.partner-form textarea { line-height: 1.65; resize: vertical; }
.partner-form input:focus,.partner-form textarea:focus { border-color: var(--gold-dark); outline: 2px solid color-mix(in srgb,var(--gold) 35%,transparent); outline-offset: 1px; }
.partner-consent { align-items: start; display: grid; gap: 12px; grid-template-columns: 18px 1fr; }
.partner-consent input { height: 18px; margin-top: 2px; width: 18px; }
.partner-consent > span { color: var(--stone); font-size: 10px !important; font-weight: 500 !important; letter-spacing: 0 !important; line-height: 1.65; margin: 0 !important; text-transform: none !important; }
.partner-honeypot { height: 0; left: -10000px; overflow: hidden; position: absolute; width: 0; }
.partner-submit { align-items: center; display: flex; justify-content: space-between; width: 100%; }
.partner-submit:disabled { cursor: wait; opacity: .55; }
.partner-form-status { color: var(--stone); font-size: 11px; line-height: 1.6; margin: 0; min-height: 18px; }
.partner-form-status.is-success { color: #397044; }
.partner-form-status.is-error { color: #a44035; }
.partner-form-legal { color: var(--stone); font-size: 9px; line-height: 1.65; margin: -8px 0 0; }
.partner-form-legal a { color: inherit; }

.partner-faq-grid { border-top: 1px solid var(--line-strong); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.partner-faq details { border-bottom: 1px solid var(--line); padding: 0 clamp(18px,3vw,40px); }
.partner-faq details:nth-child(odd) { border-right: 1px solid var(--line); padding-left: 0; }
.partner-faq summary { cursor: pointer; font: 500 clamp(25px,2.3vw,34px)/1.1 var(--serif); list-style: none; padding: 30px 38px 30px 0; position: relative; }
.partner-faq summary::-webkit-details-marker { display: none; }
.partner-faq summary::after { color: var(--gold-dark); content: "+"; font: 500 24px/1 var(--sans); position: absolute; right: 0; top: 32px; }
.partner-faq details[open] summary::after { content: "−"; }
.partner-faq details p { color: var(--stone); font-size: 11px; line-height: 1.75; margin: -4px 0 30px; max-width: 650px; }

:root[data-color-mode="dark"] .partner-page,.partner-paths,.partner-faq { background: var(--paper); color: var(--ink); }
:root[data-color-mode="dark"] .partner-application { background: var(--stage); color: var(--ink); }
:root[data-color-mode="dark"] .partner-form { background: var(--paper); }

@media (max-width: 960px) {
  .partner-hero-grid,.partner-application-grid,.partner-account-shell { grid-template-columns: 1fr; }
  .partner-signal { max-width: 680px; }
  .partner-application-copy { position: static; }
  .partner-standard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 38px; }
  .partner-standard-grid > div:nth-child(3) { border-left: 0; padding-left: 0; }
}

@media (max-width: 720px) {
  .partner-hero { padding: 58px 0 72px; }
  .partner-hero h1 { font-size: clamp(56px,18vw,82px); }
  .partner-hero-actions { display: grid; }
  .partner-hero-actions a { justify-content: center; width: 100%; }
  .partner-section-head,.partner-path-grid,.partner-choice-grid,.partner-field-grid,.partner-faq-grid { grid-template-columns: 1fr; }
  .partner-path-card { min-height: 0; }
  .partner-standard-grid { grid-template-columns: 1fr; }
  .partner-standard-grid > div,.partner-standard-grid > div:first-child,.partner-standard-grid > div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(247,245,239,.15); padding: 26px 0 0; }
  .partner-standard-grid > div:first-child { border-top: 0; padding-top: 0; }
  .partner-faq details,.partner-faq details:nth-child(odd) { border-right: 0; padding: 0; }
  .partner-account-card-head { display: grid; }
  .partner-account-state { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-account-orbit::after { animation: none; }
}
