/* Partner Options owns only the Buyer Access → Human Trust commercial handoff. */
.pn-partner {
    --pn-partner-line: 0.72;
    position: relative;
    overflow: clip;
    color: var(--pn-navy-950);
    background: #f3f5f1;
    border-bottom: 1px solid rgb(8 19 31 / 10%);
    isolation: isolate;
}

.pn-partner::before,
.pn-partner::after {
    position: absolute;
    z-index: -1;
    content: '';
    pointer-events: none;
}

.pn-partner::before {
    top: clamp(7rem, 12vw, 11rem);
    right: -10rem;
    width: clamp(22rem, 34vw, 36rem);
    aspect-ratio: 1;
    border: 1px solid rgb(0 139 163 / 14%);
    border-radius: 50%;
    box-shadow: inset 0 0 0 4rem rgb(251 248 240 / 28%);
}

.pn-partner::after {
    bottom: 6rem;
    left: 0;
    width: min(42vw, 36rem);
    height: 1px;
    background: linear-gradient(90deg, var(--pn-cyan-500), rgb(0 139 163 / 0%));
}

.pn-partner[data-active-partner="agent"],
.pn-partner[data-active-partner="owner"] { --pn-partner-line: 1; }

.pn-partner__shell {
    position: relative;
    width: var(--pn-redesign-shell);
    margin-inline: auto;
    padding-block: clamp(4.75rem, 6vw, 5.25rem) clamp(5rem, 6.5vw, 5.5rem);
}

.pn-partner__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.7fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: end;
}

.pn-partner__eyebrow {
    margin: 0 0 1.25rem;
    color: #006d7c;
    font: 750 0.72rem/1 'Inter', sans-serif;
    letter-spacing: 0.16em;
}

.pn-partner__intro h2 {
    max-width: 14ch;
    margin: 0;
    color: var(--pn-navy-950);
    font-family: 'Syne', sans-serif;
    font-size: clamp(3rem, 5.2vw, 4.8rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

html[lang="de-AT"] .pn-partner__intro h2 {
    max-width: 16ch;
    font-size: clamp(2.75rem, 4.7vw, 4.45rem);
}

.pn-partner__intro-copy {
    max-width: 38rem;
    padding-bottom: 0.35rem;
}

.pn-partner__intro-copy p {
    margin: 0;
    color: #46585f;
    font: 450 clamp(0.94rem, 1.1vw, 1.04rem)/1.55 'Inter', sans-serif;
}

.pn-partner__intro-copy p + p { margin-top: 0.65rem; }

.pn-partner__types {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(2.8rem, 4.2vw, 3rem);
    border-block: 1px solid rgb(8 19 31 / 18%);
}

.pn-partner__types::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--pn-cyan-500) 0 72%, var(--pn-gold-500));
    content: '';
    transform: scaleX(var(--pn-partner-line));
    transform-origin: left;
    transition: transform var(--pn-motion-standard) var(--pn-ease-out);
}

.pn-partner__type {
    position: relative;
    min-width: 0;
    min-height: 10rem;
    padding: 1.35rem clamp(1rem, 2vw, 1.65rem) 1.5rem;
    color: var(--pn-navy-950);
    text-align: left;
    background: transparent;
    border: 0;
    border-right: 1px solid rgb(8 19 31 / 13%);
    cursor: pointer;
    transition: background-color var(--pn-motion-standard) ease, transform var(--pn-motion-standard) var(--pn-ease-out), box-shadow var(--pn-motion-standard) ease;
}

.pn-partner__type:last-child { border-right: 0; }

.pn-partner__type::before {
    position: absolute;
    top: -0.38rem;
    left: clamp(1rem, 2vw, 1.8rem);
    width: 0.7rem;
    aspect-ratio: 1;
    background: #f3f5f1;
    border: 1px solid rgb(8 19 31 / 40%);
    border-radius: 50%;
    content: '';
    transition: background-color var(--pn-motion-fast) ease, border-color var(--pn-motion-fast) ease, transform var(--pn-motion-fast) var(--pn-ease-out);
}

.pn-partner__type.is-active,
.pn-partner__type:hover,
.pn-partner__type:focus-visible {
    z-index: 1;
    background: rgb(255 255 255 / 62%);
    box-shadow: 0 1.25rem 3rem rgb(8 19 31 / 8%);
    transform: translateY(-0.35rem);
}

.pn-partner__type.is-active::before,
.pn-partner__type:hover::before,
.pn-partner__type:focus-visible::before {
    background: var(--pn-cyan-500);
    border-color: #007f92;
    transform: scale(1.25);
}

.pn-partner__type[data-partner-type="owner"].is-active::before,
.pn-partner__type[data-partner-type="agent"].is-active::before { background: var(--pn-gold-500); border-color: #9a7410; }

.pn-partner__type:focus-visible {
    outline: 2px solid #007f92;
    outline-offset: -3px;
}

.pn-partner__type-index,
.pn-partner__type strong,
.pn-partner__type-copy { display: block; }

.pn-partner__type-index {
    margin-bottom: 0.8rem;
    color: #5b6b70;
    font: 650 0.68rem/1 'Inter', sans-serif;
    letter-spacing: 0.12em;
}

.pn-partner__type strong {
    min-height: 2rem;
    color: var(--pn-navy-950);
    font: 650 clamp(0.9rem, 1.2vw, 1.08rem)/1.15 'Syne', sans-serif;
    letter-spacing: -0.015em;
}

html[lang="de-AT"] .pn-partner__type strong { font-size: clamp(0.82rem, 1vw, 0.96rem); }

.pn-partner__type-copy {
    max-width: 28ch;
    margin-top: 0.72rem;
    color: #4d5d63;
    font: 450 0.77rem/1.45 'Inter', sans-serif;
}

.pn-partner__flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: clamp(3.25rem, 4.6vw, 3.75rem) 0 0;
    padding: 0;
    list-style: none;
}

.pn-partner__flow::before,
.pn-partner__flow::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    content: '';
}

.pn-partner__flow::before { width: 100%; background: rgb(8 19 31 / 22%); }

.pn-partner__flow::after {
    width: 100%;
    background: linear-gradient(90deg, var(--pn-cyan-500) 0 66%, var(--pn-gold-500));
    transform: scaleX(var(--pn-partner-line));
    transform-origin: left;
    transition: transform var(--pn-motion-standard) var(--pn-ease-out);
}

.pn-partner__layer {
    position: relative;
    min-width: 0;
    padding: clamp(1.75rem, 2.8vw, 2.35rem) clamp(1.1rem, 2.2vw, 2rem) clamp(1.9rem, 3vw, 2.55rem);
    border-right: 1px solid rgb(8 19 31 / 13%);
    transition: background-color var(--pn-motion-standard) ease, transform var(--pn-motion-standard) var(--pn-ease-out);
}

.pn-partner__layer:first-child { padding-left: 0; }
.pn-partner__layer:last-child { padding-right: 0; border-right: 0; }

.pn-partner__layer::before {
    position: absolute;
    top: -0.38rem;
    left: clamp(1.2rem, 2.5vw, 2.3rem);
    width: 0.7rem;
    aspect-ratio: 1;
    background: #f3f5f1;
    border: 1px solid rgb(8 19 31 / 40%);
    border-radius: 50%;
    content: '';
    transition: background-color var(--pn-motion-fast) ease, transform var(--pn-motion-fast) var(--pn-ease-out);
}

.pn-partner__layer:first-child::before { left: 0; }

.pn-partner__layer.is-emphasized { background: rgb(255 255 255 / 46%); transform: translateY(-0.25rem); }
.pn-partner__layer.is-emphasized::before { background: var(--pn-cyan-500); transform: scale(1.25); }
.pn-partner__layer--transaction.is-emphasized::before { background: var(--pn-gold-500); }

.pn-partner__layer-index {
    display: block;
    margin-bottom: 1rem;
    color: #006d7c;
    font: 750 0.72rem/1 'Inter', sans-serif;
    letter-spacing: 0.14em;
}

.pn-partner__layer--transaction .pn-partner__layer-index { color: #8b6810; }

.pn-partner__layer h3 {
    max-width: 16ch;
    min-height: 3rem;
    margin: 0 0 1.1rem;
    color: var(--pn-navy-950);
    font: 650 clamp(1.25rem, 2vw, 1.75rem)/1.08 'Syne', sans-serif;
    letter-spacing: -0.025em;
}

html[lang="de-AT"] .pn-partner__layer h3 { font-size: clamp(1.1rem, 1.7vw, 1.5rem); }

.pn-partner__layer ul {
    display: grid;
    gap: 0.52rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pn-partner__layer li {
    position: relative;
    padding-left: 1rem;
    color: #3f5158;
    font: 450 0.84rem/1.42 'Inter', sans-serif;
}

.pn-partner__layer li::before {
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 0.35rem;
    height: 1px;
    background: #008ba3;
    content: '';
}

.pn-partner__layer--transaction li::before { background: #b38818; }

.pn-partner__commercial {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 0.7fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
    margin-top: clamp(3rem, 4.2vw, 3.25rem);
    padding-top: clamp(1.8rem, 2.8vw, 2.4rem);
    border-top: 1px solid rgb(8 19 31 / 20%);
}

.pn-partner__commercial h3 {
    max-width: 18ch;
    margin: 0 0 0.9rem;
    color: var(--pn-navy-950);
    font: 600 clamp(1.7rem, 2.7vw, 2.4rem)/1.08 'Syne', sans-serif;
    letter-spacing: -0.03em;
}

.pn-partner__commercial p,
.pn-partner__commercial li {
    color: #46585f;
    font: 450 0.88rem/1.52 'Inter', sans-serif;
}

.pn-partner__commercial p { max-width: 68ch; margin: 0; }
.pn-partner__commercial p + p { margin-top: 0.62rem; }

.pn-partner__terms {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pn-partner__terms li {
    position: relative;
    padding: 0 0 0.5rem 1rem;
    border-bottom: 1px solid rgb(8 19 31 / 11%);
}

.pn-partner__terms li::before {
    position: absolute;
    top: 0.75em;
    left: 0;
    width: 0.35rem;
    height: 1px;
    background: var(--pn-gold-500);
    content: '';
}

.pn-partner__regulatory {
    max-width: 75ch;
    margin: 1.3rem 0 0;
    padding-top: 1rem;
    color: #4b5c62;
    font: 450 0.78rem/1.6 'Inter', sans-serif;
    border-top: 1px solid rgb(8 19 31 / 16%);
}

.pn-partner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    align-items: center;
    margin-top: 1.75rem;
}

.pn-partner__cta {
    position: relative;
    display: inline-flex;
    min-height: 3.75rem;
    padding: 0.85rem 3.5rem 0.85rem 1.25rem;
    color: var(--pn-navy-950);
    font: 750 0.76rem/1.2 'Inter', sans-serif;
    text-decoration: none;
    align-items: center;
    border: 1px solid #a88012;
    transition: background-color var(--pn-motion-fast) ease, color var(--pn-motion-fast) ease, transform var(--pn-motion-fast) var(--pn-ease-out);
}

.pn-partner__cta--primary { background: var(--pn-gold-500); }
.pn-partner__cta--secondary { background: transparent; border-color: #007f92; }

.pn-partner__cta i {
    position: absolute;
    right: 1.2rem;
    width: 0.55rem;
    aspect-ratio: 1;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--pn-motion-fast) var(--pn-ease-out);
}

.pn-partner__cta:hover,
.pn-partner__cta:focus-visible { transform: translateY(-0.15rem); }
.pn-partner__cta--primary:hover,
.pn-partner__cta--primary:focus-visible { background: var(--pn-gold-400); }
.pn-partner__cta--secondary:hover,
.pn-partner__cta--secondary:focus-visible { color: #fff; background: #007f92; }
.pn-partner__cta:hover i,
.pn-partner__cta:focus-visible i { transform: translateX(0.2rem) rotate(45deg); }
.pn-partner__cta:focus-visible { outline: 2px solid #007f92; outline-offset: 4px; }

.pn-partner[data-partner-motion="ready"] .pn-partner__intro h2 {
    clip-path: inset(0 0 100% 0);
    transition: clip-path var(--pn-motion-cinematic) var(--pn-ease-out);
}

.pn-partner[data-partner-motion="ready"].is-in-view .pn-partner__intro h2 { clip-path: inset(0); }

.pn-partner[data-partner-motion="ready"] .pn-partner__flow::after {
    clip-path: inset(0 100% 0 0);
    transition: clip-path var(--pn-motion-cinematic) var(--pn-ease-out), transform var(--pn-motion-standard) var(--pn-ease-out);
}
.pn-partner[data-partner-motion="ready"].is-in-view .pn-partner__flow::after { clip-path: inset(0); }

@media (max-width: 1024px) {
    .pn-partner__intro { grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.72fr); gap: 3rem; }
    .pn-partner__types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pn-partner__type:nth-child(2) { border-right: 0; }
    .pn-partner__type:nth-child(-n+2) { border-bottom: 1px solid rgb(8 19 31 / 13%); }
    .pn-partner__type::before { display: none; }
    .pn-partner__types::before { display: none; }
}

@media (max-width: 768px) {
    .pn-partner__shell { padding-block: 4.75rem; }
    .pn-partner__intro { grid-template-columns: 1fr; gap: 2.2rem; }
    .pn-partner__intro h2,
    html[lang="de-AT"] .pn-partner__intro h2 { max-width: 15ch; font-size: clamp(2.7rem, 12vw, 4.4rem); }
    .pn-partner__types { grid-template-columns: 1fr; padding-left: 1.2rem; border-block: 0; }
    .pn-partner__types::after {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 1px;
        background: linear-gradient(var(--pn-cyan-500), var(--pn-gold-500));
        content: '';
    }
    .pn-partner__type,
    .pn-partner__type:nth-child(2),
    .pn-partner__type:last-child { min-height: 0; padding: 1.35rem 1rem 1.45rem; border-right: 0; border-bottom: 1px solid rgb(8 19 31 / 13%); }
    .pn-partner__type::before { display: block; top: 1.65rem; left: -1.57rem; }
    .pn-partner__type strong { min-height: 0; }
    .pn-partner__type-copy { max-width: 42rem; margin-top: 0.65rem; }
    .pn-partner__flow { grid-template-columns: 1fr; padding-left: 1.2rem; }
    .pn-partner__flow::before,
    .pn-partner__flow::after { top: 0; bottom: 0; width: 1px; height: auto; }
    .pn-partner__flow::after { transform: scaleY(var(--pn-partner-line)); transform-origin: top; }
    .pn-partner[data-partner-motion="ready"] .pn-partner__flow::after { clip-path: inset(0 0 100% 0); }
    .pn-partner[data-partner-motion="ready"].is-in-view .pn-partner__flow::after { clip-path: inset(0); }
    .pn-partner__layer,
    .pn-partner__layer:first-child,
    .pn-partner__layer:last-child { padding: 1.7rem 1rem 1.9rem; border-right: 0; border-bottom: 1px solid rgb(8 19 31 / 13%); }
    .pn-partner__layer::before,
    .pn-partner__layer:first-child::before { top: 2.55rem; left: -1.57rem; }
    .pn-partner__layer h3 { min-height: 0; }
    .pn-partner__commercial { grid-template-columns: 1fr; gap: 2.4rem; }
    .pn-partner__actions { align-items: stretch; }
}

@media (max-width: 480px) {
    .pn-partner::before { right: -15rem; }
    .pn-partner__intro h2,
    html[lang="de-AT"] .pn-partner__intro h2 { font-size: clamp(2.55rem, 13.5vw, 3.65rem); }
    .pn-partner__cta { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .pn-partner,
    .pn-partner *,
    .pn-partner *::before,
    .pn-partner *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation: none !important; }
    .pn-partner__intro h2 { clip-path: none !important; }
    .pn-partner__flow::after { transform: none !important; }
    .pn-partner__type,
    .pn-partner__layer { transform: none !important; }
}
