.partner-status { padding: 12px 20px; background: #fff6c7; color: #4a3f00; text-align: center; font-size: 14px; font-weight: 650; }
.partner-skip { position: absolute; top: -100px; left: 16px; z-index: 100; background: white; padding: 12px; }
.partner-skip:focus { top: 8px; }
.partner-hero h1 { font-size: clamp(36px, 5vw, 56px); }
.partner-promise { color: white; font-size: 18px; margin: 0 0 26px; max-width: 32em; }
.partner-text-link { color: white; padding: 12px 0; text-underline-offset: 4px; font-weight: 600; }
.partner-hero .split { gap: 40px; }
.partner-hero .small { max-width: 35em; }
.partner-hero .btn { gap: 12px; }
.partner-offer { background: var(--lemon); color: var(--slate); border-radius: 24px; padding: 30px; width: 100%; max-width: 370px; justify-self: center; }
.partner-card-label { display: block; font-size: 15px; font-weight: 750; }
.partner-rate { display: block; font-size: 108px; letter-spacing: -5px; line-height: 1.2; margin-top: 10px; }
.partner-rate span { font-size: 62px; letter-spacing: -2px; }
.partner-card-period { display: block; font-size: 17px; font-weight: 650; }
.partner-card-money { display: flex; align-items: center; gap: 16px; border-top: 1px solid #2b344033; margin-top: 26px; padding-top: 22px; }
.partner-card-money strong { font-size: 48px; line-height: 1.2; letter-spacing: -1px; }
.partner-card-money span { font-size: 16px; }
.partner-offer p { font-size: 14px; margin: 18px 0 0; }
.partner-kicker { font-size: 14px !important; font-weight: 750; margin: 0 0 12px; color: var(--muted); }
.partner-two { display: grid; gap: 28px; align-items: center; }
.partner-calculation { margin-bottom: 0; }
.partner-calculator { background: var(--canvas); border: 1px solid var(--line); border-radius: 20px; padding: 24px; min-width: 0; }
.partner-calculator label { display: block; font-weight: 700; margin-bottom: 10px; }
.partner-calculator input { display: block; width: 100%; min-height: 54px; border: 1px solid var(--muted); background: white; border-radius: 10px; color: var(--ink); padding: 10px 14px; font: inherit; font-size: 22px; }
.partner-estimates { display: grid; gap: 18px; margin-top: 24px; }
.partner-estimates span { display: block; font-size: 14px; color: var(--muted); }
.partner-estimates output { display: block; font-size: clamp(30px, 4vw, 42px); line-height: 1.25; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.partner-calculator #calculator-note { font-size: 14px; color: var(--muted); margin: 18px 0 0; }
.partner-error { font-size: 14px !important; color: #9a2d20; margin: 10px 0 0; }
.partner-steps { display: grid; gap: 14px; list-style: none; padding: 0; margin: 24px 0 0; }
.partner-steps li { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.partner-steps li > span { display: grid; place-items: center; width: 34px; height: 34px; background: var(--lemon); border-radius: 50%; margin-bottom: 22px; font-weight: 800; }
.partner-steps p { color: var(--muted); font-size: 16px !important; margin: 0; }
.partner-underlined { display: inline-block; padding: 10px 0; font-weight: 700; text-underline-offset: 4px; }
.partner-faq { max-width: 800px; }
.partner-faq h2 { margin-bottom: 26px !important; }
.partner-faq details { background: white; border: 1px solid var(--line); border-radius: 14px; margin-bottom: 10px; }
.partner-faq summary { padding: 18px 20px; font-size: 17px; font-weight: 700; cursor: pointer; }
.partner-faq details p { margin: 0; padding: 0 20px 20px; color: var(--muted); font-size: 16px !important; }
.partner-apply .btn { gap: 12px; }
.partner-apply p.partner-email-note { font-size: 14px; margin: 14px 0 24px; }
.partner-apply p.partner-direct { font-size: 16px; margin: 0 0 16px; }
.partner-apply p.partner-privacy { font-size: 14px; margin: 0; }
.partner-apply a:not(.btn) { color: white; text-underline-offset: 4px; overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid #8a7300; outline-offset: 4px; }
.hero a:focus-visible, .final a:focus-visible { outline-color: white; }
html { scroll-padding-top: 24px; }
@media (min-width: 820px) { .partner-hero .split { grid-template-columns: 1.25fr .85fr; } .partner-two { grid-template-columns: 1fr 1fr; gap: 56px; } .partner-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 380px) { .partner-hero h1 { font-size: 36px; } .partner-hero .btn { width: 100%; font-size: 17px; padding: 0 14px; } .partner-offer, .partner-calculator { padding: 22px; } .partner-rate { font-size: 96px; } }
.partner-demo-note, .partner-ownership { font-size: 14px !important; color: var(--muted); }
.partner-demo-note { margin: 20px 0 8px; }
.partner-ownership { margin: 4px 0 0; }
.partner-form { position: relative; max-width: 580px; margin: 28px auto 24px; padding: 26px; background: white; color: var(--ink); border-radius: 18px; text-align: left; }
.partner-field { margin-bottom: 20px; }
.partner-field label { display: block; font-weight: 700; margin-bottom: 8px; }
.partner-field input, .partner-field textarea { display: block; width: 100%; min-height: 48px; border: 1px solid var(--muted); border-radius: 8px; padding: 12px; color: var(--ink); background: white; font: inherit; font-size: 16px; }
.partner-field textarea { resize: vertical; }
.partner-apply .partner-hint { color: var(--muted); font-size: 14px; margin: 6px 0 0; }
.partner-ack { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.partner-ack input { width: 22px; height: 22px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--slate); }
.partner-apply .partner-form-privacy { color: var(--muted); font-size: 14px; margin: 18px 0; }
.partner-apply .partner-form a { color: var(--ink); }
.partner-form .btn { width: 100%; border: 0; cursor: pointer; font: inherit; font-weight: 750; box-shadow: none; }
.partner-form .btn:disabled { cursor: wait; opacity: .7; }
.partner-apply .partner-form-status { margin: 12px 0 0; font-size: 14px; color: var(--muted); }
.partner-apply .partner-form-error { margin: 12px 0 0; font-size: 15px; color: #9a2d20; }
.partner-success { padding: 26px; border-radius: 18px; margin: 28px auto 24px; max-width: 580px; background: #e6f4ea; color: #164125; text-align: left; }
.partner-success h3 { font-size: 22px; margin: 0 0 14px; }
.partner-apply .partner-success p { font-size: 16px; color: #164125; margin: 0 0 12px; }
.partner-success strong { overflow-wrap: anywhere; }
.partner-form[hidden], .partner-success[hidden] { display: none; }
.partner-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.partner-form a:focus-visible, .partner-form button:focus-visible { outline-color: #8a7300; }
@media (max-width: 480px) {
  header.site-top .st-wrap { padding: 0 12px; gap: 8px; }
  header.site-top .st-brand { font-size: 17px; gap: 6px; }
  header.site-top .st-brand img { width: 28px; height: 28px; }
  header.site-top .st-cta { font-size: 13px; padding: 0 8px; }
  header.site-top .st-menu { width: 44px; min-width: 44px; padding: 0; gap: 0; justify-content: center; }
  header.site-top .st-menu span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
@media (max-width: 380px) { .partner-form { padding: 20px; } .partner-hero h1 { font-size: 34px; } }

.partner-link { display: flex; gap: 8px; flex-wrap: wrap; margin: 6px 0 12px; }
.partner-link input { flex: 1 1 220px; min-width: 0; font: 600 16px/1.2 inherit; padding: 12px 14px; border: 2px solid #2B3440; border-radius: 12px; background: #fff; color: #2B3440; }
.partner-link .btn { flex: 0 0 auto; }

/* Example partner account (12 Oct 2026) */
.partner-account-ex { display: grid; gap: 24px; align-items: center; }
@media (min-width: 860px) { .partner-account-ex { grid-template-columns: 1fr 340px; } }
.pa-phone { margin: 0 auto; max-width: 320px; width: 100%; }
.pa-screen { background: #1C222B; border-radius: 36px; padding: 10px; height: 560px; overflow-y: auto; box-shadow: 0 14px 34px rgba(20,26,34,.18); }
.pa-screen img { display: block; width: 100%; height: auto; border-radius: 26px; }
.pa-screen:focus-visible { outline: 3px solid #2B3440; outline-offset: 3px; }
.pa-phone figcaption { text-align: center; font-size: 13px; color: #58616B; margin-top: 8px; }
/* Sign-up form look (12 Oct 2026): soft filled boxes with icons, lemon focus, a tick when a box is filled in properly. */
.partner-form { padding: 28px 26px 24px; border-radius: 22px; box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.pf-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 22px; padding-bottom: 18px; border-bottom: 1px solid #e3e7ec; }
.pf-badge { background: var(--lemon); color: var(--slate); font-weight: 800; font-size: 13px; border-radius: 99px; padding: 5px 12px; }
.pf-time { color: var(--muted); font-size: 14px; font-weight: 600; }
.partner-field { margin-bottom: 18px; }
.partner-field label { font-size: 15px; margin-bottom: 7px; }
.partner-field input, .partner-field textarea { min-height: 54px; border: 2px solid transparent; border-radius: 14px; background: #f1f4f7 var(--pf-icon, none) no-repeat 14px 50% / 20px 20px; padding: 14px 44px 14px 46px; transition: border-color .15s, background-color .15s, box-shadow .15s; }
.partner-field textarea { padding: 14px 16px; line-height: 1.45; min-height: 120px; }
.partner-field input::placeholder, .partner-field textarea::placeholder { color: #9aa4b0; }
.partner-field input:hover, .partner-field textarea:hover { background-color: #eaeef2; }
.partner-field input:focus, .partner-field textarea:focus { outline: none; background-color: white; border-color: #b89a00; box-shadow: 0 0 0 4px rgba(244,220,82,.35); }
#application-name { --pf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2358616B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E"); }
#application-email { --pf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2358616B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
#application-channel { --pf-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2358616B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-1 1'/%3E%3Cpath d='M14 10a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l1-1'/%3E%3C/svg%3E"); }
.partner-ack { background: #fff8d6; border-radius: 14px; padding: 14px; margin-top: 4px; font-size: 14.5px; line-height: 1.45; }
.partner-ack input { appearance: none; -webkit-appearance: none; width: 24px; height: 24px; border-radius: 7px; border: 2px solid #b89a00; background: white; display: grid; place-items: center; cursor: pointer; }
.partner-ack input:checked { background: var(--slate) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; border-color: var(--slate); }
.partner-form .btn { min-height: 58px; border-radius: 14px; font-size: 17px; box-shadow: 0 6px 0 #b89a00; transition: transform .08s, box-shadow .08s; }
.partner-form .btn:active { transform: translateY(3px); box-shadow: 0 3px 0 #b89a00; }
@media (prefers-reduced-motion: reduce) { .partner-field input, .partner-field textarea, .partner-form .btn { transition: none; } }

/* Green ticks (12 Oct 2026): the form's script marks a box done as soon as it's filled in well enough, so every box
   (email and the audience box included) ticks while you type, even after the phone fills it in for you. */
.partner-field { position: relative; }
.partner-field.done input, .partner-field.done textarea { background-color: #eef8f1; padding-right: 46px; }
.partner-field.done::after { content: ""; position: absolute; right: 14px; top: 45px; width: 22px; height: 22px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%231F7A47'/%3E%3Cpath d='m7 12.5 3.2 3.2L17 9' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 22px no-repeat;
  animation: pf-pop .28s cubic-bezier(.2,.9,.3,1.4); }
.partner-field.done.tall::after { top: 43px; }
.partner-field input:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px #f1f4f7 inset; }
.partner-field.done input:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px #eef8f1 inset; }
@keyframes pf-pop { 0% { transform: scale(.3); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .partner-field.done::after { animation: none; } }