@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-ExtraLight.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 200;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-ExtraLightItalic.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-Light.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-LightItalic.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-Regular.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-Italic.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-Medium.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-MediumItalic.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-SemiBold.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-SemiBoldItalic.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-Bold.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-BoldItalic.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-ExtraBold.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 800;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-ExtraBoldItalic.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-Black.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(fonts/Source_Sans_3/SourceSans3-BlackItalic.ttf) format('truetype');
}


@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(fonts/Inter/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZhrib2Bg-4.ttf) format('truetype');
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    color: inherit;
    text-decoration: none;
}

:root {
    --width-xxxl: 1920px;
    --width-xxl: 1720px;
    --width-xl: 1440px;
    --width-lg: 1270px;
    --width-md: 1024px;
    --width-sm: 768px;
    --width-xs: 576px;
    --width-xxs: 480px;
    --width-xxxs: 375px;
    --min-width-xxxl: 1921px;
    --min-width-xxl: 1721px;
    --min-width-xl: 1441px;
    --min-width-lg: 1271px;
    --min-width-md: 1025px;
    --min-width-sm: 769px;
    --min-width-xs: 577px;
    --min-width-xxs: 481px;
    --min-width-xxxs: 376px;
    --base-font-size: 16px;
    --Dark-gray: #4A4949;
    --footer-light-gray: #F3F4F6;
    --color-secondary: #4D627F;
    --dark-blue-hover: #3A4D63;
    --Light-gray: #F5F5F5;
    --color-primary: #2487CA;
    --color-error: #EB5757;
    --color-error-bg: #FEE2E2;
    --color-accent: #EE7601;
    --color-success-bg: #DCFCE7;
    --color-success-text: #166534;
    --color-success-border: #86EFAC;
    --color-gray-900: #4A4949;
    --color-gray-600: #878D98;
    --color-gray-100: #F4F4F4;
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-transparent: #00000000;
    --color-border-light: #E8E8E8;
}

body, html {
    padding: 0;
    margin: 0;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-overflow-scrolling: touch;
    font-size: var(--base-font-size);
    font-weight: 400;
    -webkit-tap-highlight-color: var(--color-transparent);
    font-family: 'Source Sans 3', sans-serif;
    line-height: 135%;
    color: var(--color-black);
    display: flex;
    flex-direction: column;
}

.main {
    margin: auto 0;
    width: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}

section *::-webkit-scrollbar,
main *::-webkit-scrollbar {
    display: none
}

body {
    overflow-x: hidden;
    background-image: url(./images/bg.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    --webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
}

.home-page {
    backdrop-filter: none;
}

svg {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    display: block;
}

img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

button {
    border: none;
    background: transparent;
    box-shadow: none;
    font-size: inherit;
}

body > .trnst-section:first-child:last-child,
main > .trnst-section:first-child:last-child {
    min-height: 100vh;
    width: 100%;
}

a {
    text-decoration: none;
}

a:hover {
    cursor: pointer;
    transition: 0.3s ease;
}

ul, ol {
    margin: 0;
}

.tr_header-nav_item:hover,
.tr_footer-nav_item:hover {
    cursor: pointer;
    transition: 0.3s ease;
}

*:not(button) [disabled] {
    cursor: default;
    opacity: 0.6;
    pointer-events: none;
}

.is-hidden {
    opacity: 0;
    visibility: hidden;
    display: none !important;
    transition: opacity 0.3s ease;
}

/* ============================================
   Notification
   ============================================ */
.tj-notification {
    display: block;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    border-radius: 5px;
    position: fixed;
    right: 1rem;
    top: 1rem;
    width: 42ch;
    max-width: calc(100vw - 2rem);
    z-index: 999;
    opacity: 0;
    transform: translateY(-0.5rem);
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
}

.tj-notification--visible {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
}

.tj-notification--success {
    background: var(--color-success-bg);
    color: var(--color-success-text);
    border: 1px solid var(--color-success-border);
}

.tj-notification--error {
    background: var(--color-error-bg);
    color: var(--color-error);
    border: 1px solid var(--color-error);
}

/* Shared button styles (copied from existing component styles) */
.tj-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.56rem;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.44;
    text-align: center;
    border-radius: 0.3125rem;
    border: 1px solid transparent;
    box-shadow: none;
    width: fit-content;
    transition:all 0.3s ease;
}

.tj-navigation .tj-button {
    font-size: clamp(1rem, 1.125vw, 1.125rem);
    padding: clamp(0.44rem, 0.75vw, 0.75rem) 1.56rem;
}
.tj-button:not(.disabled):not([disabled]):hover{
    cursor: pointer;
}
.tj-button.disabled .tj-button[diabled]{
    pointer-events: none;
    opacity: 0.6;
}
.tj-button--primary {
    color: var(--color-white);
    background: var(--color-primary);
}

.tj-button--secondary {
    color: var(--color-white);
    background: var(--color-secondary);
}

.tj-button--outline {
    color: var(--color-primary);
    background: transparent;
    border-color: var(--color-primary);
}

.tj-button--outline-white {
    color: var(--color-white);
    background: transparent;
    border-color: var(--color-white);
}
.tj-button--primary:hover {
    color: var(--color-white);
    background: var(--color-accent);
}

.tj-button--secondary:hover {
    color: var(--color-white);
    background: var(--dark-blue-hover);
}

.tj-button--outline:hover {
    color: var(--color-white);
    background: var(--color-primary);
    border-color: var(--color-primary);
}

.tj-button--outline-white:hover {
    color: var(--color-secondary);
    background: var(--color-white);
    border-color: var(--color-white);
}
/* Unified card wrapper styles (copied from existing component styles) */
.tj-card {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: clamp(1.56rem, 3vw, 2.81rem);
    border-radius: clamp(0.9375rem, 1.5vw, 1.5rem);
    gap: 1.56rem;
    background: var(--color-white);
    margin: 0 auto;
    color: var(--Dark-gray, var(--color-gray-900));
}

.tj-section__hero .tj-card {
    max-width: 48.1875rem;
    margin-right: auto;
    margin-left: 0;
    color: var(--color-black);
}

.tj-card__header {
    display: flex;
    flex-direction: column;
    gap: clamp(0.94rem, 1.25vw, 1.25rem);
    align-items: center;
    text-align: center;
}

.tj-card__label-wrapper {
    display: flex;
    align-items: center;
    gap: 0.31rem;
    margin-bottom: 0.31rem;
}

.tj-card__text-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.63rem;
}

.tj-card__accent {
    width: 0.12rem;
    height: 1.5rem;
    background: var(--color-accent);
    border-radius: 9px;
}

.tj-card__label {
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--color-gray-900);
}

.tj-card__subtitle {
    font-size: 1.3125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 135%; /* 1.77188rem */
}

.tj-card__title {
    font-size: clamp(2rem, 2.375vw, 2.375rem);
    font-style: normal;
    font-weight: 600;
    line-height: 110%;
    margin: 0;
}

.tj-section__hero .tj-card__title {
    font-size: clamp(2.25rem, 3vw, 3rem);
}

.tj-card__description {
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 135%;
}

.tj-section__hero .tj-card__description {
    font-size: clamp(1.125rem, 1.35vw, 1.3125rem);
}

.tj-card__content {
    display: flex;
    flex-direction: column;
    gap: 1.88rem;
}

.tj-card__actions {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

/* Card variants (differences) */
.tj-card--login {
    z-index: 1;
    max-width: 41.875rem;
    gap: 2.81rem;
    margin: auto;
}

.tj-card--registration {
    z-index: 1;
    max-width: 41.93rem;
    gap: 2.81rem;
}

.tj-card--small {
    max-width: 31.25rem;
}

/* Unified footer styles (copied from existing component styles) */
.tj-footer {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: clamp(0.9375rem, 1.6vw, 1.5625rem) 1.5625rem clamp(0.625rem, 1.6vw, 1.5625rem) 1.5625rem;
    color: var(--color-secondary);
    font-size: clamp(0.875rem, 1vw, 1rem);
    font-weight: 400;
    line-height: 1.5;
    background: var(--footer-light-gray);
}

.tj-footer__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(0.62rem, 2vw, 2rem);
}

.tj-footer__links {
    display: flex;
    gap: clamp(1rem, 2.5vw, 2.5rem);
    align-items: center;
}

.tj-footer__link {
    text-decoration: none;
    transition: color 0.2s ease;
}

.tj-footer__link:hover {
    color: var(--color-primary);
}

.tj-form {
    gap: 1.56rem;
    display: flex;
    flex-direction: column;
}

.tj-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

.tj-form-field {
    flex: 1;
    position: relative;
    height: fit-content;
}

.tj-checkbox__wrapper {
    position: relative;
}
.tj-form__checkboxes{
    gap: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.tj-form-field__label {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 0.3125rem;
    color: var(--Dark-gray, var(--color-gray-900));
}

.tj-form-field__required {
    /*color: var(--color-warning);*/
}

.tj-form-field__input {
    width: 100%;
    padding: 0.81rem 1.25rem;
    font-family: inherit;
    font-size: 1.12rem;
    font-weight: 400;
    line-height: 1.33;
    color: var(--Dark-gray, var(--color-gray-900));
    background: var(--Light-gray);
    border: 1px solid transparent;
    border-radius: 5px;
    outline: none;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}

.tj-form-field__input::placeholder {
    color: var(--color-gray-600);
}

.tj-form-field__input:focus {
    border-color: var(--color-secondary);
    background: var(--color-white);
}

.tj-form-field__input--textarea {
    min-height: 5.75rem;
    resize: vertical;
    display: block;
}

.tj-form-field.tj-form-field--error .tj-form-field__input,
.tj-form-field.tj-form-field--error .tj-checkbox__box {
    border-color: var(--color-error);
}
.tj-form-field.tj-form-field--error .tj-form-field__label {
    color: var(--color-error);
}

.tj-form-field__error {
    display: block;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--color-error);
    margin-top: 0.125rem;
    position: absolute;
    top: 100%;
    line-height: 1.1;
    opacity: 0;
    transform: translateY(-0.2rem);
    visibility: hidden;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.tj-form-field__error.tj-form-field__error--visible,
.tj-form-field__error:not(:empty) {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.tj-form__actions {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0.93rem;
    padding-top: 0.34rem;
    padding-bottom: 0.34rem;
}

/* Checkbox */
.tj-checkbox {
    display: flex;
    align-items: center;
    gap: 0.93rem;
    cursor: pointer;
    position: relative;
}

.tj-checkbox__input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.tj-checkbox__box {
    flex-shrink: 0;
    width: 1.56rem;
    height: 1.56rem;
    border: 1px solid var(--color-secondary);
    border-radius: 2px;
    transition: all 0.2s ease;
    position: relative;
}

.tj-checkbox__input:checked + .tj-checkbox__box {
    background: var(--color-white);
    border-color: var(--color-secondary);
}

.tj-checkbox__input:checked + .tj-checkbox__box::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 14px;
    transform: translate(-50%, -50%);
    background-color: var(--color-secondary);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='13' height='14' viewBox='0 0 13 14' fill='none'><path d='M0.803711 7.64182C1.65937 8.79807 3.78139 12.7981 3.78139 12.7981H4.50014C5.32157 10.1418 8.03228 4.02307 12.3037 0.798065' stroke='%23000' stroke-width='2'/></svg>") no-repeat center / contain;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='13' height='14' viewBox='0 0 13 14' fill='none'><path d='M0.803711 7.64182C1.65937 8.79807 3.78139 12.7981 3.78139 12.7981H4.50014C5.32157 10.1418 8.03228 4.02307 12.3037 0.798065' stroke='%23000' stroke-width='2'/></svg>") no-repeat center / contain;
}

.tj-checkbox__input:hover + .tj-checkbox__box{
    border-color: var(--color-accent);
}

.tj-checkbox__label {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.3;
    color: var(--color-gray-900);
    max-width: 90ch;
}

.tj-section__navigation {
    padding: 1.5rem;
}

.tj-navigation {
    position: sticky;
    top: 1rem;
    margin-top: 2rem;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: clamp(0.63rem, 1.2vw, 1.19rem) clamp(0.94rem, 1.6vw, 1.56rem);
    background: var(--color-white);
    border-radius: clamp(0.9375rem, 1.5vw, 1.5rem);
}

.tj-navigation__logo-image {
    display: block;
    height: clamp(1.82225rem, 3.3vw, 3.22rem);
    width: auto;
}

.tj-navigation__button {
    flex-shrink: 0;
}


/* Shared page layout styles (copied from existing component styles) */
.tj-page__background {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    min-width: 100%;
    min-height: 100%;
    height: 100%;
    display: block;
    margin: 0 auto;
    transform: translate(-50%, 0);
    transform-origin: center center;
    z-index: 1;
}

.tj-page__background-image {
    position: relative;
    width: 100%;
    min-width: 100%;
    max-height: none;
    min-height: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.tj-section {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 1.56rem;
    z-index: 2;
}

.tj-section__main {
    padding-top: clamp(1.56rem, 3vw, 2.81rem);
    padding-bottom: clamp(1.56rem, 3vw, 2.81rem);
    margin: auto 0;
}

.container {
    position: relative;
    width: 100%;
    max-width: 97.5rem;
    margin: 0 auto;
}


/* Partners Section */
.tj-footer__partners {
    padding: clamp(1.56rem, 3vw, 2.81rem);
    background: var(--color-white);
    margin-top: auto;
    color: var(--Dark-gray, var(--color-gray-900));
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 135%;
}

.tj-footer__partners .container {
    display: flex;
    flex-direction: column;
    gap: 2.81rem;
}

/* Logo Slider */
.tj-footer__slider {
    width: 100%;
    overflow: hidden;
}

.tj-slider__viewport {
    overflow: hidden;
}

.tj-slider__container {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    justify-content: space-between;
}

.tj-slider__slide {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tj-footer__logo {
    display: block;
    max-height: 1.56rem;
    width: auto;
    object-fit: contain;
}

.tj-login-form__submit {
    min-width: 10.875rem;
}

.tj-error-page .tj-error-page__content-wrapper {
    position: relative;
    width: 100%;
    max-width: 62.5rem;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 3.75rem;
    margin: 0 auto;
    z-index: 2;
}

.tj-error-page .tj-error-page__text-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1.87rem;
}

.tj-error-page .tj-error-page__heading {
    position: relative;
    width: 100%;
    font-size: clamp(13.125rem, 21.5vw, 21.25rem);
    font-weight: 500;
    line-height: 0.66;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    text-align: center;
    color: var(--color-white);
    display: block;
    margin: 0;
}

.tj-error-page .tj-error-page__message {
    position: relative;
    width: 100%;
    max-width: 30.12rem;
    font-size: clamp(1.75rem, 2.65vw, 2.62rem);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    text-align: center;
    color: var(--color-white);
    display: block;
}

.tj-submit-quote .tj-quote-cards {
    position: relative;
    width: 100%;
    max-width: 100.87rem;
    display: flex;
    flex-direction: column;
    gap: 0.93rem;
    z-index: 10;
}

.tj-submit-quote .tj-quote-preview {
    position: relative;
    width: 100%;
    max-width: 100.87rem;
    display: flex;
    flex-direction: column;
    gap: 2.18rem;
    z-index: 10;
}

.tj-submit-quote .tj-quote-success {
    position: relative;
    width: 100%;
    max-width: 100.87rem;
    display: flex;
    justify-content: center;
    z-index: 10;
}

.tj-submit-quote .tj-quote-success .tj-card {
    max-width: 31.25rem;
}

.tj-submit-quote .tj-quote-success__description {
    display: flex;
    flex-direction: column;
    gap: 0.94rem;
}

.tj-submit-quote .tj-quote-success__description p {
    margin: 0;
}

.tj-submit-quote .tj-quote-preview__list {
    display: flex;
    flex-direction: column;
    gap: 1.56rem;
}

.tj-submit-quote .tj-quote-preview-card {
    border-radius: 1.56rem;
    padding: clamp(1.56rem, 2.8vw, 2.81rem);
    gap: clamp(0.94rem, 1.8vw, 1.56rem);
}

.tj-submit-quote .tj-quote-preview-card__index {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.1;
    color: var(--color-gray-900);
}

.tj-submit-quote .tj-quote-preview-card__quote {
    margin: 0;
    max-width: 77.75rem;
    font-size: clamp(1.75rem, 2.4vw, 2.375rem);
    font-weight: 300;
    font-style: italic;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: var(--color-black);
}

.tj-submit-quote .tj-quote-preview-card__author {
    margin: 0;
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 300;
    line-height: 1.3;
    color: var(--color-gray-900);
}

.tj-submit-quote .tj-quote-preview__actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.56rem;
}

.tj-submit-quote .tj-quote-preview__back,
.tj-submit-quote .tj-quote-preview__submit {
    min-height: 3.125rem;
    padding: 0.75rem 1.56rem;
}

.tj-submit-quote .tj-quote-preview__submit {
    min-width: 12.6875rem;
}

.tj-submit-quote {
    --quote-motion-fast: 0.18s;
    --quote-motion: 0.26s;
    --quote-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

.tj-submit-quote .tj-quote-card {
    border: 1px solid transparent;
    box-shadow: 0 0 0 rgba(36, 135, 202, 0);
    transition: transform var(--quote-motion) var(--quote-ease),
                box-shadow var(--quote-motion) var(--quote-ease),
                border-color var(--quote-motion) var(--quote-ease),
                opacity var(--quote-motion) var(--quote-ease);
    will-change: transform, opacity;
}

.tj-submit-quote .tj-quote-card[data-role~="quote-card-collapsed"] {
    animation: tj-quote-card-in var(--quote-motion) var(--quote-ease);
    cursor: pointer;
}

.tj-submit-quote .tj-quote-card[data-role~="quote-card-expanded"] .tj-quote-card__header {
    cursor: pointer;
}

.tj-submit-quote .tj-quote-card[data-role~="quote-card-collapsed"]:hover {
    border-color: var(--color-primary);
}

.tj-submit-quote .tj-quote-card.is-selected {
    border-color: var(--color-primary);
}

.tj-submit-quote .tj-quote-card.is-selected .tj-quote-card__title {
    color: var(--color-primary);
}

.tj-submit-quote .tj-quote-card.is-removing {
    opacity: 0;
    transform: translateY(-0.4rem) scale(0.98);
}

.tj-submit-quote .tj-quote-card.is-submitted {
    border-color: var(--color-success-border);
}

.tj-quote-card__status {
    margin-right: auto;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1;
    color: var(--color-primary);
    transition: color var(--quote-motion-fast) ease, transform var(--quote-motion-fast) ease;
}

.tj-quote-card__status.is-invalid {
    color: var(--color-error);
    transform: translateY(-0.08rem);
}

/* ============================================
   Quote Card
   ============================================ */

.tj-submit-quote .tj-quote-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.56rem;
}

.tj-submit-quote .tj-quote-card__title {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.09;
    color: var(--color-gray-900);
    margin: 0;
    transition: color var(--quote-motion-fast) ease;
}

.tj-submit-quote .tj-card__delete {
    flex-shrink: 0;
    width: 1.87rem;
    height: 1.87rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: var(--color-gray-900);
    cursor: pointer;
    padding: 0.11rem;
    transition: color var(--quote-motion-fast) ease, transform var(--quote-motion-fast) ease;
}

.tj-submit-quote .tj-card__delete:hover {
    color: var(--color-primary);
    transform: translateY(-1px);
}

.tj-submit-quote .tj-card__delete svg {
    width: 100%;
    height: 100%;
}

/* ============================================
   Quote Form
   ============================================ */

.tj-submit-quote .tj-form__section {
    display: flex;
    flex-direction: column;
    gap: 0.93rem;
    padding: 1.18rem 0.87rem 0.87rem;
    background: var(--color-gray-100);
    border: 1px solid var(--color-border-light);
    border-radius: 10px;
    transition: border-color var(--quote-motion-fast) ease, box-shadow var(--quote-motion-fast) ease;
}

/* ============================================
   Form Fields
   ============================================ */


.tj-submit-quote .tj-form-field__input {
    background: var(--color-white);
    transition: border-color var(--quote-motion-fast) ease, box-shadow var(--quote-motion-fast) ease;
}

/* ============================================
   File Upload
   ============================================ */

.tj-file-upload {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.93rem;
}

.tj-file-upload__input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.tj-file-upload__area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.93rem;
    padding: 1.18rem 3rem 1.81rem;
    background: var(--color-white);
    border: 1px dashed var(--color-gray-600);
    border-radius: 5px;
    cursor: pointer;
    transition: border-color var(--quote-motion-fast) ease, box-shadow var(--quote-motion-fast) ease, transform var(--quote-motion-fast) ease;
}

.tj-file-upload__area:hover {
    border-color: var(--color-primary);
}

.tj-file-upload.is-dragover .tj-file-upload__area {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(36, 135, 202, 0.15);
    transform: translateY(-1px);
}

.tj-file-upload__icon {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-gray-100);
    border-radius: 50%;
    padding: 0.31rem;
}

.tj-file-upload__icon-default,
.tj-file-upload__icon-success,
.tj-file-upload__icon-error,
.tj-file-upload__icon-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity var(--quote-motion-fast) ease, transform var(--quote-motion-fast) ease;
}

.tj-file-upload__icon svg {
    width: 1.2rem;
    height: 1.2rem;
}

.tj-file-upload__icon-default svg {
    width: 1.5rem;
    height: 1.5rem;
}

.tj-file-upload__icon-progress {
    display: none;
}

.tj-file-upload__icon-success {
    display: none;
    width: 1.87rem;
    height: 1.87rem;
    background: var(--color-primary);
    border-radius: 50%;
}

.tj-file-upload__icon-error {
    display: none;
    width: 1.87rem;
    height: 1.87rem;
    background: var(--color-error);
    border-radius: 50%;
}
.tj-file-upload__icon-error svg {
    width: 1.5rem;
    height: 1.5rem;
}


.tj-file-upload__status {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.tj-file-upload__success {
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-gray-900);
}

.tj-file-upload__filename {
    font-family: inherit;
    font-size: 0.87rem;
    font-weight: 400;
    line-height: 1.28;
    color: var(--color-gray-600);
}

.tj-file-upload__error-text {
    display: none;
    font-family: inherit;
    font-size: 0.87rem;
    font-weight: 400;
    line-height: 1.28;
    color: var(--color-error);
}

.tj-file-upload__progress {
    display: none;
    align-items: center;
    gap: 0.62rem;
    width: 100%;
    max-width: 28rem;
}

.tj-file-upload__progress-line {
    position: relative;
    flex: 1;
    height: 0.37rem;
    background: var(--color-gray-100);
    border-radius: 999px;
    overflow: hidden;
}

.tj-file-upload__progress-current {
    display: block;
    height: 100%;
    width: 0%;
    background: var(--color-primary);
    transition: width 0.2s ease, opacity var(--quote-motion-fast) ease;
}

.tj-file-upload__progress-percent {
    font-family: inherit;
    font-size: 0.87rem;
    font-weight: 600;
    color: var(--color-gray-900);
    min-width: 2.5rem;
    text-align: right;
}

.tj-file-upload__progress-text {
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-gray-900);
    text-align: center;
    transition: opacity var(--quote-motion-fast) ease, transform var(--quote-motion-fast) ease;
}

.tj-file-upload__progress-hint {
    font-family: inherit;
    font-size: 0.87rem;
    font-weight: 400;
    color: var(--color-gray-600);
    text-align: center;
}

.tj-file-upload__prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    font-family: inherit;
    text-align: center;
}

.tj-file-upload__prompt-text {
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-gray-900);
}

.tj-file-upload__prompt-link {
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: underline;
}
.tj-file-upload__prompt-link:hover{
    text-decoration: none;
}

.tj-file-upload__prompt-hint {
    font-size: 0.87rem;
    font-weight: 400;
    color: var(--color-gray-600);
}

.tj-file-upload__delete {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.31rem;
    margin: 0 auto;
    padding: 0;
    background: none;
    border: none;
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-gray-900);
    cursor: pointer;
    transition: color 0.2s ease;
}

.tj-file-upload__delete:hover {
    color: var(--color-primary);
}

.tj-file-upload__delete svg {
    width: 0.62rem;
    height: 0.62rem;
    flex-shrink: 0;
}

.tj-file-upload.is-uploaded .tj-file-upload__area {
    border-color: var(--color-primary);
}

.tj-file-upload.is-uploaded .tj-file-upload__prompt {
    display: none;
}

.tj-file-upload.is-uploaded .tj-file-upload__status {
    display: flex;
}

.tj-file-upload.is-uploaded .tj-file-upload__icon-default {
    display: none;
}

.tj-file-upload.is-uploaded .tj-file-upload__icon-success {
    display: flex;
}

.tj-file-upload.is-uploaded .tj-file-upload__icon-progress,
.tj-file-upload.is-uploaded .tj-file-upload__icon-error,
.tj-file-upload.is-uploaded .tj-file-upload__progress-text,
.tj-file-upload.is-uploaded .tj-file-upload__progress-hint{
    display: none;
}

.tj-file-upload.is-uploaded .tj-file-upload__delete {
    display: flex;
}

.tj-file-upload.is-error .tj-file-upload__status {
    display: flex;
}

.tj-file-upload.is-error .tj-file-upload__success,
.tj-file-upload.is-error .tj-file-upload__filename {
    display: none;
}

.tj-file-upload.is-error .tj-file-upload__error-text {
    display: inline;
}

.tj-file-upload.is-error .tj-file-upload__icon-default,
.tj-file-upload.is-error .tj-file-upload__icon-progress,
.tj-file-upload.is-error .tj-file-upload__icon-success {
    display: none;
}

.tj-file-upload.is-error .tj-file-upload__icon-error {
    display: flex;
}

.tj-file-upload.is-error .tj-file-upload__progress {
    display: none;
}

.tj-file-upload.is-error .tj-file-upload__progress-percent {
    display: none;
}

.tj-file-upload.is-error .tj-file-upload__progress-text,
.tj-file-upload.is-error .tj-file-upload__progress-hint {
    display: none;
}

.tj-file-upload.is-uploading .tj-file-upload__prompt {
    display: none;
}

.tj-file-upload.is-uploading .tj-file-upload__status {
    display: flex;
}

.tj-file-upload.is-uploading .tj-file-upload__success,
.tj-file-upload.is-uploading .tj-file-upload__error-text {
    display: none;
}

.tj-file-upload.is-uploading .tj-file-upload__progress {
    display: none;
}

.tj-file-upload.is-uploading .tj-file-upload__progress {
    display: flex;
}

.tj-file-upload.is-uploading .tj-file-upload__icon-default {
    display: none;
}

.tj-file-upload.is-uploading .tj-file-upload__icon-progress {
    display: flex;
}

.tj-file-upload.is-uploading .tj-file-upload__icon-success,
.tj-file-upload.is-uploading .tj-file-upload__icon-error {
    display: none;
}

.tj-file-upload.is-uploading .tj-file-upload__progress-text,
.tj-file-upload.is-uploading .tj-file-upload__progress-hint {
    display: block;
}

/*.tj-file-upload.is-uploading .tj-file-upload__progress-text,*/
/*.tj-file-upload.is-uploading .tj-file-upload__progress-hint {*/
/*    display: none;*/
/*}*/

.tj-form__consent-images {
    max-height: 30rem;
    opacity: 1;
    transition: max-height var(--quote-motion) var(--quote-ease),
                opacity var(--quote-motion) var(--quote-ease),
                margin var(--quote-motion) var(--quote-ease);
}

.tj-form__consent-images.is-hidden {
    display: block !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-top: 0;
    pointer-events: none;
}

@keyframes tj-quote-card-in {
    from {
        opacity: 0;
        transform: translateY(0.4rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .tj-submit-quote .tj-quote-card,
    .tj-submit-quote .tj-quote-card[data-role~="quote-card-collapsed"],
    .tj-submit-quote .tj-quote-preview-card,
    .tj-notification,
    .tj-form-field__error,
    .tj-file-upload__area,
    .tj-file-upload__progress-current,
    .tj-file-upload__progress-text,
    .tj-form__consent-images {
        transition: none;
        animation: none;
    }
}

/* ============================================
   Add More Button
   ============================================ */

.tj-form__add-more {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.62rem;
    margin: 0 auto;
    padding: 0.81rem 1.21rem;
    background: none;
    border: none;
    border-radius: 5px;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--color-gray-900);
    cursor: pointer;
    transition: all 0.2s ease;
}

.tj-form__add-more:hover {
    background: var(--color-gray-100);
    color: var(--color-primary);
}

.tj-form__add-more svg {
    width: 0.62rem;
    height: 0.62rem;
    flex-shrink: 0;
}

/* ============================================
   Form Footer
   ============================================ */

.tj-form__footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5rem;
    margin-top: 1.56rem;
}

.tj-page__title {
    color: var(--Dark-gray, var(--color-gray-900));
    font-family: inherit;
    font-size: clamp(2.625rem, 3vw, 3rem);
    font-style: normal;
    font-weight: 600;
    line-height: 110%;
    margin: 0 0 2.81rem;
}

.tj-content {
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    font-weight: 400;
    line-height: 1.35;
    color: var(--color-gray-900);
    margin: 0;
}

.tj-content blockquote {
    font-weight: 600;
    border-left: 1px solid var(--color-accent);
    padding-left: 1.56rem;
    margin-left: 1.56rem;
}

.tj-content p, .tj-content ul, .tj-content blockquote, .tj-content ol, .tj-content h5, .tj-content h6 {
    margin-top: 0.94rem;
    margin-bottom: 0.94rem;
}

.tj-content h3 {
    font-family: inherit;
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 1.1;
}

.tj-content h2, .tj-content h3, .tj-content h4 {
    margin-top: 2.18rem;
    margin-bottom: 0.94rem;
}

.tj-content > *:first-child {
    margin-top: 0;
}

@media screen and (max-width: 768px) {
    .tj-footer__content {
        flex-direction: column-reverse;
    }

    .tj-footer__logo {
        max-height: 2.1875rem;
    }

    .tj-footer__slider {
        order: 1;
    }

    .tj-navigation {
        margin-top: 0;
    }

    .tj-form__footer {
        flex-direction: column;
        gap: 1.56rem;
    }

    .tj-quote-form .tj-form__submit {
        margin-left: auto;
    }

    .tj-submit-quote .tj-quote-preview__actions {
        width: 100%;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 0.94rem;
    }

}

@media screen and (max-width: 640px) {

    .tj-section__hero .tj-button,
    .tj-card__actions .tj-button {
        width: 100%;
    }

    .tj-form__row {
        grid-template-columns: 1fr;
    }

    .tj-form__actions {
        flex-direction: column;
    }

    .main .tj-button {
        width: 100%;
    }

}

@media screen and (max-width: 400px) {

    body, html {
        font-size: 13px;
    }
}
