@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/500.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/600.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/fira-sans@latest/700.css";

*,
::before,
::after {
    box-sizing: border-box
}

body {
    margin: 0;
    min-height: 100dvh;
    overflow-x: hidden;
    font-family: 'Fira Sans', sans-serif
}

:focus-visible {
    outline: 2px dashed #495757;
    outline-offset: 3px;
    animation: focus-spin 3s linear infinite
}

@keyframes focus-spin {
    0% {
        outline-offset: 3px
    }

    50% {
        outline-offset: 5px
    }

    100% {
        outline-offset: 3px
    }
}

.site-header {
    background: linear-gradient(135deg, #495757 0%, #3a4646 60%, #2e3838 100%);
    position: relative;
    z-index: 100;
    box-shadow: 0 7px 20px 0 #49575717
}

.header-top-bar {
    background: #ffffff0f;
    border-bottom: 1px solid #d2d2bf26
}

.header-top-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 6px 48px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px
}

.header-contact-item {
    font-size: 15px;
    color: #D2D2BF;
    line-height: 1.5;
    letter-spacing: .02em;
    text-decoration: none;
    transition: color .5s ease-in-out
}

.header-contact-item:hover {
    color: #fff
}

.header-region-tag {
    font-size: 15px;
    color: #D2D2BF;
    background: #8d705840;
    padding: 6px 12px;
    border-radius: 3px;
    letter-spacing: .04em;
    line-height: 1.3
}

.header-body {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px 48px;
    display: flex;
    align-items: stretch;
    gap: 48px
}

.brand-zone {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
    margin-left: 0
}

.logo-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 80px;
    background: #fff;
    border-radius: 8px;
    border-right: 4px solid #8D7058;
    box-shadow: 0 1px 6px 0 #4957570f 0 7px 20px 0 #49575717;
    overflow: hidden;
    flex-shrink: 0
}

.logo-frame img {
    width: 52px;
    height: 64px;
    object-fit: contain;
    display: block
}

.brand-text-group {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.brand-name {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -.01em
}

.brand-descriptor {
    font-size: 15px;
    color: #D2D2BF;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .03em
}

.header-nav-zone {
    display: flex;
    align-items: flex-end;
    flex: 1
}

.primary-nav {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap
}

.primary-nav li {
    display: flex
}

.primary-nav a {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    color: #D2D2BF;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 8px 8px 0 0;
    border: 1px solid transparent;
    border-bottom: none;
    line-height: 1.3;
    letter-spacing: .02em;
    transition: color .45s ease-in-out, background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s ease-in-out;
    position: relative
}

.primary-nav a:hover {
    color: #fff;
    background: #ffffff14;
    border-color: #d2d2bf33
}

.primary-nav a.active {
    color: #fff;
    background: #8d70584d;
    border-color: #8d705866;
    font-weight: 600
}

.primary-nav a.active::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: #8D7058;
    border-radius: 0
}

.site-footer {
    background: #2e3838;
    padding: 48px 0 24px
}

.footer-top {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 48px 48px;
    display: flex;
    align-items: flex-start;
    gap: 48px
}

.footer-logo-row {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 48px 48px;
    display: flex;
    align-items: center;
    gap: 24px
}

.footer-logo-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 70px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px 0 #4957570f 0 7px 20px 0 #49575717;
    overflow: hidden;
    flex-shrink: 0
}

.footer-logo-frame img {
    width: 46px;
    height: 58px;
    object-fit: contain;
    display: block
}

.footer-brand-label {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -.01em
}

.footer-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    flex: 1
}

.footer-nav-group {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.footer-group-label {
    font-size: 15px;
    font-weight: 600;
    color: #D2D2BF;
    letter-spacing: .06em;
    line-height: 1.3;
    text-transform: uppercase;
    margin-bottom: 6px
}

.footer-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.footer-nav-list a {
    font-size: 15px;
    color: #d2d2bfbf;
    text-decoration: none;
    line-height: 1.5;
    letter-spacing: .02em;
    transition: color .5s ease-in-out
}

.footer-nav-list a:hover {
    color: #fff
}

.footer-contact-group {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.footer-contact-entry {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.footer-contact-label {
    font-size: 15px;
    font-weight: 600;
    color: #D2D2BF;
    letter-spacing: .04em;
    line-height: 1.3
}

.footer-contact-value {
    font-size: 15px;
    color: #d2d2bfbf;
    line-height: 1.5;
    letter-spacing: .02em;
    text-decoration: none;
    transition: color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.footer-contact-value:hover {
    color: #fff
}

.footer-bottom {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px 48px 0;
    border-top: 1px solid #d2d2bf1a;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap
}

.footer-copy {
    font-size: 15px;
    color: #d2d2bf80;
    line-height: 1.5;
    letter-spacing: .02em
}

.footer-address-inline {
    font-size: 15px;
    color: #d2d2bf80;
    line-height: 1.5;
    letter-spacing: .02em
}

@media (max-width: 768px) {
    .header-top-inner {
        padding: 6px 24px;
        gap: 12px
    }

    .header-body {
        padding: 24px;
        gap: 24px;
        flex-direction: column;
        align-items: flex-start
    }

    .header-nav-zone {
        align-items: flex-start;
        width: 100%
    }

    .primary-nav {
        gap: 6px
    }

    .primary-nav a {
        padding: 12px 16px;
        font-size: 15px;
        border-radius: 8px;
        border: 1px solid #d2d2bf26
    }

    .footer-top {
        padding: 0 24px 48px;
        flex-direction: column
    }

    .footer-logo-row {
        padding: 0 24px 24px
    }

    .footer-columns {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .footer-bottom {
        padding: 24px 24px 0;
        flex-direction: column;
        align-items: flex-start
    }
}

@media (max-width: 375px) {
    .header-top-bar {
        display: none
    }

    .header-body {
        padding: 24px 12px
    }

    .brand-name {
        font-size: 16px
    }

    .footer-top {
        padding: 0 12px 24px
    }

    .footer-logo-row {
        padding: 0 12px 24px
    }

    .footer-bottom {
        padding: 24px 12px 0
    }
}

.terms-section {
    max-width: 1140px;
    margin: 0 auto;
    padding: 48px 24px
}

.terms-section p {
    font-size: 16px;
    line-height: 1.7;
    color: #2a2a2a;
    margin-bottom: 24px;
    letter-spacing: .01em
}

.terms-section ul,
.terms-section ol {
    margin: 0 0 24px;
    padding-left: 24px
}

.terms-section li {
    font-size: 16px;
    line-height: 1.7;
    color: #2a2a2a;
    margin-bottom: 6px;
    letter-spacing: .01em
}

.terms-section ul li {
    list-style-type: disc
}

.terms-section ol li {
    list-style-type: decimal
}

.terms-section ul ul,
.terms-section ol ol,
.terms-section ul ol,
.terms-section ol ul {
    margin-top: 6px;
    margin-bottom: 6px
}

.terms-section strong,
.terms-section b {
    font-weight: 700;
    color: #495757
}

.terms-section em,
.terms-section i {
    font-style: italic;
    color: #3a3a3a
}

.terms-section hr {
    border: none;
    border-top: 1px solid #D2D2BF;
    margin: 48px 0
}

.terms-section div {
    margin-bottom: 24px
}

@media (max-width: 768px) {
    .terms-section {
        padding: 24px 12px
    }

    .terms-section p,
    .terms-section li {
        font-size: 15px
    }
}

@media (max-width: 375px) {
    .terms-section {
        padding: 24px 6px
    }
}

.contact-us-page {
    background: #fff;
    overflow-x: clip
}

.contact-us-page .reach-block {
    max-width: 1140px;
    margin: 0 auto;
    padding: 48px 24px
}

.contact-us-page .reach-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.contact-us-page .reach-left {
    position: relative
}

.contact-us-page .reach-label {
    display: inline-block;
    background: #495757;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .08em;
    padding: 6px 12px;
    border-radius: 3px;
    margin-bottom: 24px
}

.contact-us-page .reach-heading {
    font-size: 64px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #1b2424;
    margin: 0 0 24px;
    background: linear-gradient(to top, #495757, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.contact-us-page .reach-description {
    font-size: 20px;
    line-height: 1.7;
    color: #3a4545;
    margin: 0 0 48px
}

.contact-us-page .contact-details-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.contact-us-page .contact-details-list li {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.contact-us-page .detail-label {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .06em;
    color: #8D7058;
    text-transform: uppercase
}

.contact-us-page .detail-value {
    font-size: 16px;
    line-height: 1.5;
    color: #2a3535
}

.contact-us-page .detail-value a {
    color: #2a3535;
    text-decoration: none;
    border-bottom: 1px solid #D2D2BF;
    transition: color .5s ease-in-out, border-color .55s ease-in-out
}

.contact-us-page .detail-value a:hover {
    color: #8D7058;
    border-color: #8D7058
}

.contact-us-page .image-offset-block {
    position: relative;
    padding-top: 48px
}

.contact-us-page .image-frame {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 9px 60px 0 #49575721
}

.contact-us-page .image-frame img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.contact-us-page .image-frame:hover img {
    transform: scale(1.04)
}

.contact-us-page .image-badge {
    position: absolute;
    top: 24px;
    right: -12px;
    background: #8D7058;
    color: #fff;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.3;
    box-shadow: 0 7px 20px 0 #8d705817
}

.contact-us-page .corner-deco {
    position: absolute;
    bottom: -12px;
    left: -12px;
    width: 64px;
    height: 64px;
    pointer-events: none
}

.contact-us-page .corner-deco svg {
    width: 64px;
    height: 64px
}

.contact-us-page .zigzag-divider {
    width: 100%;
    overflow: hidden;
    line-height: 0
}

.contact-us-page .zigzag-divider svg {
    display: block;
    width: 100%
}

.contact-us-page .form-area {
    background: linear-gradient(to top, #f5f4f0, #fff);
    padding: 48px 24px
}

.contact-us-page .form-inner {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 48px;
    align-items: start
}

.contact-us-page .form-context {
    padding-top: 12px
}

.contact-us-page .form-context-heading {
    font-size: 24px;
    line-height: 1.3;
    color: #1b2424;
    margin: 0 0 24px;
    background: linear-gradient(to top, #8D7058, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.contact-us-page .form-context-text {
    font-size: 16px;
    line-height: 1.7;
    color: #3a4545;
    margin: 0 0 24px
}

.contact-us-page .hours-block {
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 1px 6px 0 #4957570f
}

.contact-us-page .hours-title {
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .06em;
    color: #8D7058;
    text-transform: uppercase;
    margin: 0 0 12px
}

.contact-us-page .hours-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 15px;
    line-height: 1.5;
    color: #3a4545;
    padding: 6px 0;
    border-bottom: 1px solid #D2D2BF
}

.contact-us-page .hours-row:last-child {
    border-bottom: none
}

.contact-us-page .contact-form {
    background: #fff;
    border-radius: 16px;
    padding: 48px;
    box-shadow: 0 9px 60px 0 #49575721
}

.contact-us-page .form-group {
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.contact-us-page .form-group label {
    font-size: 15px;
    line-height: 1.3;
    color: #495757;
    letter-spacing: .04em
}

.contact-us-page .form-group input[type="text"],
.contact-us-page .form-group input[type="tel"],
.contact-us-page .form-group select {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    line-height: 1.5;
    color: #1b2424;
    background: #fafbfb;
    border: 1px solid #D2D2BF;
    border-radius: 8px;
    box-shadow: inset 0 1px 4px 0 #4957570f;
    transition: border-color .5s ease-in-out, box-shadow .55s ease-in-out;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    box-sizing: border-box
}

.contact-us-page .form-group input::placeholder {
    color: #8fa0a0
}

.contact-us-page .form-group input[type="text"]:focus,
.contact-us-page .form-group input[type="tel"]:focus,
.contact-us-page .form-group select:focus {
    border-color: #8D7058;
    box-shadow: inset 0 1px 4px 0 #8d705817
}

.contact-us-page .channel-group {
    margin-bottom: 24px
}

.contact-us-page .channel-group-label {
    font-size: 15px;
    line-height: 1.3;
    color: #495757;
    letter-spacing: .04em;
    display: block;
    margin-bottom: 12px
}

.contact-us-page .channel-options {
    display: flex;
    flex-direction: row;
    gap: 12px;
    flex-wrap: wrap
}

.contact-us-page .channel-option {
    position: relative
}

.contact-us-page .channel-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.contact-us-page .channel-option label {
    display: inline-block;
    padding: 6px 24px;
    border: 1px solid #D2D2BF;
    border-radius: 28px;
    font-size: 15px;
    line-height: 1.5;
    color: #495757;
    cursor: pointer;
    transition: border-color .5s ease-in-out, background .5s ease-in-out, color .5s ease-in-out;
    background: #fff
}

.contact-us-page .channel-option input[type="radio"]:checked+label {
    background: #495757;
    border-color: #495757;
    color: #fff
}

.contact-us-page .channel-option label:hover {
    border-color: #8D7058;
    color: #8D7058
}

.contact-us-page .channel-option input[type="radio"]:checked+label:hover {
    background: #495757;
    border-color: #495757;
    color: #fff
}

.contact-us-page .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px
}

.contact-us-page .privacy-row input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: #495757;
    width: 16px;
    height: 16px;
    cursor: pointer
}

.contact-us-page .privacy-text {
    font-size: 15px;
    line-height: 1.5;
    color: #3a4545
}

.contact-us-page .privacy-text a {
    color: #8D7058;
    text-decoration: none;
    border-bottom: 1px solid #D2D2BF;
    transition: border-color .5s ease-in-out
}

.contact-us-page .privacy-text a:hover {
    border-color: #8D7058
}

.contact-us-page .submit-btn {
    width: 100%;
    padding: 12px 24px;
    background: #495757;
    color: #fff;
    border: 2px solid #495757;
    border-radius: 8px;
    font-size: 16px;
    line-height: 1.5;
    cursor: pointer;
    transition: border-color .5s ease-in-out, background .55s ease-in-out;
    letter-spacing: .04em
}

.contact-us-page .submit-btn:hover {
    border-color: #8D7058;
    background: #3d4a4a
}

.contact-us-page .submit-btn:focus {
    outline: 2px solid #8D7058;
    outline-offset: 2px
}

.contact-us-page .submit-btn:active {
    background: #2e3939
}

.contact-us-page .select-wrapper {
    position: relative
}

.contact-us-page .select-wrapper::after {
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #495757;
    pointer-events: none
}

@keyframes rowReveal {
    from {
        opacity: 0;
        transform: translateY(16px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.contact-us-page .reach-left {
    animation: rowReveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.contact-us-page .image-offset-block {
    animation: rowReveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .1s both
}

.contact-us-page .form-context {
    animation: rowReveal .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .15s both
}

.contact-us-page .contact-form {
    animation: rowReveal .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .2s both
}

@media (max-width: 768px) {
    .contact-us-page .reach-grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .contact-us-page .form-inner {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .contact-us-page .reach-heading {
        font-size: 24px
    }

    .contact-us-page .contact-form {
        padding: 24px
    }

    .contact-us-page .image-badge {
        right: 6px
    }
}

@media (max-width: 375px) {
    .contact-us-page .reach-block {
        padding: 24px 12px
    }

    .contact-us-page .form-area {
        padding: 24px 12px
    }

    .contact-us-page .channel-options {
        flex-direction: column
    }

    .contact-us-page .contact-form {
        padding: 12px
    }
}

.about-us-page {
    background-color: #fff;
    color: #2c3333;
    overflow-x: hidden
}

.about-us-page .story-split {
    max-width: 1140px;
    margin: 0 auto;
    padding: 72px 24px 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.about-us-page .story-text-zone {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.about-us-page .story-label {
    font-size: 15px;
    letter-spacing: .08em;
    color: #8D7058;
    text-transform: uppercase;
    line-height: 1.3
}

.about-us-page .story-heading {
    font-size: 64px;
    line-height: 1.1;
    letter-spacing: -.02em;
    margin: 0;
    background: linear-gradient(to top, #495757, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.about-us-page .story-lead {
    font-size: 20px;
    line-height: 1.5;
    color: #3a4444;
    margin: 0
}

.about-us-page .story-body {
    font-size: 16px;
    line-height: 1.7;
    color: #495757;
    margin: 0
}

.about-us-page .story-dashed-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0
}

.about-us-page .dashed-connector {
    flex: 1;
    border-top: 1px dashed #D2D2BF;
    max-width: 80px
}

.about-us-page .story-cta {
    display: inline-block;
    padding: 12px 24px;
    background-color: #495757;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #495757;
    transition: border-color .5s ease-in-out, color .55s ease-in-out
}

.about-us-page .story-cta:hover {
    border-color: #8D7058;
    color: #fff
}

.about-us-page .story-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 12px;
    position: relative
}

.about-us-page .mosaic-glow-bg {
    position: absolute;
    inset: -6px;
    border-radius: 16px;
    background: linear-gradient(to top, #8d70581a, #fff0);
    pointer-events: none;
    z-index: 0
}

.about-us-page .mosaic-image-wrap {
    overflow: hidden;
    border-radius: 8px;
    position: relative;
    z-index: 1;
    box-shadow: 0 7px 20px 0 #49575717
}

.about-us-page .mosaic-image-wrap.tall {
    grid-row: span 2
}

.about-us-page .mosaic-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.about-us-page .mosaic-image-wrap img:hover {
    transform: scale(1.04)
}

.about-us-page .mosaic-image-wrap.tall img {
    min-height: 320px
}

.about-us-page .mosaic-image-wrap.short img {
    height: 180px
}

.about-us-page .story-divider {
    height: 1px;
    background: linear-gradient(to right, #D2D2BF, #fff0);
    max-width: 1140px;
    margin: 0 auto
}

.about-us-page .team-section {
    background: linear-gradient(to top, #f5f4f0, #fff);
    animation: bg-warmcool 9s ease-in-out infinite;
    padding: 48px 24px
}

@keyframes bg-warmcool {
    0% {
        background-color: #f5f4f0
    }

    50% {
        background-color: #f0ede8
    }

    100% {
        background-color: #f5f4f0
    }
}

.about-us-page .team-inner {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

.about-us-page .team-heading-block {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px
}

.about-us-page .team-heading {
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: -.01em;
    margin: 0;
    background: linear-gradient(to top, #495757, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.about-us-page .team-sub {
    font-size: 16px;
    line-height: 1.7;
    color: #495757;
    margin: 0
}

.about-us-page .team-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.about-us-page .team-card {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 1px 6px 0 #4957570f;
    transition: box-shadow .5s ease-in-out
}

.about-us-page .team-card:hover {
    box-shadow: 0 9px 60px 0 #49575721
}

.about-us-page .portrait-wrap {
    width: 80px;
    height: 112px;
    border-radius: 28px;
    overflow: hidden;
    flex-shrink: 0
}

.about-us-page .portrait-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .6s ease-in-out
}

.about-us-page .portrait-wrap img:hover {
    transform: scale(1.05)
}

.about-us-page .team-card-name {
    font-size: 16px;
    line-height: 1.3;
    color: #2c3333;
    margin: 0;
    font-weight: 600
}

.about-us-page .team-card-role {
    font-size: 15px;
    line-height: 1.3;
    color: #8D7058;
    margin: 0
}

.about-us-page .team-card-bio {
    font-size: 15px;
    line-height: 1.7;
    color: #495757;
    margin: 0
}

.about-us-page .team-card-no-portrait {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 1px 6px 0 #4957570f;
    transition: box-shadow .5s ease-in-out;
    border-top: 3px solid #D2D2BF
}

.about-us-page .team-card-no-portrait:hover {
    box-shadow: 0 9px 60px 0 #49575721
}

.about-us-page .avatar-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: #D2D2BF;
    display: flex;
    align-items: center;
    justify-content: center
}

.about-us-page .avatar-initials {
    font-size: 16px;
    line-height: 1.1;
    color: #495757;
    font-weight: 700
}

.about-us-page .metrics-strip {
    max-width: 1140px;
    margin: 0 auto;
    padding: 48px 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.about-us-page .metric-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 24px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 6px 0 #4957570f;
    animation: shadow-pulse 4s ease-in-out infinite
}

.about-us-page .metric-item:nth-child(2) {
    animation-delay: 1.3s
}

.about-us-page .metric-item:nth-child(3) {
    animation-delay: 2.6s
}

@keyframes shadow-pulse {

    0%,
    100% {
        box-shadow: 0 1px 6px 0 #4957570f
    }

    50% {
        box-shadow: 0 9px 60px 0 #49575721
    }
}

.about-us-page .metric-number {
    font-size: 64px;
    line-height: 1.1;
    letter-spacing: -.03em;
    color: #495757;
    font-weight: 700
}

.about-us-page .metric-label {
    font-size: 15px;
    line-height: 1.5;
    color: #8D7058
}

.about-us-page .metric-desc {
    font-size: 15px;
    line-height: 1.5;
    color: #495757
}

.about-us-page .process-section {
    padding: 48px 24px;
    background: #fff
}

.about-us-page .process-inner {
    max-width: 1140px;
    margin: 0 auto
}

.about-us-page .process-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-bottom: 48px;
    align-items: end
}

.about-us-page .process-heading {
    font-size: 24px;
    line-height: 1.3;
    margin: 0;
    background: linear-gradient(to top, #495757, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.about-us-page .process-intro {
    font-size: 16px;
    line-height: 1.7;
    color: #495757;
    margin: 0
}

.about-us-page .process-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    position: relative
}

.about-us-page .process-dashed-line {
    position: absolute;
    top: 28px;
    left: calc(16.66% + 12px);
    right: calc(16.66% + 12px);
    border-top: 1px dashed #D2D2BF;
    pointer-events: none
}

.about-us-page .step-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    border-radius: 16px;
    background: #f5f4f0;
    transition: background .5s ease-in-out
}

.about-us-page .step-card:hover {
    background: #ede9e3
}

.about-us-page .step-number {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #495757;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1.1;
    font-weight: 700;
    flex-shrink: 0
}

.about-us-page .step-title {
    font-size: 16px;
    line-height: 1.3;
    color: #2c3333;
    margin: 0;
    font-weight: 600
}

.about-us-page .step-text {
    font-size: 15px;
    line-height: 1.7;
    color: #495757;
    margin: 0
}

.about-us-page .image-band {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px 48px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 12px
}

.about-us-page .band-image-wrap {
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 7px 20px 0 #49575717
}

.about-us-page .band-image-wrap img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    filter: grayscale(60%) sepia(20%)
}

.about-us-page .band-image-wrap img:hover {
    transform: scale(1.04);
    filter: grayscale(20%) sepia(10%)
}

.about-us-page .contact-section {
    background: linear-gradient(to top, #f0ede8, #fff);
    padding: 48px 24px
}

.about-us-page .contact-inner {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start
}

.about-us-page .contact-text-block {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.about-us-page .contact-heading {
    font-size: 24px;
    line-height: 1.3;
    margin: 0;
    background: linear-gradient(to top, #495757, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.about-us-page .contact-body {
    font-size: 16px;
    line-height: 1.7;
    color: #495757;
    margin: 0
}

.about-us-page .contact-details-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0
}

.about-us-page .contact-details-list li {
    font-size: 15px;
    line-height: 1.5;
    color: #495757;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.about-us-page .contact-details-list strong {
    color: #2c3333;
    font-size: 15px
}

.about-us-page .contact-details-list a {
    color: #8D7058;
    text-decoration: none;
    transition: color .5s ease-in-out
}

.about-us-page .contact-details-list a:hover {
    color: #495757
}

.about-us-page .contact-form-block {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 7px 20px 0 #49575717;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.about-us-page .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.about-us-page .form-group {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.about-us-page .form-label {
    font-size: 15px;
    line-height: 1.3;
    color: #2c3333;
    font-weight: 600
}

.about-us-page .form-input {
    font-size: 15px;
    line-height: 1.5;
    color: #2c3333;
    background: #fff;
    border: 1px solid #D2D2BF;
    border-radius: 8px;
    padding: 12px;
    outline: none;
    transition: border-color .5s ease-in-out;
    box-shadow: inset 0 1px 4px #4957570f;
    width: 100%;
    box-sizing: border-box
}

.about-us-page .form-input::placeholder {
    color: #a0a89a
}

.about-us-page .form-input:focus {
    border-color: #8D7058
}

.about-us-page .checkboxes-group {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.about-us-page .checkboxes-label {
    font-size: 15px;
    line-height: 1.3;
    color: #2c3333;
    font-weight: 600
}

.about-us-page .checkbox-item {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer
}

.about-us-page .checkbox-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #495757;
    flex-shrink: 0;
    cursor: pointer
}

.about-us-page .checkbox-item-label {
    font-size: 15px;
    line-height: 1.5;
    color: #495757;
    cursor: pointer
}

.about-us-page .privacy-row {
    display: flex;
    align-items: flex-start;
    gap: 12px
}

.about-us-page .privacy-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #495757;
    flex-shrink: 0;
    margin-top: 2px;
    cursor: pointer
}

.about-us-page .privacy-text {
    font-size: 15px;
    line-height: 1.5;
    color: #495757
}

.about-us-page .privacy-text a {
    color: #8D7058;
    text-decoration: underline;
    transition: color .5s ease-in-out
}

.about-us-page .privacy-text a:hover {
    color: #495757
}

.about-us-page .submit-btn {
    display: inline-block;
    padding: 12px 24px;
    background-color: #495757;
    color: #fff;
    font-size: 16px;
    line-height: 1.3;
    border-radius: 8px;
    border: 2px solid #495757;
    cursor: pointer;
    transition: border-color .55s ease-in-out;
    width: 100%
}

.about-us-page .submit-btn:hover {
    border-color: #8D7058
}

.about-us-page .submit-btn:focus {
    outline: 2px solid #8D7058;
    outline-offset: 2px
}

@media (max-width: 1366px) {
    .about-us-page .story-heading {
        font-size: 48px
    }
}

@media (max-width: 768px) {
    .about-us-page .story-split {
        grid-template-columns: 1fr;
        padding: 48px 24px 24px
    }

    .about-us-page .story-heading {
        font-size: 36px
    }

    .about-us-page .story-mosaic {
        grid-template-columns: 1fr 1fr
    }

    .about-us-page .team-inner {
        grid-template-columns: 1fr
    }

    .about-us-page .team-heading-block {
        position: static
    }

    .about-us-page .team-cards {
        grid-template-columns: 1fr
    }

    .about-us-page .metrics-strip {
        grid-template-columns: 1fr
    }

    .about-us-page .process-header {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .about-us-page .process-steps {
        grid-template-columns: 1fr
    }

    .about-us-page .process-dashed-line {
        display: none
    }

    .about-us-page .image-band {
        grid-template-columns: 1fr
    }

    .about-us-page .contact-inner {
        grid-template-columns: 1fr
    }

    .about-us-page .form-row {
        grid-template-columns: 1fr
    }

    .about-us-page .metric-number {
        font-size: 48px
    }
}

@media (max-width: 375px) {
    .about-us-page .story-heading {
        font-size: 28px
    }

    .about-us-page .story-mosaic {
        grid-template-columns: 1fr
    }

    .about-us-page .mosaic-image-wrap.tall {
        grid-row: span 1
    }
}

.opening {
    max-width: 100%;
    overflow-x: hidden
}

.opening .page-limit {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px
}

.opening .gradient-text {
    background: linear-gradient(to top, #495757, #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.opening .title-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    background: #f5f5f0;
    position: relative
}

.opening .title-text-zone {
    padding: 48px 48px 96px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 1
}

.opening .title-decoration {
    position: absolute;
    top: 24px;
    left: 24px;
    width: 120px;
    height: 120px;
    border: 2px solid #D2D2BF;
    border-radius: 28px;
    pointer-events: none
}

.opening .title-decoration::after {
    content: '';
    display: block;
    position: absolute;
    top: 8px;
    left: 8px;
    width: 60px;
    height: 60px;
    border: 1px solid #8D7058;
    border-radius: 16px;
    opacity: .5
}

.opening .title-label {
    display: inline-block;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: .08em;
    color: #8D7058;
    background: #D2D2BF;
    padding: 6px 12px;
    border-radius: 3px;
    margin-bottom: 24px;
    width: fit-content
}

.opening .title-heading {
    font-size: 64px;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: #495757;
    margin: 0 0 24px
}

.opening .title-image-zone {
    position: relative;
    overflow: hidden
}

.opening .title-image-zone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: blur(0px);
    transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opening .title-image-zone:hover img {
    transform: scale(1.06) translateX(-12px)
}

.opening .title-image-zone::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #f5f5f0 0%, transparent 30%);
    pointer-events: none
}

.opening .divider-curve {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #f5f5f0
}

.opening .divider-curve svg {
    display: block;
    width: 100%
}

.opening .team-block {
    background: #fff;
    padding: 48px 0
}

.opening .team-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start
}

.opening .team-sidebar {
    position: sticky;
    top: 24px
}

.opening .team-portrait-frame {
    width: 100%;
    aspect-ratio: 5/7;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0 9px 60px 0 #49575721;
    margin-bottom: 24px
}

.opening .team-portrait-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opening .team-portrait-frame:hover img {
    transform: translateY(-8px)
}

.opening .team-name-tag {
    font-size: 20px;
    line-height: 1.3;
    color: #495757;
    margin: 0 0 6px
}

.opening .team-role-tag {
    font-size: 15px;
    line-height: 1.5;
    color: #8D7058;
    background: #D2D2BF;
    display: inline-block;
    padding: 6px 12px;
    border-radius: 3px
}

.opening .team-right {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.opening .team-heading {
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: #495757;
    margin: 0 0 12px
}

.opening .team-intro-paragraph {
    font-size: 20px;
    line-height: 1.7;
    color: #3a4a4a;
    margin: 0 0 12px
}

.opening .team-body-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #495757;
    margin: 0
}

.opening .team-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 12px
}

.opening .metric-item {
    background: #f5f5f0;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 1px 6px 0 #4957570f;
    transition: box-shadow .5s ease-in-out, background .5s ease-in-out
}

.opening .metric-item:hover {
    box-shadow: 0 7px 20px 0 #49575717;
    background: #eeeee5
}

.opening .metric-number {
    font-size: 64px;
    line-height: 1.1;
    letter-spacing: -.03em;
    color: #495757;
    display: block;
    margin-bottom: 6px
}

.opening .metric-label {
    font-size: 15px;
    line-height: 1.5;
    color: #8D7058
}

.opening .pull-quote {
    font-size: 20px;
    line-height: 1.5;
    color: #495757;
    border-top: 2px solid #D2D2BF;
    border-bottom: 2px solid #D2D2BF;
    padding: 24px 0;
    margin: 12px 0;
    font-style: italic
}

.opening .divider-curve-2 {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #fff
}

.opening .journey-block {
    background: #495757;
    padding: 48px 0;
    position: relative;
    overflow: hidden
}

.opening .journey-block::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(ellipse at center, #d2d2bf1f 0%, transparent 70%);
    pointer-events: none
}

.opening .journey-heading {
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: #D2D2BF;
    margin: 0 0 48px;
    text-align: center
}

.opening .journey-phases {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    position: relative
}

.opening .journey-phases::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 48px;
    right: 48px;
    height: 1px;
    background: linear-gradient(to right, transparent, #D2D2BF, transparent);
    animation: line-draw .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
    transform-origin: left center
}

@keyframes line-draw {
    from {
        transform: scaleX(0);
        opacity: 0
    }

    to {
        transform: scaleX(1);
        opacity: 1
    }
}

.opening .phase-card {
    background: #ffffff0f;
    border-radius: 16px;
    padding: 24px;
    position: relative;
    transition: background .55s ease-in-out;
    overflow: hidden
}

.opening .phase-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, transparent, transparent 20px, #8d705814 20px, #8d705814 22px);
    opacity: 0;
    transition: opacity .5s ease-in-out;
    border-radius: 16px;
    pointer-events: none
}

.opening .phase-card:hover {
    background: #ffffff1c
}

.opening .phase-card:hover::after {
    opacity: 1
}

.opening .phase-dot {
    width: 16px;
    height: 16px;
    background: #8D7058;
    border-radius: 50%;
    margin-bottom: 24px;
    position: relative;
    z-index: 1
}

.opening .phase-number {
    font-size: 64px;
    line-height: 1.1;
    color: #d2d2bf26;
    letter-spacing: -.04em;
    position: absolute;
    top: 12px;
    right: 12px;
    pointer-events: none
}

.opening .phase-title {
    font-size: 16px;
    line-height: 1.3;
    color: #D2D2BF;
    margin: 0 0 12px
}

.opening .phase-text {
    font-size: 15px;
    line-height: 1.7;
    color: #d2d2bfbf;
    margin: 0
}

.opening .journey-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 48px
}

.opening .journey-image-frame {
    border-radius: 8px;
    overflow: hidden;
    height: 240px;
    box-shadow: 0 7px 20px 0 #49575717
}

.opening .journey-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opening .journey-image-frame:hover img {
    transform: scale(1.07) translateY(-6px)
}

.opening .divider-curve-3 {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: #495757
}

.opening .experience-block {
    background: #f5f5f0;
    padding: 48px 0
}

.opening .experience-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: start
}

.opening .experience-heading {
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: #495757;
    margin: 0 0 24px
}

.opening .experience-story {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.opening .story-paragraph-large {
    font-size: 20px;
    line-height: 1.7;
    color: #3a4a4a;
    margin: 0
}

.opening .story-paragraph {
    font-size: 16px;
    line-height: 1.7;
    color: #495757;
    margin: 0
}

.opening .story-attribution {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 12px
}

.opening .story-person-name {
    font-size: 16px;
    line-height: 1.3;
    color: #495757;
    margin: 0
}

.opening .story-person-detail {
    font-size: 15px;
    line-height: 1.5;
    color: #8D7058;
    background: #D2D2BF;
    display: inline-block;
    padding: 6px 12px;
    border-radius: 3px;
    width: fit-content
}

.opening .experience-aside {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.opening .aside-image-frame {
    border-radius: 8px;
    overflow: hidden;
    height: 280px;
    box-shadow: 0 9px 60px 0 #8d705821
}

.opening .aside-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .58s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.opening .aside-image-frame:hover img {
    transform: translateX(8px)
}

.opening .aside-callout {
    background: #495757;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 7px 20px 0 #49575717
}

.opening .aside-callout-text {
    font-size: 16px;
    line-height: 1.7;
    color: #D2D2BF;
    margin: 0 0 12px
}

.opening .aside-callout-link {
    display: inline-block;
    font-size: 15px;
    line-height: 1.3;
    color: #D2D2BF;
    background: #8D7058;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #8D7058;
    transition: border-color .48s ease-in-out, color .48s ease-in-out
}

.opening .aside-callout-link:hover {
    border-color: #D2D2BF;
    color: #fff
}

@media (max-width: 1366px) {
    .opening .title-heading {
        font-size: 48px
    }

    .opening .metric-number {
        font-size: 48px
    }
}

@media (max-width: 768px) {
    .opening .title-block {
        grid-template-columns: 1fr
    }

    .opening .title-image-zone {
        height: 260px
    }

    .opening .title-text-zone {
        padding: 48px 24px
    }

    .opening .title-heading {
        font-size: 36px
    }

    .opening .team-grid {
        grid-template-columns: 1fr
    }

    .opening .team-sidebar {
        position: static
    }

    .opening .team-portrait-frame {
        max-width: 280px
    }

    .opening .team-metrics {
        grid-template-columns: 1fr 1fr
    }

    .opening .journey-phases {
        grid-template-columns: 1fr 1fr
    }

    .opening .journey-images {
        grid-template-columns: 1fr
    }

    .opening .experience-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 375px) {
    .opening .title-heading {
        font-size: 28px
    }

    .opening .team-metrics {
        grid-template-columns: 1fr
    }

    .opening .journey-phases {
        grid-template-columns: 1fr
    }

    .opening .journey-phases::before {
        display: none
    }

    .opening .metric-number {
        font-size: 36px
    }
}

.success-page {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    background: #fff
}

.success-page .success-wrapper {
    max-width: 560px;
    width: 100%;
    text-align: center
}

.success-page .success-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center
}

.success-page .success-icon svg {
    width: 72px;
    height: 72px
}

.success-page .success-heading {
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: #495757;
    margin: 0 0 12px;
    background: linear-gradient(to top, #8D7058, #495757);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.success-page .success-body {
    font-size: 16px;
    line-height: 1.7;
    color: #495757;
    margin: 0 0 48px;
    opacity: .85
}

.success-page .success-divider {
    width: 48px;
    height: 3px;
    background: #D2D2BF;
    border-radius: 3px;
    margin: 0 auto 48px
}

.success-page .success-link {
    display: inline-block;
    padding: 12px 24px;
    font-size: 15px;
    line-height: 1.5;
    color: #fff;
    background: #495757;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #495757;
    transition: border-color .5s ease-in-out, color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 7px 20px 0 #49575717
}

.success-page .success-link:hover {
    border-color: #8D7058;
    color: #fff
}

.success-page .success-link:focus {
    outline: 2px solid #8D7058;
    outline-offset: 4px
}

@media (max-width: 768px) {
    .success-page {
        padding: 48px 24px
    }

    .success-page .success-heading {
        font-size: 20px
    }
}

@media (max-width: 375px) {
    .success-page {
        padding: 24px 12px
    }
}