/* Guided partner page. Loaded only by create-scorebook.php. */
body.organization-landing .site-atmosphere {
    display: none;
}

body.organization-landing .site-atmosphere + .partner-page {
    margin-top: 0;
}

.partner-page {
    --partner-orange: #ff6419;
    --partner-orange-bright: #ff8246;
    --partner-orange-soft: rgba(255, 100, 25, .12);
    --partner-max: 1180px;
    overflow: hidden;
    background:
        radial-gradient(circle at 83% 23%, rgba(255, 100, 25, .055), transparent 22rem),
        var(--page-bg);
    color: var(--text-main);
    font-size: 16px;
}

.partner-page *,
.partner-page *::before,
.partner-page *::after {
    box-sizing: border-box;
}

.partner-page h1,
.partner-page h2,
.partner-page h3,
.partner-page p {
    text-wrap: pretty;
}

.partner-kicker {
    display: block;
    color: var(--partner-orange-bright);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.partner-hero {
    position: relative;
    min-height: clamp(570px, 72vh, 760px);
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    background-image:
        linear-gradient(90deg, rgba(11, 18, 23, .94) 0%, rgba(11, 18, 23, .77) 43%, rgba(11, 18, 23, .25) 72%, rgba(11, 18, 23, .52) 100%),
        linear-gradient(180deg, rgba(11, 18, 23, .08) 42%, rgba(11, 18, 23, .93) 100%),
        url('/img/home/canine-scorebook-summit.jpg');
    background-position: center;
    background-size: cover;
}

.partner-hero::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 7%, rgba(255, 100, 25, .64) 50%, transparent 93%);
    content: "";
}

.partner-hero__glow {
    position: absolute;
    top: 8%;
    left: 6%;
    width: 25rem;
    height: 25rem;
    border-radius: 50%;
    background: rgba(255, 119, 49, .12);
    filter: blur(90px);
    pointer-events: none;
    animation: partner-hero-glow 8s ease-in-out infinite alternate;
}

.partner-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(calc(100% - 48px), var(--partner-max));
    min-height: inherit;
    margin: 0 auto;
    padding: 90px 0 78px;
    grid-template-columns: minmax(0, 1fr) 285px;
    align-items: end;
    gap: 74px;
}

.partner-hero__copy {
    max-width: 780px;
}

.partner-hero__copy h1 {
    margin: 16px 0 0;
    color: #f5f7f8;
    font-size: clamp(3.35rem, 7.8vw, 7.25rem);
    font-weight: 880;
    letter-spacing: -.072em;
    line-height: .87;
    text-shadow: 0 4px 28px rgba(0, 0, 0, .64);
}

.partner-hero__copy h1 em {
    color: #ff7b3d;
    font-style: normal;
}

.partner-hero__copy > p {
    max-width: 690px;
    margin: 28px 0 0;
    color: #d9e0e3;
    font-size: clamp(1.05rem, 1.8vw, 1.3rem);
    line-height: 1.55;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .82);
}

.partner-actions {
    display: flex;
    margin-top: 32px;
    flex-wrap: wrap;
    gap: 11px;
}

.partner-button,
.partner-text-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    text-decoration: none;
}

.partner-button {
    min-height: 50px;
    padding: 0 19px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 4px;
    background: rgba(16, 24, 29, .62);
    box-shadow: 0 8px 25px rgba(0, 0, 0, .2);
    color: #f4f6f7;
    font: inherit;
    font-size: .88rem;
    font-weight: 850;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .55);
    transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.partner-button:hover {
    border-color: rgba(255, 255, 255, .52);
    background: rgba(31, 43, 51, .86);
    color: #fff;
    transform: translateY(-2px);
}

.partner-button--primary {
    border-color: var(--partner-orange);
    background: linear-gradient(135deg, #ff7d3d, #ef5008);
    color: #fff;
}

.partner-button--primary:hover {
    border-color: #ff9b6c;
    background: linear-gradient(135deg, #ff915b, #fa5a10);
}

.partner-hero__proof {
    display: grid;
    padding: 3px 0;
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, .28);
    border-bottom: 1px solid rgba(255, 255, 255, .28);
    background: rgba(12, 19, 24, .3);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .14);
    backdrop-filter: blur(6px);
}

.partner-hero__proof > span {
    display: grid;
    padding: 17px 4px;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: baseline;
    gap: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.partner-hero__proof > span:last-child {
    border-bottom: 0;
}

.partner-hero__proof b {
    color: #ff8246;
    font-size: .77rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.partner-hero__proof small {
    color: #d5dde0;
    font-size: .74rem;
    line-height: 1.45;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .7);
}

.partner-intro,
.partner-starting-points,
.partner-journey,
.partner-capabilities,
.partner-reality,
.partner-scale,
.partner-free,
.partner-contact {
    width: min(calc(100% - 48px), var(--partner-max));
    margin-right: auto;
    margin-left: auto;
}

.partner-intro {
    display: grid;
    padding: 92px 0 48px;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 80px;
    border-bottom: 1px solid var(--divider);
}

.partner-intro h2,
.partner-journey > header h2,
.partner-capabilities h2,
.partner-reality h2,
.partner-scale h2,
.partner-free h2,
.partner-contact h2 {
    margin: 11px 0 0;
    color: var(--text-main);
    font-size: clamp(2rem, 4.2vw, 3.65rem);
    letter-spacing: -.052em;
    line-height: 1.02;
}

.partner-intro > p {
    margin: 25px 0 0;
    color: var(--text-soft);
    font-size: 1.05rem;
    line-height: 1.75;
}

.partner-starting-points {
    display: grid;
    margin-top: 18px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--divider);
    background: var(--shell-bg);
    box-shadow: var(--shadow);
}

.partner-starting-points a {
    position: relative;
    display: grid;
    min-height: 128px;
    padding: 19px;
    align-content: end;
    gap: 4px;
    border-right: 1px solid var(--divider);
    color: inherit;
    text-decoration: none;
    transition: background 180ms ease, transform 180ms ease;
}

.partner-starting-points a:last-child {
    border-right: 0;
}

.partner-starting-points a:hover {
    z-index: 1;
    background: var(--surface-raised);
    transform: translateY(-3px);
}

.partner-starting-points a > span {
    position: absolute;
    top: 16px;
    right: 17px;
    color: var(--partner-orange-bright);
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .09em;
}

.partner-starting-points strong {
    color: var(--text-main);
    font-size: .95rem;
}

.partner-starting-points small {
    color: var(--text-muted);
    font-size: .72rem;
    line-height: 1.4;
}

.partner-journey {
    position: relative;
    padding: 112px 0 12px;
}

.partner-journey > header {
    max-width: 760px;
    margin-left: 98px;
}

.partner-journey > header > p {
    max-width: 660px;
    margin: 18px 0 0;
    color: var(--text-soft);
    font-size: 1rem;
    line-height: 1.68;
}

.partner-journey__rail {
    position: absolute;
    top: 250px;
    bottom: 120px;
    left: 42px;
    width: 2px;
    overflow: hidden;
    background: var(--divider);
}

.partner-journey__rail > span {
    display: block;
    width: 100%;
    height: var(--journey-progress, 0%);
    background: linear-gradient(#ff9a69, var(--partner-orange));
    box-shadow: 0 0 12px rgba(255, 100, 25, .52);
    transition: height 120ms linear;
}

.partner-step {
    position: relative;
    display: grid;
    min-height: 430px;
    padding: 92px 0 92px 98px;
    grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
    align-items: center;
    gap: 70px;
    border-bottom: 1px solid var(--divider);
    scroll-margin-top: 78px;
}

.partner-step__number {
    position: absolute;
    top: 98px;
    left: 20px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 100, 25, .56);
    border-radius: 50%;
    background: var(--page-bg);
    box-shadow: 0 0 0 8px var(--page-bg), 0 0 20px rgba(255, 100, 25, .08);
    color: var(--partner-orange-bright);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.partner-step__copy h3 {
    margin: 9px 0 0;
    color: var(--text-main);
    font-size: clamp(1.9rem, 3.7vw, 3.15rem);
    letter-spacing: -.047em;
    line-height: 1.04;
}

.partner-step__copy > p {
    margin: 17px 0 0;
    color: var(--text-soft);
    font-size: .95rem;
    line-height: 1.72;
}

.partner-check-list {
    display: grid;
    margin: 24px 0 0;
    padding: 0;
    gap: 9px;
    list-style: none;
}

.partner-check-list li {
    position: relative;
    padding-left: 26px;
    color: var(--text-main);
    font-size: .82rem;
}

.partner-check-list li::before {
    position: absolute;
    top: .22rem;
    left: 0;
    width: 14px;
    height: 8px;
    border-bottom: 2px solid var(--partner-orange-bright);
    border-left: 2px solid var(--partner-orange-bright);
    content: "";
    transform: rotate(-45deg);
}

.partner-pipeline {
    display: grid;
    padding: 30px;
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) 44px minmax(0, 1fr);
    align-items: center;
    border: 1px solid var(--divider);
    border-radius: 5px;
    background: var(--shell-bg);
    box-shadow: var(--shadow);
}

.partner-pipeline > span {
    display: grid;
    min-height: 116px;
    padding: 17px 12px;
    place-content: center;
    gap: 7px;
    border: 1px solid var(--divider);
    background: var(--surface-soft);
    text-align: center;
}

.partner-pipeline b {
    color: var(--text-main);
    font-size: .78rem;
}

.partner-pipeline small {
    color: var(--text-muted);
    font-size: .65rem;
    line-height: 1.4;
}

.partner-pipeline > i {
    position: relative;
    height: 1px;
    overflow: visible;
    background: var(--divider-strong);
}

.partner-pipeline > i::after {
    position: absolute;
    top: -3px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--partner-orange);
    box-shadow: 0 0 9px rgba(255, 100, 25, .6);
    content: "";
    animation: partner-route 2.3s ease-in-out infinite;
}

.partner-pipeline > i:nth-of-type(2)::after {
    animation-delay: 1.1s;
}

.partner-step--live,
.partner-step--embed {
    grid-template-columns: minmax(0, .95fr) minmax(390px, 1.05fr);
}

.partner-honesty {
    padding: 13px 15px;
    border-left: 2px solid var(--partner-orange);
    background: var(--partner-orange-soft);
    font-size: .79rem !important;
}

.partner-honesty strong {
    color: var(--text-main);
}

.partner-text-button {
    min-height: 45px;
    margin-top: 22px;
    padding: 0 15px;
    border: 1px solid rgba(255, 100, 25, .62);
    border-radius: 3px;
    background: var(--surface-raised);
    color: var(--link-color);
    font-size: .81rem;
    font-weight: 850;
    transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.partner-text-button:hover {
    border-color: var(--partner-orange-bright);
    background: var(--partner-orange-soft);
    color: var(--text-main);
    transform: translateX(3px);
}

.partner-demo-note {
    display: block;
    margin-top: 8px;
    color: var(--text-muted);
    font-size: .68rem;
    line-height: 1.45;
}

.partner-live-map {
    position: relative;
    display: grid;
    min-height: 345px;
    padding: 32px;
    grid-template-columns: 150px 86px minmax(0, 1fr);
    align-items: center;
    border: 1px solid var(--divider);
    border-radius: 5px;
    background:
        radial-gradient(circle at 34% 50%, rgba(255, 100, 25, .11), transparent 12rem),
        var(--shell-bg);
    box-shadow: var(--shadow);
}

.partner-live-map__source {
    position: relative;
    display: grid;
    min-height: 140px;
    padding: 18px;
    place-content: center;
    gap: 7px;
    border: 1px solid rgba(255, 100, 25, .62);
    background: var(--surface-raised);
    text-align: center;
}

.partner-live-map__source > span {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #67b483;
    box-shadow: 0 0 0 5px rgba(103, 180, 131, .12), 0 0 12px rgba(103, 180, 131, .42);
    animation: partner-status-pulse 2.2s ease-in-out infinite;
}

.partner-live-map small,
.partner-live-map__outputs small {
    color: var(--text-muted);
    font-size: .63rem;
    text-transform: uppercase;
}

.partner-live-map strong {
    color: var(--text-main);
    font-size: .86rem;
}

.partner-live-map__source strong {
    color: var(--partner-orange-bright);
    font-size: 1.35rem;
}

.partner-live-map__route {
    position: relative;
    height: 226px;
}

.partner-live-map__route::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 44%;
    height: 1px;
    background: var(--divider-strong);
    content: "";
}

.partner-live-map__route::after {
    position: absolute;
    top: 16%;
    bottom: 16%;
    left: 44%;
    width: 1px;
    background: var(--divider-strong);
    content: "";
}

.partner-live-map__route i {
    position: absolute;
    right: 0;
    left: 44%;
    height: 1px;
    background: var(--divider-strong);
}

.partner-live-map__route i:nth-child(1) { top: 16%; }
.partner-live-map__route i:nth-child(2) { top: 50%; }
.partner-live-map__route i:nth-child(3) { top: 84%; }

.partner-live-map__route i::after {
    position: absolute;
    top: -3px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--partner-orange);
    box-shadow: 0 0 9px rgba(255, 100, 25, .7);
    content: "";
    animation: partner-route 2.5s ease-in-out infinite;
}

.partner-live-map__route i:nth-child(2)::after { animation-delay: .75s; }
.partner-live-map__route i:nth-child(3)::after { animation-delay: 1.5s; }

.partner-live-map__outputs {
    display: grid;
    gap: 13px;
}

.partner-live-map__outputs > span {
    display: grid;
    min-height: 66px;
    padding: 12px 14px;
    align-content: center;
    gap: 3px;
    border: 1px solid var(--divider);
    background: var(--surface-soft);
}

.partner-embed-card {
    overflow: hidden;
    border: 1px solid var(--divider);
    border-radius: 5px;
    background: #eef3f1;
    box-shadow: var(--shadow);
    color: #172724;
}

.partner-embed-card__browser {
    display: grid;
    min-height: 42px;
    padding: 0 13px;
    grid-template-columns: 8px 8px 8px minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid #d0dcd8;
    background: #e1e9e6;
}

.partner-embed-card__browser i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #aab9b4;
}

.partner-embed-card__browser i:first-child {
    background: #ff7b55;
}

.partner-embed-card__browser span {
    width: min(100%, 230px);
    margin-left: 9px;
    padding: 4px 9px;
    border: 1px solid #ccd8d4;
    border-radius: 2px;
    background: #fff;
    color: #72817c;
    font-size: .59rem;
}

.partner-embed-card__body {
    padding: 26px;
}

.partner-embed-card__body > header {
    display: grid;
    gap: 3px;
}

.partner-embed-card__body > header span {
    color: #17634f;
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.partner-embed-card__body > header b {
    color: #172724;
    font-size: 1.35rem;
}

.partner-embed-card__body > p {
    display: flex;
    margin: 17px 0 10px;
    padding: 9px 10px;
    align-items: center;
    gap: 7px;
    background: #e2eee9;
    color: #4f645d;
    font-size: .66rem;
}

.partner-embed-card__body > p span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #17634f;
    animation: partner-status-pulse 2.2s ease-in-out infinite;
}

.partner-embed-card ol {
    margin: 0;
    padding: 0;
    border: 1px solid #d4dfdb;
    background: #fff;
    list-style: none;
}

.partner-embed-card li {
    display: grid;
    min-height: 50px;
    padding: 0 12px;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #e0e8e5;
    font-size: .72rem;
}

.partner-embed-card li:last-child {
    border-bottom: 0;
}

.partner-embed-card li b {
    color: #70807a;
    text-align: center;
}

.partner-embed-card li strong {
    color: #172724;
}

.partner-embed-card li small {
    color: #172724;
    font-weight: 850;
}

.partner-embed-card__body footer {
    display: flex;
    margin-top: 12px;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    color: #75847f;
    font-size: .58rem;
}

.partner-embed-card__body footer img {
    width: 17px;
    height: 17px;
    object-fit: contain;
}

.partner-code {
    border-top: 1px solid #d0dcd8;
    background: #e7eeeb;
}

.partner-code summary {
    padding: 12px 16px;
    color: #2d4e45;
    cursor: pointer;
    font-size: .69rem;
    font-weight: 850;
}

.partner-code > div {
    position: relative;
    padding: 0 12px 12px;
}

.partner-code button {
    position: absolute;
    top: 7px;
    right: 19px;
    z-index: 1;
    border: 1px solid #526862;
    background: #fff;
    color: #264b40;
    font: inherit;
    font-size: .58rem;
    font-weight: 850;
}

.partner-code pre {
    max-height: 145px;
    margin: 0;
    padding: 15px;
    overflow: auto;
    background: #182521;
    color: #d8e8e2;
    font-size: .64rem;
    line-height: 1.55;
}

.partner-history-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--divider);
    background: var(--shell-bg);
    box-shadow: var(--shadow);
}

.partner-history-list > span {
    display: grid;
    min-height: 106px;
    padding: 19px;
    align-content: center;
    gap: 5px;
    border-right: 1px solid var(--divider);
    border-bottom: 1px solid var(--divider);
}

.partner-history-list > span:nth-child(even) { border-right: 0; }
.partner-history-list > span:nth-last-child(-n + 2) { border-bottom: 0; }

.partner-history-list b {
    color: var(--text-main);
    font-size: .88rem;
}

.partner-history-list small {
    color: var(--text-muted);
    font-size: .7rem;
}

.partner-capabilities {
    padding: 108px 0;
}

.partner-capabilities > header {
    max-width: 710px;
}

.partner-capabilities > div {
    display: grid;
    margin-top: 42px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--divider);
    background: var(--shell-bg);
    box-shadow: var(--shadow);
}

.partner-capabilities article {
    min-height: 245px;
    padding: 30px 27px;
    border-right: 1px solid var(--divider);
}

.partner-capabilities article:last-child {
    border-right: 0;
}

.partner-capabilities article > span,
.partner-reality article > span {
    color: var(--partner-orange-bright);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.partner-capabilities h3 {
    margin: 38px 0 0;
    color: var(--text-main);
    font-size: 1.35rem;
    letter-spacing: -.025em;
}

.partner-capabilities p {
    margin: 10px 0 0;
    color: var(--text-soft);
    font-size: .82rem;
    line-height: 1.7;
}

.partner-reality {
    display: grid;
    padding: 72px;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    gap: 70px;
    border: 1px solid var(--divider);
    background:
        linear-gradient(115deg, var(--surface-soft), var(--shell-bg));
    box-shadow: var(--shadow);
}

.partner-reality h2 {
    font-size: clamp(2rem, 3.7vw, 3.2rem);
}

.partner-reality__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.partner-reality article {
    padding: 21px;
    border: 1px solid var(--divider);
    background: var(--surface-bg);
}

.partner-reality ul {
    display: grid;
    margin: 18px 0 0;
    padding: 0;
    gap: 10px;
    list-style: none;
}

.partner-reality li {
    position: relative;
    padding-left: 16px;
    color: var(--text-soft);
    font-size: .73rem;
    line-height: 1.45;
}

.partner-reality li::before {
    position: absolute;
    top: .55em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--partner-orange);
    content: "";
}

.partner-scale {
    display: grid;
    padding: 112px 0;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: 90px;
    border-bottom: 1px solid var(--divider);
}

.partner-scale > div > p,
.partner-free > p,
.partner-contact__intro > p {
    margin: 18px 0 0;
    color: var(--text-soft);
    font-size: .92rem;
    line-height: 1.7;
}

.partner-scale ol {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--divider);
    list-style: none;
}

.partner-scale li {
    display: grid;
    min-height: 92px;
    padding: 18px 2px;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 17px;
    border-bottom: 1px solid var(--divider);
}

.partner-scale li > span {
    display: grid;
    width: 35px;
    height: 35px;
    place-items: center;
    border: 1px solid rgba(255, 100, 25, .5);
    border-radius: 50%;
    color: var(--partner-orange-bright);
    font-size: .7rem;
    font-weight: 900;
}

.partner-scale li div {
    display: grid;
    gap: 4px;
}

.partner-scale li strong {
    color: var(--text-main);
    font-size: .86rem;
}

.partner-scale li small {
    color: var(--text-muted);
    font-size: .72rem;
    line-height: 1.45;
}

.partner-free {
    padding: 92px max(32px, 9%);
    border-right: 1px solid var(--divider);
    border-left: 1px solid var(--divider);
    background:
        radial-gradient(circle at 84% 48%, rgba(255, 100, 25, .12), transparent 17rem),
        var(--shell-bg);
    text-align: center;
}

.partner-free h2 {
    max-width: 850px;
    margin-right: auto;
    margin-left: auto;
}

.partner-free > p {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
}

.partner-contact {
    display: grid;
    margin-top: 92px;
    margin-bottom: 100px;
    grid-template-columns: minmax(0, .8fr) minmax(500px, 1.2fr);
    border: 1px solid var(--divider);
    background: var(--shell-bg);
    box-shadow: 0 25px 60px rgba(4, 10, 14, .18);
    scroll-margin-top: 78px;
}

.partner-contact__intro {
    padding: 55px 48px;
    border-right: 1px solid var(--divider);
    background:
        linear-gradient(145deg, rgba(255, 100, 25, .13), transparent 55%),
        var(--surface-soft);
}

.partner-contact__intro h2 {
    font-size: clamp(2.25rem, 4.8vw, 4rem);
}

.partner-contact__intro > div {
    display: grid;
    margin-top: 35px;
    gap: 0;
    border-top: 1px solid var(--divider);
}

.partner-contact__intro > div span {
    display: flex;
    min-height: 54px;
    align-items: center;
    gap: 13px;
    border-bottom: 1px solid var(--divider);
    color: var(--text-main);
    font-size: .77rem;
    font-weight: 760;
}

.partner-contact__intro > div b {
    color: var(--partner-orange-bright);
    font-size: .65rem;
}

.partner-contact__intro > small {
    display: block;
    margin-top: 30px;
    color: var(--text-muted);
    font-size: .72rem;
}

.partner-contact__form-wrap {
    min-width: 0;
    padding: 48px;
}

.partner-form {
    display: grid;
    gap: 19px;
}

.partner-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.partner-form > label,
.partner-form__grid > label,
.partner-form__interests legend {
    color: var(--text-main);
    font-size: .78rem;
    font-weight: 800;
}

.partner-form input[type="text"],
.partner-form input[type="email"],
.partner-form input:not([type]),
.partner-form select,
.partner-form textarea {
    width: 100%;
    margin-top: 7px;
    border: 1px solid var(--divider-strong);
    border-radius: 3px;
    outline: none;
    background: var(--control-bg);
    color: var(--text-main);
    font: inherit;
    font-size: .86rem;
}

.partner-form input[type="text"],
.partner-form input[type="email"],
.partner-form input:not([type]),
.partner-form select {
    min-height: 46px;
    padding: 9px 11px;
}

.partner-form textarea {
    min-height: 135px;
    padding: 11px;
    resize: vertical;
    line-height: 1.5;
}

.partner-form input:focus,
.partner-form select:focus,
.partner-form textarea:focus {
    border-color: var(--partner-orange);
    box-shadow: 0 0 0 3px rgba(255, 100, 25, .11);
}

.partner-form [aria-invalid="true"] {
    border-color: var(--danger);
}

.partner-form label > small,
.partner-form__privacy-error {
    display: block;
    margin-top: 5px;
    color: var(--danger);
    font-size: .67rem;
    line-height: 1.4;
}

.partner-form__interests {
    margin: 0;
    padding: 0;
    border: 0;
}

.partner-form__interests legend {
    margin-bottom: 9px;
}

.partner-form__interests > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.partner-form__interests label {
    display: grid;
    min-height: 42px;
    padding: 8px 10px;
    grid-template-columns: 17px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border: 1px solid var(--divider);
    background: var(--surface-soft);
    color: var(--text-soft);
    cursor: pointer;
    font-size: .7rem;
    font-weight: 720;
}

.partner-form__interests label:has(input:checked) {
    border-color: rgba(255, 100, 25, .58);
    background: var(--partner-orange-soft);
    color: var(--text-main);
}

.partner-form input[type="checkbox"] {
    accent-color: var(--partner-orange);
}

.partner-form__privacy {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 9px;
    color: var(--text-soft) !important;
    font-size: .7rem !important;
    font-weight: 500 !important;
    line-height: 1.5;
}

.partner-form__privacy input {
    margin-top: 2px;
}

.partner-form .partner-button {
    width: 100%;
    cursor: pointer;
}

.partner-form__note {
    margin: -9px 0 0 !important;
    color: var(--text-muted) !important;
    font-size: .67rem !important;
    text-align: center;
}

.partner-honeypot {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.partner-form-error {
    margin-bottom: 18px;
    padding: 12px 14px;
    border: 1px solid rgba(220, 113, 105, .55);
    background: rgba(220, 113, 105, .09);
    color: var(--text-main);
    font-size: .75rem;
    line-height: 1.5;
}

.partner-contact-success {
    display: grid;
    min-height: 430px;
    place-content: center;
    justify-items: start;
}

.partner-contact-success > span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid var(--green);
    border-radius: 50%;
    background: var(--green-wash);
    color: var(--green);
    font-size: 1.3rem;
    animation: partner-success 650ms ease-out both;
}

.partner-contact-success h3 {
    max-width: 470px;
    margin: 22px 0 0;
    color: var(--text-main);
    font-size: 2rem;
    letter-spacing: -.035em;
    line-height: 1.1;
}

.partner-contact-success p {
    max-width: 460px;
    margin: 12px 0 0;
    color: var(--text-soft);
    font-size: .86rem;
    line-height: 1.6;
}

.partner-contact-success a {
    margin-top: 19px;
    font-size: .76rem;
    font-weight: 800;
}

html.organization-motion-ready [data-organization-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 700ms cubic-bezier(.2, .8, .2, 1), transform 700ms cubic-bezier(.2, .8, .2, 1);
}

html.organization-motion-ready [data-organization-reveal].is-visible {
    opacity: 1;
    transform: none;
}

@keyframes partner-hero-glow {
    from { opacity: .55; transform: translate3d(-4%, -3%, 0) scale(.92); }
    to { opacity: 1; transform: translate3d(8%, 7%, 0) scale(1.08); }
}

@keyframes partner-route {
    0% { left: 0; opacity: 0; }
    18% { opacity: 1; }
    82% { opacity: 1; }
    100% { left: calc(100% - 7px); opacity: 0; }
}

@keyframes partner-status-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(23, 99, 79, .09); }
    50% { box-shadow: 0 0 0 7px rgba(23, 99, 79, .16); }
}

@keyframes partner-success {
    from { opacity: 0; transform: scale(.7) rotate(-12deg); }
    to { opacity: 1; transform: scale(1) rotate(0); }
}

html[data-theme="light"] .partner-hero {
    border-bottom-color: #23333c;
}

html[data-theme="light"] .partner-journey__rail,
html[data-theme="light"] .partner-step__number {
    background-color: var(--shell-bg);
}

html[data-theme="light"] .partner-step__number {
    box-shadow: 0 0 0 8px var(--page-bg), 0 0 20px rgba(198, 75, 29, .08);
}

@media (max-width: 1040px) {
    .partner-hero__inner {
        grid-template-columns: minmax(0, 1fr) 250px;
        gap: 40px;
    }

    .partner-starting-points {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partner-starting-points a:nth-child(2) {
        border-right: 0;
    }

    .partner-starting-points a:nth-child(-n + 2) {
        border-bottom: 1px solid var(--divider);
    }

    .partner-step,
    .partner-step--live,
    .partner-step--embed {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .partner-reality,
    .partner-contact {
        grid-template-columns: 1fr;
    }

    .partner-contact {
        width: min(calc(100% - 48px), 820px);
    }

    .partner-contact__intro {
        border-right: 0;
        border-bottom: 1px solid var(--divider);
    }
}

@media (max-width: 760px) {
    .partner-page {
        font-size: 15px;
    }

    .partner-hero {
        min-height: 650px;
        background-image:
            linear-gradient(180deg, rgba(11, 18, 23, .48) 0%, rgba(11, 18, 23, .75) 42%, rgba(11, 18, 23, .97) 100%),
            url('/img/home/canine-scorebook-summit.jpg');
        background-position: 62% center;
    }

    .partner-hero__inner {
        width: min(calc(100% - 30px), var(--partner-max));
        padding: 74px 0 30px;
        grid-template-columns: 1fr;
        align-content: end;
        gap: 35px;
    }

    .partner-hero__copy h1 {
        font-size: clamp(3.35rem, 17vw, 5rem);
    }

    .partner-hero__copy > p {
        font-size: 1rem;
    }

    .partner-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .partner-hero__proof {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .partner-hero__proof > span {
        padding: 13px 10px;
        grid-template-columns: 1fr;
        gap: 4px;
        border-right: 1px solid rgba(255, 255, 255, .13);
        border-bottom: 0;
    }

    .partner-hero__proof > span:last-child {
        border-right: 0;
    }

    .partner-hero__proof small {
        font-size: .62rem;
    }

    .partner-intro,
    .partner-starting-points,
    .partner-journey,
    .partner-capabilities,
    .partner-reality,
    .partner-scale,
    .partner-free,
    .partner-contact {
        width: min(calc(100% - 30px), var(--partner-max));
    }

    .partner-intro,
    .partner-scale {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .partner-intro {
        padding-top: 68px;
    }

    .partner-starting-points {
        grid-template-columns: 1fr;
    }

    .partner-starting-points a,
    .partner-starting-points a:nth-child(2) {
        min-height: 94px;
        border-right: 0;
        border-bottom: 1px solid var(--divider);
    }

    .partner-starting-points a:last-child {
        border-bottom: 0;
    }

    .partner-journey {
        padding-top: 82px;
    }

    .partner-journey > header {
        margin-left: 0;
    }

    .partner-journey__rail {
        left: 21px;
    }

    .partner-step,
    .partner-step--live,
    .partner-step--embed {
        min-height: 0;
        padding: 76px 0 68px 55px;
    }

    .partner-step__number {
        top: 78px;
        left: 0;
        width: 42px;
        height: 42px;
    }

    .partner-pipeline {
        padding: 18px;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .partner-pipeline > span {
        min-height: 80px;
    }

    .partner-pipeline > i {
        width: 1px;
        height: 24px;
        margin: 0 auto;
    }

    .partner-pipeline > i::after {
        top: 0;
        left: -3px;
        animation-name: partner-route-vertical;
    }

    .partner-live-map {
        min-height: 0;
        padding: 20px;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .partner-live-map__route {
        width: 1px;
        height: 45px;
        margin: 0 auto;
        background: var(--divider-strong);
    }

    .partner-live-map__route::before,
    .partner-live-map__route::after,
    .partner-live-map__route i {
        display: none;
    }

    .partner-history-list,
    .partner-capabilities > div,
    .partner-reality__columns,
    .partner-form__grid,
    .partner-form__interests > div {
        grid-template-columns: 1fr;
    }

    .partner-history-list > span,
    .partner-history-list > span:nth-child(even),
    .partner-history-list > span:nth-last-child(-n + 2),
    .partner-capabilities article {
        border-right: 0;
        border-bottom: 1px solid var(--divider);
    }

    .partner-history-list > span:last-child,
    .partner-capabilities article:last-child {
        border-bottom: 0;
    }

    .partner-capabilities {
        padding: 82px 0;
    }

    .partner-capabilities article {
        min-height: 0;
    }

    .partner-capabilities h3 {
        margin-top: 24px;
    }

    .partner-reality {
        padding: 34px 23px;
        gap: 30px;
    }

    .partner-scale {
        padding: 82px 0;
    }

    .partner-free {
        padding: 68px 24px;
    }

    .partner-contact {
        margin-top: 70px;
        margin-bottom: 70px;
    }

    .partner-contact__intro,
    .partner-contact__form-wrap {
        padding: 34px 23px;
    }
}

@keyframes partner-route-vertical {
    0% { top: 0; opacity: 0; }
    18% { opacity: 1; }
    82% { opacity: 1; }
    100% { top: calc(100% - 7px); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .partner-page *,
    .partner-page *::before,
    .partner-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    html.organization-motion-ready [data-organization-reveal] {
        opacity: 1;
        transform: none;
    }
}
