html {
    font-size: 100%;
    scroll-behavior: smooth
}

body {
    margin: 0
}

:focus-visible {
    outline: 3px solid #A62E32;
    outline-offset: 3px
}

.topbar {
    background: #A62E32;
    padding: 8px 36px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 36px
}

.topbar-contact {
    display: flex;
    align-items: center;
    gap: 16px
}

@media (max-width: 635px){
    .topbar-contact {
        flex-direction: column;
    }
}

.topbar-link {
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 300;
    color: #E5E3D0;
    text-decoration: none;
    letter-spacing: .04em;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.topbar-link:hover {
    color: #fff
}

.topbar-link .mdi {
    font-size: 16px;
    color: #CAA47E
}

.topbar-divider {
    width: 1px;
    height: 16px;
    background: #caa47e59
}

.sitehead {
    background: linear-gradient(135deg, #E5E3D0 0%, #f5f4ee 60%, #ede9d8 100%);
    border-bottom: 2px solid #CAA47E;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.sitehead-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    min-height: 88px
}

.navleft {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    justify-content: flex-end
}

.navright {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 1;
    justify-content: flex-start
}

.logobox {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 8px 16px;
    background: #fff;
    border-radius: 12px;
    box-shadow: -1px 2px 3px 1px #a62e320d -1px 7px 25px 1px #a62e3217;
    border: 1.5px solid #caa47e80;
    text-decoration: none
}

.logobox img {
    display: block;
    object-fit: contain
}

.navitem {
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 600;
    color: #3a1a1c;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 6px;
    letter-spacing: .02em;
    white-space: nowrap;
    transition: background .25s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative
}

.navitem:hover {
    background: #a62e3217;
    color: #A62E32
}

.navitem.active {
    color: #A62E32;
    background: #a62e3212
}

.navitem-cta {
    background: linear-gradient(90deg, #A62E32 0%, #c0393e 100%);
    color: #fff;
    border-radius: 36px;
    padding: 8px 16px;
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: .03em;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: -1px 2px 3px 1px #a62e320d;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), padding .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.navitem-cta:hover {
    box-shadow: -1px 7px 25px 1px #a62e3217;
    padding-left: 20px;
    padding-right: 20px;
    color: #fff
}

.navitem-cta .mdi {
    font-size: 16px
}

.announce-strip {
    background: linear-gradient(90deg, #CAA47E 0%, #b8905f 50%, #CAA47E 100%);
    padding: 8px 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.announce-text {
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 600;
    color: #2a1008;
    letter-spacing: .04em;
    text-align: center
}

.announce-badge {
    background: #A62E32;
    color: #E5E3D0;
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 700;
    padding: 4px 16px;
    border-radius: 48px;
    letter-spacing: .06em;
    white-space: nowrap
}

.sitefooter {
    background: linear-gradient(160deg, #2a1008 0%, #3d1a1e 60%, #2a1008 100%);
    padding: 72px 36px 36px
}

.sitefooter-inner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px
}

.footer-logobox {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 36px;
    background: #fff;
    border-radius: 12px;
    box-shadow: -1px 10px 36px 1px #a62e3224;
    border: 2px solid #caa47e66
}

.footer-logobox img {
    display: block;
    object-fit: contain
}

.footer-brand-desc {
    font-family: 'Source Code Pro', monospace;
    font-size: 16px;
    font-weight: 300;
    color: #E5E3D0;
    line-height: 1.7;
    text-align: center;
    max-width: 480px;
    letter-spacing: .02em
}

.footer-contact-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 400;
    color: #CAA47E;
    text-decoration: none;
    letter-spacing: .03em;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer-contact-item:hover {
    color: #E5E3D0
}

.footer-contact-item .mdi {
    font-size: 16px;
    color: #A62E32
}

.footer-contact-label {
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 300;
    color: #e5e3d08c;
    letter-spacing: .04em;
    margin-right: 4px
}

.footer-divider {
    width: 100%;
    max-width: 600px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #caa47e59, transparent)
}

.footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    width: 100%
}

.footer-links {
    display: flex;
    align-items: center;
    gap: 36px;
    flex-wrap: wrap;
    justify-content: center
}

.footer-policy-link {
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 400;
    color: #e5e3d099;
    text-decoration: none;
    letter-spacing: .03em;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.footer-policy-link:hover {
    color: #CAA47E
}

.footer-copy {
    font-family: 'Source Code Pro', monospace;
    font-size: 15px;
    font-weight: 300;
    color: #e5e3d066;
    letter-spacing: .04em;
    text-align: center
}

@media (max-width: 900px) {
    .sitehead-inner {
        flex-wrap: wrap;
        padding: 16px;
        gap: 16px;
        min-height: unset;
        justify-content: center
    }

    .navleft,
    .navright {
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px
    }

    .topbar {
        padding: 8px 16px;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center
    }

    .announce-strip {
        padding: 8px 16px;
        flex-wrap: wrap
    }

    .sitefooter {
        padding: 36px 16px
    }
}

.policy-details-g {
    max-width: 1500px;
    margin: 0 auto;
    padding: 72px 36px;
    color: #2a1a1b
}

.policy-details-g h1 {
    font-size: 48px;
    line-height: 1.2;
    letter-spacing: -.5px;
    color: #A62E32;
    margin-bottom: 36px;
    margin-top: 0;
    padding-bottom: 16px;
    border-bottom: 2px solid #E5E3D0
}

.policy-details-g h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #A62E32;
    margin-top: 72px;
    margin-bottom: 16px
}

.policy-details-g h3 {
    font-size: 24px;
    line-height: 1.5;
    color: #7a2225;
    margin-top: 36px;
    margin-bottom: 16px
}

.policy-details-g h4 {
    font-size: 20px;
    line-height: 1.5;
    color: #2a1a1b;
    margin-top: 36px;
    margin-bottom: 8px;
    letter-spacing: .02em
}

.policy-details-g h5 {
    font-size: 16px;
    line-height: 1.5;
    color: #2a1a1b;
    margin-top: 16px;
    margin-bottom: 8px;
    letter-spacing: .04em;
    text-transform: uppercase
}

.policy-details-g h6 {
    font-size: 15px;
    line-height: 1.5;
    color: #5a3a3c;
    margin-top: 16px;
    margin-bottom: 8px;
    letter-spacing: .06em;
    text-transform: uppercase
}

.policy-details-g p {
    font-size: 16px;
    line-height: 1.7;
    color: #2a1a1b;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 72ch
}

.policy-details-g ul,
.policy-details-g ol {
    font-size: 16px;
    line-height: 1.7;
    color: #2a1a1b;
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 36px;
    max-width: 72ch
}

.policy-details-g ul {
    list-style-type: disc
}

.policy-details-g ol {
    list-style-type: decimal
}

.policy-details-g li {
    margin-bottom: 8px;
    padding-left: 8px
}

.policy-details-g li::marker {
    color: #A62E32
}

.policy-details-g ul ul,
.policy-details-g ol ol,
.policy-details-g ul ol,
.policy-details-g ol ul {
    margin-top: 8px;
    margin-bottom: 4px
}

.policy-details-g a {
    color: #A62E32;
    text-decoration: underline;
    text-decoration-color: #a62e3266;
    text-underline-offset: 3px;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .2s cubic-bezier(0.0, 0, 0.2, 1)
}

.policy-details-g a:hover {
    color: #7a2225;
    text-decoration-color: #7a2225cc
}

.policy-details-g hr {
    border: none;
    border-top: 1px solid #E5E3D0;
    margin-top: 36px;
    margin-bottom: 36px
}

.policy-details-g div {
    font-size: 16px;
    line-height: 1.7
}

.policy-details-g div.notice {
    background: #E5E3D0;
    border-radius: 12px;
    padding: 16px 36px;
    margin-bottom: 16px;
    box-shadow: -1px 2px 3px 1px #a62e320d
}

@media (max-width: 768px) {
    .policy-details-g {
        padding: 36px 16px
    }

    .policy-details-g h1 {
        font-size: 34px
    }

    .policy-details-g h2 {
        font-size: 24px;
        margin-top: 36px
    }

    .policy-details-g h3 {
        font-size: 20px
    }

    .policy-details-g h4 {
        font-size: 16px
    }

    .policy-details-g p,
    .policy-details-g ul,
    .policy-details-g ol,
    .policy-details-g div {
        font-size: 15px
    }
}

.journaldetail {
    background: #fff;
    overflow-x: clip
}

.journaldetail .breadcrumb {
    background: #E5E3D0;
    padding: 16px 36px
}

.journaldetail .breadcrumb nav {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.journaldetail .breadcrumb nav a {
    color: #A62E32;
    text-decoration: none !important;
    font-size: 15px;
    line-height: 1.5;
    transition: color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.journaldetail .breadcrumb nav a:hover {
    color: #7a2025
}

.journaldetail .breadcrumb nav span {
    color: #5a4a3a;
    font-size: 15px;
    line-height: 1.5
}

.journaldetail .breadcrumb nav .separator {
    color: #CAA47E;
    font-size: 15px
}

.journaldetail .stripebanner {
    position: relative;
    max-height: 220px;
    overflow: hidden
}

.journaldetail .stripebanner img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center 30%;
    display: block
}

.journaldetail .stripebanner .tintlayer {
    position: absolute;
    inset: 0;
    background: #a62e3261;
    pointer-events: none
}

.journaldetail .stripebanner .decorband {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #A62E32 0%, #CAA47E 60%, #E5E3D0 100%)
}

.journaldetail .articlelayout {
    max-width: 1500px;
    margin: 0 auto;
    padding: 36px 36px 72px;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 36px;
    align-items: start
}

.journaldetail .articlecolumn {
    min-width: 0
}

.journaldetail .articletag {
    display: inline-flex;
    align-items: center;
    background: #A62E32;
    color: #fff;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: .08em;
    padding: 4px 16px;
    border-radius: 36px;
    margin-bottom: 16px;
    font-weight: 600
}

.journaldetail .articleheading {
    font-size: 48px;
    line-height: 1.2;
    color: #1b0e0f;
    margin: 0 0 16px;
    font-weight: 800
}

.journaldetail .articlemeta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 36px;
    flex-wrap: wrap
}

.journaldetail .metaauthor {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    color: #3d2020;
    font-size: 15px;
    line-height: 1.5
}

.journaldetail .metaauthor .authorlabel {
    font-weight: 700;
    color: #A62E32
}

.journaldetail .metastat {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    color: #6b4a2a;
    font-size: 15px;
    line-height: 1.5
}

.journaldetail .metastat .mdi {
    font-size: 16px;
    color: #CAA47E
}

.journaldetail .metadivider {
    width: 4px;
    height: 4px;
    border-radius: 6px;
    background: #CAA47E;
    display: inline-block
}

.journaldetail .articlebody {
    color: #1b0e0f;
    font-size: 16px;
    line-height: 1.7
}

.journaldetail .articlebody p:first-of-type::first-letter {
    font-size: 64px;
    line-height: 1.2;
    font-weight: 800;
    color: #A62E32;
    float: left;
    margin-right: 8px;
    margin-top: 4px
}

.journaldetail .articlebody p {
    margin: 0 0 16px
}

.journaldetail .articlebody h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1b0e0f;
    margin: 36px 0 16px;
    padding-left: 16px;
    position: relative
}

.journaldetail .articlebody h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background: #A62E32;
    border-radius: 6px
}

.journaldetail .articlebody h3 {
    font-size: 24px;
    line-height: 1.2;
    color: #2a1010;
    margin: 36px 0 16px;
    padding-left: 16px;
    position: relative
}

.journaldetail .articlebody h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 3px;
    background: #CAA47E;
    border-radius: 6px
}

.journaldetail .articlebody blockquote {
    margin: 36px 0;
    padding: 16px 36px;
    background: #E5E3D0;
    border-radius: 12px;
    box-shadow: inset -1px 2px 3px 1px #a62e320d;
    font-size: 20px;
    line-height: 1.5;
    color: #2a1010;
    font-style: italic
}

.journaldetail .articlebody cite {
    display: block;
    margin-top: 8px;
    font-size: 15px;
    font-style: normal;
    color: #A62E32;
    font-weight: 600
}

.journaldetail .articlebody ul,
.journaldetail .articlebody ol {
    padding-left: 36px;
    margin: 0 0 16px
}

.journaldetail .articlebody li {
    margin-bottom: 8px;
    line-height: 1.7
}

.journaldetail .articlebody strong {
    font-weight: 700;
    color: #A62E32
}

.journaldetail .articlebody abbr {
    text-decoration: underline dotted #CAA47E;
    cursor: help
}

.journaldetail .articlebody figure {
    margin: 36px 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.journaldetail .articlebody figure img {
    width: 100%;
    display: block;
    object-fit: cover
}

.journaldetail .articlebody figcaption {
    background: #E5E3D0;
    padding: 8px 16px;
    font-size: 15px;
    color: #5a3a2a;
    line-height: 1.5
}

.journaldetail .sidecolumn {
    position: sticky;
    top: 36px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 72px
}

.journaldetail .sidecard {
    background: #E5E3D0;
    border-radius: 12px;
    padding: 16px;
    box-shadow: -1px 2px 3px 1px #a62e320d
}

.journaldetail .sidecardheading {
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: .09em;
    color: #A62E32;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 8px;
    padding-left: 16px;
    position: relative
}

.journaldetail .sidecardheading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    bottom: 2px;
    width: 3px;
    background: #A62E32;
    border-radius: 6px
}

.journaldetail .sidecardtext {
    font-size: 15px;
    line-height: 1.7;
    color: #2a1010;
    margin: 0
}

.journaldetail .statrow {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center
}

.journaldetail .statitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #3d2020
}

.journaldetail .statitem .mdi {
    color: #A62E32;
    font-size: 20px
}

.journaldetail .statnum {
    font-weight: 700;
    color: #A62E32
}

.journaldetail .reportbutton {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(112deg, #A62E32 0%, #c94a4f 100%);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 15px;
    line-height: 1.5;
    padding: 8px 16px;
    border-radius: 6px;
    font-weight: 600;
    box-shadow: -1px 7px 25px 1px #a62e3217;
    transition: padding .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.0, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1);
    width: fit-content
}

.journaldetail .reportbutton:hover {
    padding: 8px 24px;
    box-shadow: -1px 10px 36px 1px #a62e3224;
    transform: scale(1.03)
}

.journaldetail .reportbutton .mdi {
    font-size: 16px
}

.journaldetail .brushdivider {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    margin: 0
}

.journaldetail .brushdivider svg {
    display: block;
    width: 100%
}

.journaldetail .animatein {
    animation: slideinleft .26s cubic-bezier(0.4, 0, 0.2, 1) both
}

.journaldetail .animateinright {
    animation: slideinright .26s cubic-bezier(0.4, 0, 0.2, 1) .1s both
}

@keyframes slideinleft {
    from {
        opacity: 0;
        transform: translateX(-28px)
    }

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

@keyframes slideinright {
    from {
        opacity: 0;
        transform: translateX(28px)
    }

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

.journaldetail .underlineanimate {
    display: inline-block;
    position: relative
}

.journaldetail .underlineanimate::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 2px;
    background: #A62E32;
    border-radius: 6px;
    animation: lineexpand 2s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate
}

@keyframes lineexpand {
    0% {
        width: 20%
    }

    100% {
        width: 90%
    }
}

@media (max-width: 900px) {
    .journaldetail .articlelayout {
        grid-template-columns: 1fr;
        padding: 36px 16px 72px
    }

    .journaldetail .sidecolumn {
        position: static;
        margin-top: 0
    }

    .journaldetail .articleheading {
        font-size: 34px
    }

    .journaldetail .breadcrumb {
        padding: 16px
    }
}

@media (max-width: 600px) {
    .journaldetail .stripebanner img {
        height: 140px
    }

    .journaldetail .stripebanner {
        max-height: 140px
    }

    .journaldetail .articleheading {
        font-size: 24px
    }

    .journaldetail .articlebody h2 {
        font-size: 24px
    }
}

.contactus {
    background: #fff;
    overflow-x: clip
}

.contactus .pageframe {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 36px
}

.contactus .titlearc {
    padding: 72px 0 0;
    text-align: center;
    position: relative
}

.contactus .titlearc .decoval {
    position: absolute;
    top: 36px;
    left: 50%;
    transform: translateX(-50%);
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(ellipse at 30% 40%, #a62e3212 0%, #caa47e0a 60%, transparent 100%);
    pointer-events: none;
    z-index: 0
}

.contactus .titlearc .decocircle {
    position: absolute;
    top: 16px;
    right: 18%;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px dashed #a62e322e;
    pointer-events: none
}

.contactus .titlearc .titleinner {
    position: relative;
    z-index: 1
}

.contactus .titlearc .prelabel {
    display: inline-block;
    font-size: 15px;
    letter-spacing: .12em;
    color: #A62E32;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 16px;
    padding: 4px 16px;
    background: #a62e3212;
    border-radius: 36px
}

.contactus .titlearc h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #1b1410;
    margin: 0 0 16px;
    font-weight: 800
}

.contactus .titlearc h1 .keyword {
    background: linear-gradient(135deg, #A62E32 0%, #CAA47E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.contactus .titlearc .subdesc {
    font-size: 20px;
    line-height: 1.7;
    color: #3d2b1f;
    max-width: 560px;
    margin: 0 auto 36px
}

.contactus .titlearc .visualband {
    width: 100%;
    height: 220px;
    position: relative;
    margin-top: 36px;
    background: linear-gradient(170deg, #2a1208 0%, #3d1a10 40%, #1b0d06 100%);
    border-radius: 12px 12px 0 0;
    overflow: hidden
}

.contactus .titlearc .visualband::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(-45deg, transparent, transparent 18px, #caa47e0a 18px, #caa47e0a 19px)
}

.contactus .titlearc .visualband::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(to bottom, transparent 0%, #fff 100%)
}

.contactus .titlearc .vbtext {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    z-index: 2;
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: center
}

.contactus .titlearc .vbstat {
    text-align: center;
    color: #E5E3D0
}

.contactus .titlearc .vbstat strong {
    display: block;
    font-size: 48px;
    line-height: 1.2;
    color: #CAA47E;
    font-weight: 700
}

.contactus .titlearc .vbstat span {
    font-size: 15px;
    color: #e5e3d0b3;
    letter-spacing: .06em
}

.contactus .titlearc .vbdivider {
    width: 1px;
    height: 48px;
    background: #caa47e4d
}

.contactus .curvedivider {
    display: block;
    width: 100%;
    line-height: 0;
    margin-top: -2px
}

.contactus .contactgrid {
    background: #E5E3D0;
    padding: 72px 0;
    position: relative
}

.contactus .contactgrid .papertexture {
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(0deg, transparent, transparent 28px, #a62e3206 28px, #a62e3206 29px), repeating-linear-gradient(90deg, transparent, transparent 28px, #caa47e06 28px, #caa47e06 29px);
    pointer-events: none
}

.contactus .contactgrid .gridlayout {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 36px;
    align-items: start;
    position: relative;
    z-index: 1
}

.contactus .formcard {
    background: #fff;
    border-radius: 12px;
    padding: 36px;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.contactus .formcard .formtop {
    margin-bottom: 36px
}

.contactus .formcard .sectionlabel {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #A62E32;
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
    padding-left: 12px;
    border-left: 3px solid #A62E32
}

.contactus .formcard h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1b1410;
    margin: 8px 0 0;
    font-weight: 700
}

.contactus .formcard .fieldrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px
}

.contactus .formcard .fieldgroup {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.contactus .formcard label {
    font-size: 15px;
    color: #3d2b1f;
    font-weight: 600
}

.contactus .formcard input[type="text"],
.contactus .formcard input[type="email"] {
    padding: 16px;
    border: 1.5px solid #a62e3233;
    border-radius: 6px;
    font-size: 16px;
    color: #1b1410;
    background: #fff;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none;
    width: 100%;
    box-sizing: border-box
}

.contactus .formcard input[type="text"]::placeholder,
.contactus .formcard input[type="email"]::placeholder {
    color: #3d2b1f61;
    font-weight: 300
}

.contactus .formcard input[type="text"]:focus,
.contactus .formcard input[type="email"]:focus {
    border-color: #A62E32;
    box-shadow: -1px 2px 3px 1px #a62e320d
}

.contactus .ratinggroup {
    margin-bottom: 16px
}

.contactus .ratinggroup .ratinglabel {
    font-size: 15px;
    color: #3d2b1f;
    font-weight: 600;
    margin-bottom: 8px;
    display: block
}

.contactus .ratinggroup .ratingrow {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap
}

.contactus .ratinggroup .ratingrow input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.contactus .ratinggroup .ratingrow label.ratingopt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 16px;
    border: 1.5px solid #a62e3233;
    border-radius: 6px;
    cursor: pointer;
    font-size: 15px;
    color: #3d2b1f;
    font-weight: 400;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none
}

.contactus .ratinggroup .ratingrow label.ratingopt .ratingnum {
    font-size: 20px;
    font-weight: 700;
    color: #A62E32;
    line-height: 1.2
}

.contactus .ratinggroup .ratingrow input[type="radio"]:checked+label.ratingopt {
    background: #a62e3214;
    border-color: #A62E32
}

.contactus .ratinggroup .ratingrow label.ratingopt:hover {
    background: #caa47e1f;
    border-color: #CAA47E
}

.contactus .privacyrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px
}

.contactus .privacyrow input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    accent-color: #A62E32;
    cursor: pointer;
    flex-shrink: 0
}

.contactus .privacyrow .privacytext {
    font-size: 15px;
    color: #3d2b1f;
    line-height: 1.5
}

.contactus .privacyrow .privacytext a {
    color: #A62E32;
    text-decoration: underline;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactus .privacyrow .privacytext a:hover {
    color: #CAA47E
}

.contactus .submitbtn {
    display: inline-block;
    padding: 16px 36px;
    background: linear-gradient(135deg, #A62E32 0%, #7a1f22 100%);
    color: #E5E3D0;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    letter-spacing: .04em;
    transition: width .25s cubic-bezier(0.0, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.contactus .submitbtn:hover {
    transform: scale(1.04);
    box-shadow: -1px 10px 36px 1px #a62e3224;
    background: linear-gradient(135deg, #b83337 0%, #A62E32 100%)
}

.contactus .submitbtn:focus {
    outline: 3px solid #CAA47E;
    outline-offset: 2px
}

.contactus .submitbtn:active {
    transform: scale(0.99)
}

.contactus .infoside {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.contactus .infocard {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: -1px 2px 3px 1px #a62e320d;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    transition: box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1), transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactus .infocard:hover {
    box-shadow: -1px 7px 25px 1px #a62e3217;
    transform: scale(1.02)
}

.contactus .infocard .iconbox {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: linear-gradient(135deg, #A62E32 0%, #7a1f22 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.contactus .infocard .iconbox .mdi {
    color: #E5E3D0;
    font-size: 20px
}

.contactus .infocard .infocontent {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.contactus .infocard .infolabel {
    font-size: 15px;
    color: #3d2b1f8c;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase
}

.contactus .infocard .infovalue {
    font-size: 15px;
    color: #1b1410;
    line-height: 1.5;
    font-weight: 500;
    word-break: break-word
}

.contactus .infocard .infovalue a {
    color: #A62E32;
    text-decoration: none;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.contactus .infocard .infovalue a:hover {
    color: #CAA47E
}

.contactus .closingblock {
    background: linear-gradient(170deg, #2a1208 0%, #1b0d06 100%);
    padding: 72px 0;
    position: relative;
    overflow: hidden
}

.contactus .closingblock .decodash {
    position: absolute;
    top: 36px;
    left: 36px;
    right: 36px;
    bottom: 36px;
    border: 1px dashed #caa47e1f;
    border-radius: 12px;
    pointer-events: none
}

.contactus .closingblock .closinggrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center;
    position: relative;
    z-index: 1
}

.contactus .closingblock .closingleft h3 {
    font-size: 34px;
    line-height: 1.2;
    color: #E5E3D0;
    font-weight: 700;
    margin: 0 0 16px
}

.contactus .closingblock .closingleft h3 .accent {
    background: #CAA47E;
    color: #1b0d06;
    padding: 0 8px;
    border-radius: 6px
}

.contactus .closingblock .closingleft p {
    font-size: 16px;
    line-height: 1.7;
    color: #e5e3d0bf;
    margin: 0
}

.contactus .closingblock .closingright {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.contactus .closingblock .timingitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #e5e3d00d;
    border-radius: 6px;
    border: 1px solid #caa47e1f;
    animation: settleIn .28s cubic-bezier(0.0, 0, 0.2, 1) both
}

.contactus .closingblock .timingitem:nth-child(1) {
    animation-delay: .05s
}

.contactus .closingblock .timingitem:nth-child(2) {
    animation-delay: .12s
}

.contactus .closingblock .timingitem:nth-child(3) {
    animation-delay: .19s
}

@keyframes settleIn {
    from {
        transform: scale(0.95);
        opacity: .4
    }

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

.contactus .closingblock .timingitem .timenum {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 800;
    color: #CAA47E;
    flex-shrink: 0;
    width: 72px;
    text-align: center
}

.contactus .closingblock .timingitem .timedesc {
    font-size: 15px;
    line-height: 1.5;
    color: #e5e3d0cc
}

.contactus .closingblock .timingitem .timedesc strong {
    color: #E5E3D0;
    font-weight: 600
}

@media (max-width: 900px) {
    .contactus .titlearc h1 {
        font-size: 48px
    }

    .contactus .contactgrid .gridlayout {
        grid-template-columns: 1fr
    }

    .contactus .infoside {
        flex-direction: column
    }

    .contactus .closingblock .closinggrid {
        grid-template-columns: 1fr
    }

    .contactus .formcard .fieldrow {
        grid-template-columns: 1fr
    }
}

@media (max-width: 600px) {
    .contactus .titlearc h1 {
        font-size: 34px
    }

    .contactus .titlearc .vbtext {
        flex-direction: column;
        gap: 16px
    }

    .contactus .titlearc .vbdivider {
        width: 48px;
        height: 1px
    }

    .contactus .pageframe {
        padding: 0 16px
    }

    .contactus .formcard {
        padding: 16px
    }

    .contactus .ratinggroup .ratingrow {
        gap: 4px
    }
}

.aboutus {
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow-x: clip
}

.aboutus .curtain-image {
    clip-path: inset(0 100% 0 0);
    animation: curtainOpen .8s cubic-bezier(0.0, 0, 0.2, 1) .2s forwards
}

@keyframes curtainOpen {
    to {
        clip-path: inset(0 0% 0 0)
    }
}

.aboutus ::selection {
    background: #a62e3226;
    color: #1b0a0b
}

.aboutus .titleblock {
    position: relative;
    padding: 72px 36px 36px;
    background: #2a0c0e;
    overflow: hidden
}

.aboutus .titleblock::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
    background-size: 200px 200px;
    pointer-events: none;
    z-index: 1
}

.aboutus .titleblock::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #2a0c0e00 0%, #a62e32b8 100%);
    pointer-events: none;
    z-index: 2
}

.aboutus .titleblock .titleinner {
    position: relative;
    z-index: 3;
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 72px;
    align-items: flex-end
}

.aboutus .titleblock .titleleft {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.aboutus .titleblock .titlelabel {
    font-size: 15px;
    letter-spacing: .12em;
    color: #CAA47E;
    font-weight: 600;
    text-transform: uppercase
}

.aboutus .titleblock h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #E5E3D0;
    margin: 0;
    font-weight: 800
}

.aboutus .titleblock .titledesc {
    font-size: 20px;
    line-height: 1.5;
    color: #e5e3d0d1;
    margin: 0;
    max-width: 520px
}

.aboutus .titleblock .titleimgwrap {
    flex: 0 0 420px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: -1px 10px 36px 1px #a62e3224
}

.aboutus .titleblock .titleimgwrap::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 12px;
    box-shadow: inset 0 0 40px 12px #2a0c0e8c;
    pointer-events: none
}

.aboutus .titleblock .titleimgwrap img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: center 30%;
    display: block
}

.aboutus .arrowdown {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 8px 0 0;
    background: #2a0c0e;
    position: relative;
    z-index: 3
}

.aboutus .arrowdown svg {
    opacity: .38
}

.aboutus .storyblock {
    background: #E5E3D0;
    padding: 72px 36px;
    border-right: 6px solid #A62E32;
    position: relative
}

.aboutus .storyblock .storyinner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 72px;
    align-items: flex-start
}

.aboutus .storyblock .storyleft {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.aboutus .storyblock h2 {
    font-size: 48px;
    line-height: 1.2;
    color: #2a0c0e;
    margin: 0;
    font-weight: 800;
    padding-left: 16px;
    border-left: 4px solid #A62E32
}

.aboutus .storyblock .dropcap::first-letter {
    float: left;
    font-size: 64px;
    line-height: 1;
    font-weight: 800;
    color: #A62E32;
    margin-right: 8px;
    margin-top: 4px
}

.aboutus .storyblock .storybody {
    font-size: 16px;
    line-height: 1.7;
    color: #2a0c0e;
    margin: 0
}

.aboutus .storyblock .storybody strong {
    font-weight: 700;
    color: #A62E32
}

.aboutus .storyblock .storyright {
    flex: 0 0 380px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.aboutus .storyblock .storyimgwrap {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.aboutus .storyblock .storyimgwrap img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center 20%;
    display: block;
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.aboutus .storyblock .storyimgwrap:hover img {
    transform: scale(1.04)
}

.aboutus .storyblock .metacard {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: inset -1px 2px 3px 1px #a62e320d -1px 7px 25px 1px #caa47e17;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.aboutus .storyblock .metarow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #2a0c0e;
    line-height: 1.5
}

.aboutus .storyblock .metarow .mdi {
    font-size: 20px;
    color: #A62E32;
    flex-shrink: 0
}

.aboutus .teamblock {
    background: #fff;
    padding: 72px 36px;
    position: relative
}

.aboutus .teamblock::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: linear-gradient(180deg, #A62E32 0%, #CAA47E 100%)
}

.aboutus .teamblock .teaminner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 36px
}

.aboutus .teamblock h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #2a0c0e;
    margin: 0;
    font-weight: 800;
    padding-left: 16px;
    border-left: 4px solid #CAA47E
}

.aboutus .teamblock .teamgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px
}

.aboutus .teamblock .personcard {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    background: #E5E3D0;
    border-radius: 12px;
    padding: 16px;
    box-shadow: inset -1px 2px 3px 1px #caa47e12 -1px 7px 25px 1px #a62e3212;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.aboutus .teamblock .personcard:hover {
    transform: scale(1.03);
    box-shadow: -1px 10px 36px 1px #a62e3224
}

.aboutus .teamblock .portraitwrap {
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    border-radius: 48px;
    overflow: hidden;
    box-shadow: -1px 2px 3px 1px #a62e320d
}

.aboutus .teamblock .portraitwrap img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    object-position: center;
    display: block
}

.aboutus .teamblock .personinfo {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 0
}

.aboutus .teamblock .personname {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #2a0c0e;
    margin: 0
}

.aboutus .teamblock .personrole {
    font-size: 15px;
    color: #A62E32;
    font-weight: 600;
    letter-spacing: .06em;
    margin: 0
}

.aboutus .teamblock .persondesc {
    font-size: 15px;
    line-height: 1.7;
    color: #3a1a1c;
    margin: 0
}

.aboutus .teamblock .statsrow {
    display: flex;
    flex-direction: row;
    gap: 36px;
    flex-wrap: wrap;
    padding: 16px;
    background: linear-gradient(135deg, #2a0c0e 0%, #4a1518 100%);
    border-radius: 12px;
    box-shadow: -1px 10px 36px 1px #a62e3224
}

.aboutus .teamblock .statitem {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 160px
}

.aboutus .teamblock .statnum {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 800;
    background: linear-gradient(135deg, #CAA47E 0%, #E5E3D0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.aboutus .teamblock .statlabel {
    font-size: 15px;
    line-height: 1.5;
    color: #e5e3d0bf;
    letter-spacing: .08em
}

.aboutus .teamblock .imagewiderow {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.aboutus .teamblock .imagewiderow img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center 60%;
    display: block;
    transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.aboutus .teamblock .imagewiderow:hover img {
    transform: scale(1.05)
}

@media (max-width: 900px) {
    .aboutus .titleblock .titleinner {
        flex-direction: column;
        gap: 36px
    }

    .aboutus .titleblock h1 {
        font-size: 48px
    }

    .aboutus .titleblock .titleimgwrap {
        flex: 0 0 auto;
        width: 100%
    }

    .aboutus .storyblock .storyinner {
        flex-direction: column;
        gap: 36px
    }

    .aboutus .storyblock .storyright {
        flex: 0 0 auto;
        width: 100%
    }

    .aboutus .teamblock .teamgrid {
        grid-template-columns: 1fr
    }

    .aboutus .teamblock .statsrow {
        gap: 16px
    }
}

@media (max-width: 600px) {
    .aboutus .titleblock {
        padding: 36px 16px 16px
    }

    .aboutus .titleblock h1 {
        font-size: 34px
    }

    .aboutus .storyblock {
        padding: 36px 16px
    }

    .aboutus .teamblock {
        padding: 36px 16px
    }

    .aboutus .teamblock .personcard {
        flex-direction: column
    }

    .aboutus .teamblock .statnum {
        font-size: 34px
    }
}

.journal {
    background: #fff;
    overflow-x: hidden
}

.journal .grid-reveal {
    clip-path: inset(0 100% 0 0);
    animation: revealClip .26s cubic-bezier(0.0, 0, 0.2, 1) forwards
}

@keyframes revealClip {
    to {
        clip-path: inset(0 0% 0 0)
    }
}

.journal .pagetop {
    background: linear-gradient(180deg, #E5E3D0 0%, #fff 100%);
    padding: 72px 36px 36px;
    position: relative;
    overflow: hidden
}

.journal .pagetop::before {
    content: '';
    position: absolute;
    top: 16px;
    right: 36px;
    width: 120px;
    height: 120px;
    border: 1.5px solid #a62e321a;
    pointer-events: none
}

.journal .pagetop::after {
    content: '';
    position: absolute;
    top: 8px;
    right: 28px;
    width: 140px;
    height: 140px;
    border: 1.5px solid #a62e320f;
    pointer-events: none
}

.journal .pagetopinner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 72px
}

.journal .pagetopleft {
    flex: 1 1 0
}

.journal .pagelabel {
    font-size: 15px;
    letter-spacing: .12em;
    color: #A62E32;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 16px
}

.journal .pagetopleft h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #1b1312;
    margin: 0 0 16px;
    font-weight: 800
}

.journal .pagetopleft h1 span {
    background: linear-gradient(135deg, #A62E32 30%, #CAA47E 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.journal .pagetoptext {
    font-size: 20px;
    line-height: 1.5;
    color: #3a2a28;
    max-width: 480px
}

.journal .pagetopright {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 8px
}

.journal .statrow {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.journal .statbox {
    flex: 1 1 0;
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: -1px 7px 25px 1px #a62e3217;
    display: flex;
    flex-direction: column;
    gap: 4px
}

.journal .statnum {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 800;
    color: #A62E32
}

.journal .statlabel {
    font-size: 15px;
    color: #7a5c58;
    line-height: 1.5
}

.journal .stepsep {
    height: 36px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    overflow: hidden
}

.journal .stepsep svg {
    display: block;
    width: 100%
}

.journal .postsarea {
    background: #fff;
    padding: 36px 36px 72px
}

.journal .postsinner {
    max-width: 1500px;
    margin: 0 auto
}

.journal .postsheading {
    font-size: 34px;
    line-height: 1.2;
    color: #1b1312;
    font-weight: 700;
    margin: 0 0 36px;
    padding-left: 16px;
    border-left: 4px solid #A62E32
}

.journal .cardgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px
}

.journal .postcard {
    background: #fff;
    border-radius: 12px;
    box-shadow: -1px 2px 3px 1px #a62e320d -1px 7px 25px 1px #a62e3217;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    color: inherit
}

.journal .postcard:hover {
    transform: scale(1.03);
    box-shadow: -1px 10px 36px 1px #a62e3224
}

.journal .cardimgwrap {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden
}

.journal .cardimgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.journal .postcard:hover .cardimgwrap img {
    transform: scale(1.06)
}

.journal .cardimgoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #a62e3214 0%, #1b131261 100%);
    pointer-events: none
}

.journal .cardbody {
    padding: 16px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.journal .cardauthor {
    font-size: 15px;
    color: #A62E32;
    font-weight: 700;
    letter-spacing: .06em
}

.journal .cardtitle {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    color: #1b1312;
    margin: 0
}

.journal .carddesc {
    font-size: 16px;
    line-height: 1.7;
    color: #4a3533;
    margin: 0;
    flex: 1 1 auto
}

.journal .cardmeta {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid #E5E3D0;
    margin-top: 8px
}

.journal .metaitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    color: #7a5c58
}

.journal .metaitem .mdi {
    font-size: 16px;
    color: #CAA47E
}

.journal .cardreadmore {
    display: inline-block;
    margin-top: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #A62E32;
    letter-spacing: .04em;
    text-decoration: none;
    transition: letter-spacing .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.journal .postcard:hover .cardreadmore {
    letter-spacing: .1em
}

.journal .pullquotesec {
    background: linear-gradient(180deg, #E5E3D0 0%, #fff 100%);
    padding: 72px 36px;
    position: relative;
    overflow: hidden
}

.journal .pullquotesec::before {
    content: '';
    position: absolute;
    bottom: 16px;
    left: 36px;
    width: 90px;
    height: 90px;
    border: 1.5px solid #caa47e2e;
    pointer-events: none
}

.journal .pullquotesec::after {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 28px;
    width: 110px;
    height: 110px;
    border: 1.5px solid #caa47e1a;
    pointer-events: none
}

.journal .pullquoteinner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 72px;
    align-items: center
}

.journal .pullquoteleft {
    flex: 0 0 480px
}

.journal .pullquotetext {
    font-size: 34px;
    line-height: 1.5;
    color: #1b1312;
    font-weight: 700;
    position: relative;
    padding-left: 16px;
    border-left: 4px solid #A62E32
}

.journal .pullquotetext em {
    color: #A62E32;
    font-style: normal
}

.journal .pullquoteright {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.journal .pullquoteright p {
    font-size: 16px;
    line-height: 1.7;
    color: #3a2a28;
    margin: 0
}

.journal .pullquoteright p:first-child::first-letter {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 800;
    color: #A62E32;
    float: left;
    margin-right: 8px;
    margin-top: 4px
}

.journal .stepsep2 {
    height: 36px;
    overflow: hidden
}

.journal .stepsep2 svg {
    display: block;
    width: 100%
}

.journal .imageshowcase {
    background: #1b1312;
    padding: 72px 36px;
    position: relative;
    overflow: hidden
}

.journal .imageshowcaseinner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: stretch
}

.journal .imagecol {
    flex: 0 0 520px;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 10px 36px 1px #a62e3224
}

.journal .imagecol img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block
}

.journal .imagecolgradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #1b1312b8 0%, #1b13121a 100%);
    pointer-events: none
}

.journal .showcasetextcol {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px
}

.journal .showcaselabel {
    font-size: 15px;
    letter-spacing: .12em;
    color: #CAA47E;
    font-weight: 700;
    text-transform: uppercase
}

.journal .showcasetextcol h2 {
    font-size: 48px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
    margin: 0;
    padding-left: 16px;
    border-left: 4px solid #A62E32
}

.journal .showcasetextcol p {
    font-size: 16px;
    line-height: 1.7;
    color: #CAA47E;
    margin: 0;
    max-width: 520px
}

.journal .showcasebtn {
    display: inline-block;
    padding: 16px 36px;
    border-radius: 36px;
    background: linear-gradient(135deg, #A62E32 0%, #CAA47E 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    border: none;
    cursor: pointer;
    width: fit-content;
    transition: width .24s cubic-bezier(0.4, 0, 0.2, 1), padding .24s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .24s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -1px 7px 25px 1px #a62e322e
}

.journal .showcasebtn:hover {
    padding: 16px 48px;
    box-shadow: -1px 10px 36px 1px #a62e3247
}

.journal .patternbg {
    background: #fff;
    padding: 72px 36px;
    position: relative;
    overflow: hidden
}

.journal .patternbgdeco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0
}

.journal .patternbgdeco span {
    position: absolute;
    display: block;
    border: 1.5px solid #e5e3d0b3
}

.journal .patternbgdeco span:nth-child(1) {
    width: 80px;
    height: 80px;
    top: 36px;
    right: 80px
}

.journal .patternbgdeco span:nth-child(2) {
    width: 120px;
    height: 120px;
    top: 16px;
    right: 60px
}

.journal .patternbgdeco span:nth-child(3) {
    width: 160px;
    height: 160px;
    top: -4px;
    right: 40px
}

.journal .patternbgdeco span:nth-child(4) {
    width: 60px;
    height: 60px;
    bottom: 36px;
    left: 60px
}

.journal .patternbgdeco span:nth-child(5) {
    width: 100px;
    height: 100px;
    bottom: 16px;
    left: 40px
}

.journal .patterninner {
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.journal .patterninner h2 {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1312;
    margin: 0 0 36px;
    padding-left: 16px;
    border-left: 4px solid #CAA47E
}

.journal .topicslist {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0
}

.journal .topicslist li {
    background: #E5E3D0;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 16px;
    color: #1b1312;
    font-weight: 600;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default
}

.journal .topicslist li:hover {
    background: linear-gradient(135deg, #A62E32 0%, #CAA47E 100%);
    color: #fff
}

.journal .contactstrip {
    background: linear-gradient(135deg, #A62E32 0%, #7a1c1f 100%);
    padding: 36px
}

.journal .contactstripinner {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 36px;
    flex-wrap: wrap
}

.journal .contactstriptext {
    flex: 1 1 0
}

.journal .contactstriptext h3 {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px
}

.journal .contactstriptext p {
    font-size: 16px;
    line-height: 1.5;
    color: #e5e3d0e6;
    margin: 0
}

.journal .contactstriplinks {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.journal .contactlink {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #ffffff1f;
    border-radius: 48px;
    padding: 8px 16px;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), padding .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.journal .contactlink:hover {
    background: #ffffff38;
    padding: 8px 24px
}

.journal .contactlink .mdi {
    font-size: 18px;
    color: #CAA47E
}

@media (max-width: 1100px) {
    .journal .cardgrid {
        grid-template-columns: repeat(2, 1fr)
    }

    .journal .pagetopinner {
        flex-direction: column;
        gap: 36px
    }

    .journal .pagetopright {
        flex: 0 0 auto;
        width: 100%
    }

    .journal .pullquoteinner {
        flex-direction: column;
        gap: 36px
    }

    .journal .pullquoteleft {
        flex: 0 0 auto
    }

    .journal .imageshowcaseinner {
        flex-direction: column
    }

    .journal .imagecol {
        flex: 0 0 320px;
        width: 100%
    }
}

@media (max-width: 700px) {
    .journal .cardgrid {
        grid-template-columns: 1fr
    }

    .journal .pagetopleft h1 {
        font-size: 48px
    }

    .journal .pullquotetext {
        font-size: 24px
    }

    .journal .showcasetextcol h2 {
        font-size: 34px
    }

    .journal .statrow {
        flex-direction: column
    }

    .journal .contactstripinner {
        flex-direction: column;
        align-items: flex-start
    }
}

.root {
    max-width: 1500px;
    margin: 0 auto;
    overflow: hidden
}

.root ::selection {
    background: #a62e321f;
    color: #2a0a0b
}

.root .pagetop {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 36px;
    padding: 72px 36px;
    background: #E5E3D0;
    position: relative
}

.root .pagetop .blobfield {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0
}

.root .pagetop .blobfield .blob {
    position: absolute;
    border-radius: 48px;
    filter: blur(48px);
    opacity: .38
}

.root .pagetop .blobfield .blob.one {
    width: 320px;
    height: 220px;
    background: #a62e3238;
    top: -40px;
    right: 80px
}

.root .pagetop .blobfield .blob.two {
    width: 200px;
    height: 200px;
    background: #caa47e59;
    bottom: 20px;
    left: 40px
}

.root .pagetop .imageside {
    position: relative;
    z-index: 1;
    flex: 0 0 420px
}

.root .pagetop .frameout {
    border: 2px solid #a62e3238;
    border-radius: 12px;
    padding: 8px;
    position: relative
}

.root .pagetop .framein {
    border: 1px solid #caa47e80;
    border-radius: 6px;
    overflow: hidden;
    position: relative
}

.root .pagetop .framein img {
    display: block;
    width: 100%;
    height: 380px;
    object-fit: cover;
    object-position: center 30%
}

.root .pagetop .leaklayer {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    height: 60%;
    background: radial-gradient(ellipse at 0% 0%, #e5e3d0b3 0%, #caa47e2e 55%, transparent 100%);
    pointer-events: none;
    z-index: 2
}

.root .pagetop .textside {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px
}

.root .pagetop .textside .eyebrow {
    font-size: 15px;
    letter-spacing: .12em;
    color: #A62E32;
    font-weight: 700;
    text-transform: uppercase
}

.root .pagetop .textside h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #1b0a0b;
    margin: 0
}

.root .pagetop .textside h1 .accent {
    background: linear-gradient(158deg, #A62E32 30%, #CAA47E 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.root .pagetop .textside .lead {
    font-size: 20px;
    line-height: 1.7;
    color: #2e1a1a;
    max-width: 520px;
    margin: 0
}

.root .pagetop .textside .tagpair {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.root .pagetop .textside .tag {
    font-size: 15px;
    background: #a62e3214;
    border: 1px solid #a62e3233;
    border-radius: 6px;
    padding: 4px 16px;
    color: #A62E32;
    font-weight: 600
}

.root .pagetop .textside .ctarow {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 8px;
    flex-wrap: wrap
}

.root .pagetop .textside .btnprimary {
    display: inline-block;
    padding: 16px 36px;
    background: linear-gradient(158deg, #A62E32 0%, #c4484d 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 36px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: padding .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.root .pagetop .textside .btnprimary:hover {
    padding: 16px 48px;
    transform: scale(1.03);
    box-shadow: -1px 10px 36px 1px #a62e3224
}

.root .pagetop .textside .btnsecondary {
    display: inline-block;
    padding: 16px 36px;
    background: transparent;
    color: #A62E32;
    font-size: 16px;
    font-weight: 600;
    border-radius: 36px;
    text-decoration: none;
    border: 2px solid #A62E32;
    cursor: pointer;
    transition: padding .25s cubic-bezier(0.0, 0, 0.2, 1), background .25s cubic-bezier(0.0, 0, 0.2, 1)
}

.root .pagetop .textside .btnsecondary:hover {
    padding: 16px 44px;
    background: #a62e320f
}

.root .dividerdash {
    border: none;
    border-top: 1.5px dashed #a62e322e;
    margin: 0 36px
}

.root .condblock {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    padding: 72px 36px;
    background: #fff
}

.root .condblock .leftcol {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.root .condblock .leftcol h2 {
    font-size: 48px;
    line-height: 1.2;
    color: #1b0a0b;
    margin: 0;
    border-left: 4px solid #A62E32;
    padding-left: 16px
}

.root .condblock .leftcol .subtext {
    font-size: 16px;
    line-height: 1.7;
    color: #3a2020;
    max-width: 440px
}

.root .condblock .leftcol .subtext::first-letter {
    font-size: 48px;
    line-height: 1;
    float: left;
    margin-right: 8px;
    color: #A62E32;
    font-weight: 700
}

.root .condblock .rightcol {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.root .condblock .rightcol .conditem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 12px;
    background: #E5E3D0;
    box-shadow: -1px 2px 3px 1px #a62e320d;
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.root .condblock .rightcol .conditem:hover {
    transform: scale(1.02);
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.root .condblock .rightcol .conditem .ringnum {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.root .condblock .rightcol .conditem .ringnum svg {
    position: absolute;
    top: 0;
    left: 0
}

.root .condblock .rightcol .conditem .ringnum .numval {
    font-size: 16px;
    font-weight: 700;
    color: #A62E32;
    position: relative;
    z-index: 1
}

.root .condblock .rightcol .conditem .condtext {
    font-size: 15px;
    line-height: 1.7;
    color: #2e1a1a
}

.root .condblock .rightcol .conditem .condtext strong {
    color: #A62E32;
    font-weight: 700
}

.root .dividerdash2 {
    border: none;
    border-top: 1.5px dashed #caa47e66;
    margin: 0 36px
}

.root .offerblock {
    padding: 72px 36px;
    background: linear-gradient(158deg, #2a0a0b 0%, #3d1010 100%);
    position: relative;
    overflow: hidden
}

.root .offerblock .offerdecoarc {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 300px;
    height: 300px;
    border-radius: 48px;
    border: 2px solid #caa47e1f;
    pointer-events: none
}

.root .offerblock .offerdecoarc2 {
    position: absolute;
    bottom: -40px;
    left: 60px;
    width: 180px;
    height: 180px;
    border-radius: 48px;
    border: 1px solid #e5e3d014;
    pointer-events: none
}

.root .offerblock h2 {
    font-size: 48px;
    line-height: 1.2;
    color: #E5E3D0;
    margin: 0 0 8px;
    border-left: 4px solid #CAA47E;
    padding-left: 16px
}

.root .offerblock .offerlead {
    font-size: 16px;
    line-height: 1.7;
    color: #e5e3d0c7;
    max-width: 600px;
    margin: 0 0 36px
}

.root .offerblock .offergrid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px
}

.root .offerblock .offercard {
    background: #e5e3d00f;
    border: 1px solid #caa47e2e;
    border-radius: 12px;
    padding: 36px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), transform .22s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: inset -1px 2px 3px 1px #a62e320d
}

.root .offerblock .offercard:hover {
    background: #caa47e1a;
    transform: scale(1.04)
}

.root .offerblock .offercard .cardicon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #a62e322e;
    margin-bottom: 8px;
    transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.root .offerblock .offercard:hover .cardicon {
    transform: rotate(360deg)
}

.root .offerblock .offercard .cardicon .mdi {
    font-size: 24px;
    color: #CAA47E
}

.root .offerblock .offercard h4 {
    font-size: 20px;
    line-height: 1.2;
    color: #E5E3D0;
    margin: 0;
    font-weight: 700
}

.root .offerblock .offercard p {
    font-size: 15px;
    line-height: 1.7;
    color: #e5e3d0b3;
    margin: 0
}

.root .offerblock .offercard .cardlink {
    margin-top: 8px;
    font-size: 15px;
    color: #CAA47E;
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: gap .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.root .offerblock .offercard .cardlink:hover {
    gap: 8px
}

.root .dividerdash3 {
    border: none;
    border-top: 1.5px dashed #a62e3226;
    margin: 0 36px
}

.root .approachblock {
    padding: 72px 36px;
    background: #E5E3D0;
    display: flex;
    flex-direction: row;
    gap: 36px;
    align-items: flex-start
}

.root .approachblock .approachleft {
    flex: 0 0 380px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative
}

.root .approachblock .approachleft h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1b0a0b;
    margin: 0;
    border-left: 4px solid #A62E32;
    padding-left: 16px
}

.root .approachblock .approachleft .approachtext {
    font-size: 16px;
    line-height: 1.7;
    color: #2e1a1a
}

.root .approachblock .approachleft .approachimg {
    position: relative;
    border-radius: 12px;
    overflow: hidden
}

.root .approachblock .approachleft .approachimg img {
    display: block;
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center 40%;
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 12px
}

.root .approachblock .approachleft .approachimg:hover img {
    transform: scale(1.05)
}

.root .approachblock .approachleft .approachimg .imgborder {
    position: absolute;
    inset: 0;
    border: 2px solid transparent;
    border-radius: 12px;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    z-index: 2
}

.root .approachblock .approachleft .approachimg:hover .imgborder {
    border-color: #A62E32
}

.root .approachblock .approachright {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.root .approachblock .approachright .diagrambox {
    background: #fff;
    border-radius: 12px;
    padding: 36px;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.root .approachblock .approachright .diagrambox h5 {
    font-size: 15px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #A62E32;
    font-weight: 700;
    margin: 0 0 16px
}

.root .approachblock .approachright .diagrambox .diagram {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap
}

.root .approachblock .approachright .diagrambox .dnode {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center
}

.root .approachblock .approachright .diagrambox .dnode .dnodecircle {
    width: 56px;
    height: 56px;
    border-radius: 48px;
    background: linear-gradient(158deg, #A62E32 0%, #CAA47E 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.root .approachblock .approachright .diagrambox .dnode .dnodecircle .mdi {
    font-size: 24px;
    color: #fff
}

.root .approachblock .approachright .diagrambox .dnode .dnodelabel {
    font-size: 15px;
    color: #2e1a1a;
    font-weight: 600;
    max-width: 80px
}

.root .approachblock .approachright .diagrambox .darrow {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, #a62e324d 0%, #caa47e99 100%);
    border-radius: 6px;
    min-width: 16px;
    position: relative;
    top: -12px
}

.root .approachblock .approachright .statsrow {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.root .approachblock .approachright .statcard {
    flex: 1;
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border: 1px solid #a62e321a;
    box-shadow: inset -1px 2px 3px 1px #a62e320d;
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.root .approachblock .approachright .statcard:hover {
    transform: scale(1.04)
}

.root .approachblock .approachright .statcard .statnum {
    font-size: 34px;
    font-weight: 700;
    color: #A62E32;
    line-height: 1.2
}

.root .approachblock .approachright .statcard .statlabel {
    font-size: 15px;
    color: #2e1a1a;
    line-height: 1.5
}

.root .approachblock .approachright .approachlist {
    list-style: decimal;
    padding-left: 20px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.root .approachblock .approachright .approachlist li {
    font-size: 16px;
    line-height: 1.7;
    color: #2e1a1a
}

.root .approachblock .approachright .approachlist li strong {
    color: #A62E32;
    font-weight: 700
}

.root .dividerdash4 {
    border: none;
    border-top: 1.5px dashed #caa47e59;
    margin: 0 36px
}

.root .outcomeblock {
    padding: 72px 36px;
    background: #fff
}

.root .outcomeblock .outcometop {
    display: flex;
    flex-direction: row;
    gap: 36px;
    margin-bottom: 36px;
    align-items: flex-start
}

.root .outcomeblock .outcometop h2 {
    font-size: 48px;
    line-height: 1.2;
    color: #1b0a0b;
    margin: 0;
    flex: 0 0 auto;
    border-left: 4px solid #A62E32;
    padding-left: 16px
}

.root .outcomeblock .outcometop .outcomeintro {
    font-size: 16px;
    line-height: 1.7;
    color: #3a2020;
    flex: 1;
    align-self: center
}

.root .outcomeblock .outcomegrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px
}

.root .outcomeblock .outcomegrid .portraitcol {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.root .outcomeblock .outcomegrid .portraitrow {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.root .outcomeblock .outcomegrid .portraitcard {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    flex: 0 0 140px;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.root .outcomeblock .outcomegrid .portraitcard img {
    display: block;
    width: 140px;
    height: 210px;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.root .outcomeblock .outcomegrid .portraitcard .portborder {
    position: absolute;
    inset: 0;
    border: 2px solid transparent;
    border-radius: 12px;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    z-index: 2
}

.root .outcomeblock .outcomegrid .portraitcard:hover img {
    transform: scale(1.04)
}

.root .outcomeblock .outcomegrid .portraitcard:hover .portborder {
    border-color: #A62E32
}

.root .outcomeblock .outcomegrid .quotecard {
    flex: 1;
    background: #E5E3D0;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: inset -1px 2px 3px 1px #a62e320d
}

.root .outcomeblock .outcomegrid .quotecard .quotename {
    font-size: 15px;
    font-weight: 700;
    color: #A62E32
}

.root .outcomeblock .outcomegrid .quotecard .quotetext {
    font-size: 15px;
    line-height: 1.7;
    color: #2e1a1a;
    margin: 0
}

.root .outcomeblock .outcomegrid .outcomelist {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.root .outcomeblock .outcomegrid .outcomelist .outcomeitem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 12px;
    border: 1px solid #a62e321a;
    background: #fff;
    box-shadow: -1px 2px 3px 1px #a62e320d;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.root .outcomeblock .outcomegrid .outcomelist .outcomeitem:hover {
    transform: scale(1.03);
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.root .outcomeblock .outcomegrid .outcomelist .outcomeitem .oicon {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: #a62e3214;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform .28s cubic-bezier(0.0, 0, 0.2, 1)
}

.root .outcomeblock .outcomegrid .outcomelist .outcomeitem:hover .oicon {
    transform: rotate(360deg)
}

.root .outcomeblock .outcomegrid .outcomelist .outcomeitem .oicon .mdi {
    font-size: 22px;
    color: #A62E32
}

.root .outcomeblock .outcomegrid .outcomelist .outcomeitem .otext h5 {
    font-size: 16px;
    font-weight: 700;
    color: #1b0a0b;
    margin: 0 0 4px;
    line-height: 1.2
}

.root .outcomeblock .outcomegrid .outcomelist .outcomeitem .otext p {
    font-size: 15px;
    line-height: 1.5;
    color: #3a2020;
    margin: 0
}

.root .outcomeblock .outcomegrid .showcaseimgrow {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-top: 8px
}

.root .outcomeblock .outcomegrid .showcaseimgwrap {
    flex: 1;
    border-radius: 12px;
    overflow: hidden;
    position: relative
}

.root .outcomeblock .outcomegrid .showcaseimgwrap img {
    display: block;
    width: 100%;
    height: 160px;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.root .outcomeblock .outcomegrid .showcaseimgwrap .imgborder2 {
    position: absolute;
    inset: 0;
    border: 2px solid transparent;
    border-radius: 12px;
    pointer-events: none;
    z-index: 2;
    transition: border-color .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.root .outcomeblock .outcomegrid .showcaseimgwrap:hover img {
    transform: scale(1.05)
}

.root .outcomeblock .outcomegrid .showcaseimgwrap:hover .imgborder2 {
    border-color: #CAA47E
}

@media (max-width: 1100px) {
    .root .pagetop {
        flex-direction: column;
        padding: 36px 16px
    }

    .root .pagetop .imageside {
        flex: 0 0 auto
    }

    .root .pagetop .textside h1 {
        font-size: 48px
    }

    .root .condblock {
        grid-template-columns: 1fr;
        padding: 36px 16px
    }

    .root .offerblock {
        padding: 36px 16px
    }

    .root .offerblock .offergrid {
        grid-template-columns: 1fr 1fr
    }

    .root .approachblock {
        flex-direction: column;
        padding: 36px 16px
    }

    .root .approachblock .approachleft {
        flex: 0 0 auto;
        width: 100%
    }

    .root .outcomeblock {
        padding: 36px 16px
    }

    .root .outcomeblock .outcometop {
        flex-direction: column;
        gap: 16px
    }

    .root .outcomeblock .outcomegrid {
        grid-template-columns: 1fr
    }

    .root .dividerdash,
    .root .dividerdash2,
    .root .dividerdash3,
    .root .dividerdash4 {
        margin: 0 16px
    }
}

@media (max-width: 700px) {
    .root .pagetop .textside h1 {
        font-size: 34px
    }

    .root .offerblock .offergrid {
        grid-template-columns: 1fr
    }

    .root .approachblock .approachright .statsrow {
        flex-direction: column
    }

    .root .approachblock .approachright .diagrambox .diagram {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px
    }

    .root .approachblock .approachright .diagrambox .darrow {
        width: 2px;
        height: 24px;
        top: 0;
        background: linear-gradient(180deg, #a62e324d 0%, #caa47e99 100%)
    }

    .root .outcomeblock .outcomegrid .portraitrow {
        flex-direction: column
    }

    .root .outcomeblock .outcomegrid .showcaseimgrow {
        flex-direction: column
    }
}

.learningprogram {
    max-width: 1500px;
    margin: 0 auto;
    overflow: hidden
}

.learningprogram .strip {
    width: 100%;
    height: 220px;
    overflow: hidden;
    position: relative
}

.learningprogram .strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    filter: grayscale(100%);
    display: block
}

.learningprogram .titlezone {
    padding: 72px;
    background: #fff;
    position: relative
}

.learningprogram .titlezone h1 {
    font-size: 64px;
    line-height: 1.2;
    color: #1b1b1b;
    margin: 0 0 16px;
    letter-spacing: -1px
}

.learningprogram .titlezone .subtitle {
    font-size: 20px;
    line-height: 1.5;
    color: #3a2a2a;
    max-width: 640px;
    margin: 0
}

.learningprogram .divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 0;
    background: #fff
}

.learningprogram .divider .line {
    height: 1px;
    width: 120px;
    background: #CAA47E
}

.learningprogram .divider .diamond {
    width: 8px;
    height: 8px;
    background: #A62E32;
    transform: rotate(45deg);
    flex-shrink: 0
}

.learningprogram .programbody {
    background: #E5E3D0;
    padding: 72px;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 36px;
    align-items: start
}

.learningprogram .maincolumn {
    display: flex;
    flex-direction: column;
    gap: 36px
}

.learningprogram .accentnumber {
    font-size: 64px;
    line-height: 1.2;
    color: #A62E32;
    font-weight: 700;
    display: block;
    margin-bottom: 8px
}

.learningprogram .moduleblock {
    background: #fff;
    border-radius: 12px;
    padding: 36px;
    box-shadow: -1px 7px 25px 1px #a62e3217;
    position: relative
}

.learningprogram .moduleblock h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1b1b1b;
    margin: 0 0 16px;
    padding-left: 16px;
    border-left: none;
    position: relative
}

.learningprogram .moduleblock h2::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background: #A62E32;
    border-radius: 6px
}

.learningprogram .moduleblock p {
    font-size: 16px;
    line-height: 1.7;
    color: #3a2a2a;
    margin: 0 0 16px
}

.learningprogram .moduleblock p:last-child {
    margin-bottom: 0
}

.learningprogram .moduleblock p:first-of-type::first-letter {
    font-size: 34px;
    line-height: 1;
    float: left;
    margin-right: 8px;
    color: #A62E32;
    font-weight: 700
}

.learningprogram .modulelist {
    list-style: decimal;
    padding-left: 36px;
    margin: 16px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learningprogram .modulelist li {
    font-size: 16px;
    line-height: 1.5;
    color: #3a2a2a;
    padding-left: 8px
}

.learningprogram .modulelist li strong {
    color: #A62E32;
    font-weight: 700
}

.learningprogram .metricrow {
    display: flex;
    flex-direction: row;
    gap: 16px
}

.learningprogram .metriccard {
    flex: 1;
    background: #A62E32;
    border-radius: 12px;
    padding: 36px 16px;
    text-align: center;
    box-shadow: -1px 10px 36px 1px #a62e3224;
    transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.learningprogram .metriccard:hover {
    transform: scale(1.04)
}

.learningprogram .metriccard .bignum {
    font-size: 48px;
    line-height: 1.2;
    color: #E5E3D0;
    font-weight: 700;
    display: block
}

.learningprogram .metriccard .meticlabel {
    font-size: 15px;
    line-height: 1.5;
    color: #CAA47E;
    display: block;
    margin-top: 4px;
    letter-spacing: .06em
}

.learningprogram .sidecolumn {
    display: flex;
    flex-direction: column;
    gap: 36px;
    position: sticky;
    top: 36px
}

.learningprogram .expertcard {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.learningprogram .expertcard img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
    display: block
}

.learningprogram .expertinfo {
    padding: 16px
}

.learningprogram .expertinfo h4 {
    font-size: 20px;
    line-height: 1.2;
    color: #1b1b1b;
    margin: 0 0 8px
}

.learningprogram .expertinfo p {
    font-size: 15px;
    line-height: 1.5;
    color: #3a2a2a;
    margin: 0
}

.learningprogram .schedulecard {
    background: linear-gradient(168deg, #A62E32 0%, #7a1f22 100%);
    border-radius: 12px;
    padding: 36px;
    box-shadow: -1px 10px 36px 1px #a62e3224
}

.learningprogram .schedulecard h4 {
    font-size: 20px;
    line-height: 1.2;
    color: #E5E3D0;
    margin: 0 0 16px;
    padding-left: 16px;
    position: relative
}

.learningprogram .schedulecard h4::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 3px;
    background: #CAA47E;
    border-radius: 6px
}

.learningprogram .schedulerow {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learningprogram .scheduleitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid #caa47e40
}

.learningprogram .scheduleitem:last-child {
    border-bottom: none
}

.learningprogram .scheduleitem .icon {
    color: #CAA47E;
    font-size: 20px;
    flex-shrink: 0
}

.learningprogram .scheduleitem span {
    font-size: 15px;
    line-height: 1.5;
    color: #E5E3D0
}

.learningprogram .expandline {
    height: 2px;
    background: #CAA47E;
    border-radius: 6px;
    width: 40px;
    margin: 16px 0 0;
    animation: lineexpand 2.4s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes lineexpand {
    0% {
        width: 40px
    }

    50% {
        width: 120px
    }

    100% {
        width: 40px
    }
}

.learningprogram .imageblock {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -1px 2px 3px 1px #a62e320d
}

.learningprogram .imageblock img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    display: block
}

.learningprogram .testimonialblock {
    background: #fff;
    border-radius: 12px;
    padding: 36px;
    box-shadow: -1px 7px 25px 1px #a62e3217
}

.learningprogram .testimonialblock h3 {
    font-size: 24px;
    line-height: 1.2;
    color: #1b1b1b;
    margin: 0 0 16px;
    padding-left: 16px;
    position: relative
}

.learningprogram .testimonialblock h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 3px;
    background: #A62E32;
    border-radius: 6px
}

.learningprogram .testimonialinner {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start
}

.learningprogram .testimonialinner img {
    width: 72px;
    height: 108px;
    object-fit: cover;
    object-position: center;
    display: block;
    flex-shrink: 0
}

.learningprogram .testimonialtext {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.learningprogram .testimonialtext p {
    font-size: 15px;
    line-height: 1.7;
    color: #3a2a2a;
    margin: 0
}

.learningprogram .testimonialtext .tname {
    font-size: 15px;
    color: #A62E32;
    font-weight: 700;
    margin: 0
}

@media (max-width: 900px) {
    .learningprogram .programbody {
        grid-template-columns: 1fr;
        padding: 36px 16px
    }

    .learningprogram .sidecolumn {
        position: static
    }

    .learningprogram .titlezone {
        padding: 36px 16px
    }

    .learningprogram .titlezone h1 {
        font-size: 48px
    }

    .learningprogram .metricrow {
        flex-direction: column
    }

    .learningprogram .moduleblock {
        padding: 16px
    }
}

@media (max-width: 600px) {
    .learningprogram .titlezone h1 {
        font-size: 34px
    }

    .learningprogram .strip {
        height: 140px
    }
}

.successPage {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 72px 16px;
    background: #E5E3D0
}

.successPage .messageCard {
    background: #fff;
    max-width: 540px;
    width: 100%;
    padding: 72px 36px;
    border-radius: 12px;
    box-shadow: -1px 7px 25px 1px #a22e3217;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.successPage .iconCircle {
    width: 72px;
    height: 72px;
    border-radius: 36px;
    background: linear-gradient(135deg, #A62E32, #CAA47E);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    box-shadow: -1px 10px 36px 1px #a22e3224
}

.successPage .iconCircle svg {
    display: block
}

.successPage .successHeading {
    font-size: 34px;
    line-height: 1.2;
    color: #A62E32;
    margin: 0;
    letter-spacing: -.5px
}

.successPage .successSubtext {
    font-size: 16px;
    line-height: 1.7;
    color: #3a2a1a;
    margin: 0;
    max-width: 380px
}

.successPage .returnLink {
    display: inline-block;
    margin-top: 8px;
    padding: 16px 36px;
    border-radius: 48px;
    background: linear-gradient(135deg, #A62E32 0%, #CAA47E 100%);
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .04em;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.0, 0, 0.2, 1), padding .25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -1px 7px 25px 1px #a22e3217
}

.successPage .returnLink:hover {
    transform: scale(1.04);
    padding: 16px 44px;
    box-shadow: -1px 10px 36px 1px #a22e3224
}

.successPage .returnLink:focus {
    outline: 2px solid #A62E32;
    outline-offset: 4px
}