.register-grid {
    grid-template-columns: minmax(0, 0.85fr) minmax(480px, 1fr);
    align-items: start;
    gap: 78px;
}

.register-introduction {
    position: sticky;
    top: 105px;
    padding-top: 18px;
}

.register-introduction h1 {
    font-size: clamp(2.8rem, 4.6vw, 4.45rem);
}

.register-panel {
    padding: 34px;
}

.register-form {
    gap: 20px;
}

.register-form > label,
.register-form-grid label {
    display: grid;
    gap: 8px;
    color: var(--navy-900);
    font-family: var(--font-ui);
    font-size: 0.67rem;
    font-weight: 700;
}

.register-section {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

.register-section + .register-section {
    padding-top: 22px;
    border-top: 1px solid var(--border);
}

.register-section legend {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    margin: 0 0 17px;
    color: var(--navy-900);
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 800;
}

.register-section legend > span {
    color: var(--gold-dark);
    font-size: 0.57rem;
}

.register-section legend small {
    padding: 3px 6px;
    margin-left: auto;
    border-radius: 999px;
    color: #6f7e86;
    background: #eef2f3;
    font-size: 0.5rem;
    text-transform: uppercase;
}

.register-section-description {
    margin: -8px 0 16px;
    color: var(--muted);
    font-family: var(--font-ui);
    font-size: 0.61rem;
    line-height: 1.55;
}

.register-field-hint {
    color: var(--muted);
    font-size: 0.52rem;
    font-weight: 500;
    line-height: 1.35;
}

.register-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.register-form input:not([type="checkbox"]),
.register-form select {
    width: 100%;
    height: 47px;
    padding: 0 13px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    outline: 0;
    color: var(--text);
    background: #fbfcfc;
    font-family: var(--font-ui);
    font-size: 0.73rem;
}

.register-form select {
    cursor: pointer;
}

.register-form input:not([type="checkbox"]):focus,
.register-form select:focus {
    border-color: var(--navy-700);
    box-shadow: 0 0 0 3px rgba(33, 99, 139, 0.1);
}

.register-field-full {
    grid-column: 1 / -1;
}

.register-address-grid {
    grid-template-columns: 0.65fr 1fr;
}

.register-address-street {
    grid-column: auto;
}

.register-password-rules {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 20px;
    padding: 13px 15px;
    margin: -4px 0 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fafbfb;
    list-style: none;
}

.register-password-rules li {
    position: relative;
    padding-left: 13px;
    color: var(--muted);
    font-family: var(--font-ui);
    font-size: 0.56rem;
}

.register-password-rules li::before {
    position: absolute;
    width: 4px;
    height: 4px;
    top: 0.58em;
    left: 0;
    border-radius: 50%;
    background: var(--gold-dark);
    content: "";
}

.register-terms {
    align-items: flex-start;
    margin-top: 0;
}

.register-terms span {
    line-height: 1.6;
}

.register-terms a,
.register-login-link a {
    color: var(--navy-900);
    font-weight: 750;
    text-decoration: none;
}

.register-terms a:hover,
.register-login-link a:hover {
    color: var(--gold-dark);
}

.register-form button {
    margin-top: 0;
}

.register-consent-section {
    display: grid;
    gap: 13px;
}

.register-consent-section legend {
    margin-bottom: 4px;
}

.register-privacy-note {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 9px;
    padding: 14px 15px;
    border: 1px solid #d8e4df;
    border-radius: 8px;
    background: #f2f7f5;
}

.register-privacy-note > span {
    color: #287052;
    font-size: 0.69rem;
}

.register-privacy-note p {
    margin: 0;
    color: #5c7168;
    font-family: var(--font-ui);
    font-size: 0.61rem;
    line-height: 1.55;
}

@media (max-width: 1050px) {
    .register-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .register-panel {
        width: min(650px, 100%);
        margin-inline: auto;
    }

    .register-introduction {
        position: static;
        padding-top: 0;
    }
}

@media (max-width: 620px) {
    .register-form-grid {
        grid-template-columns: 1fr;
    }

    .register-panel {
        padding: 28px 21px;
    }

    .register-field-full {
        grid-column: auto;
    }
}
