html {
    box-sizing: border-box;
    scroll-behavior: auto
}

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

body {
    margin: 0
}

.sitehead {
    font-family: 'Nunito', sans-serif;
    background-color: #FDFCFC;
    border-bottom: 2px solid #80745D;
    position: relative
}

.sitehead-utility {
    background: linear-gradient(100deg, #1B1A16 70%, #80745D 100%);
    padding: 8px 36px
}

.sitehead-utility-hold {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px
}

.sitehead-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none
}

.sitehead-logobox {
    width: 68px;
    height: 68px;
    border-radius: 6px;
    background-color: #FDFCFC;
    box-shadow: 0 0 0 2px #80745D, 0 0 0 5px #1B1A16, 0 7px 25px 1px #1b1a161a;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0
}

.sitehead-logobox img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    display: block
}

.sitehead-brandtext {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.sitehead-brandname {
    font-size: 19px;
    font-weight: 700;
    color: #FDFCFC;
    line-height: 1.15;
    letter-spacing: .06em
}

.sitehead-brandyear {
    font-size: 16px;
    font-weight: 400;
    color: #fdfcfca6;
    line-height: 1.15;
    letter-spacing: .04em
}

.sitehead-contacts {
    display: flex;
    align-items: center;
    gap: 36px
}

.sitehead-contact {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #fdfcfcd9;
    font-size: 16px;
    line-height: 1.4;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1)
}

.sitehead-contact:hover,
.sitehead-contact:focus {
    color: #FDFCFC;
    outline: none
}

.sitehead-contact:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: 3px;
    border-radius: 3px
}

.sitehead-contacticon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    opacity: .75
}

.sitehead-navrow {
    padding: 0 36px;
    border-top: 1px solid #80745d2e
}

.sitehead-navrow-hold {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 4px
}

.sitehead-navitem {
    position: relative
}

.sitehead-navlink {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    text-decoration: none;
    line-height: 1.4;
    letter-spacing: .02em;
    border-bottom: 3px solid transparent;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1), border-color .65s cubic-bezier(0.4, 0, 1, 1);
    white-space: nowrap
}

.sitehead-navlink:hover,
.sitehead-navlink:focus {
    color: #80745D;
    border-bottom-color: #80745D;
    outline: none
}

.sitehead-navlink:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: -2px;
    border-radius: 3px
}

.sitehead-navlink.active {
    color: #80745D;
    border-bottom-color: #80745D
}

.sitehead-navchevron {
    width: 10px;
    height: 10px;
    flex-shrink: 0
}

.sitehead-sub {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    background-color: #FDFCFC;
    border: 1px solid #80745d38;
    border-radius: 6px;
    box-shadow: 0 7px 25px 1px #1b1a161a 0 12px 44px 1px #1b1a161a;
    padding: 8px 0;
    z-index: 200;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .18s ease-in, transform .18s ease-in
}

.sitehead-navitem:hover .sitehead-sub,
.sitehead-navitem:focus-within .sitehead-sub {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0)
}

.sitehead-sublink {
    display: block;
    padding: 8px 16px;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #1B1A16;
    text-decoration: none;
    line-height: 1.6;
    transition: background-color .65s cubic-bezier(0.4, 0, 1, 1), color .65s cubic-bezier(0.4, 0, 1, 1)
}

.sitehead-sublink:hover,
.sitehead-sublink:focus {
    background-color: #80745d1a;
    color: #80745D;
    outline: none
}

.sitehead-sublink:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: -2px;
    border-radius: 3px
}

.sitefoot {
    font-family: 'Nunito', sans-serif;
    background-color: #FDFCFC;
    box-shadow: inset 0 8px 32px #1b1a1612 0 1px 5px 1px #1b1a1614;
    border-top: 2px solid #80745d40;
    padding: 72px 36px 36px
}

.sitefoot-hold {
    max-width: 1024px;
    margin: 0 auto
}

.sitefoot-cols {
    display: flex;
    align-items: flex-start;
    gap: 72px;
    padding-bottom: 36px;
    border-bottom: 1px solid #80745d33
}

.sitefoot-brand {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex-shrink: 0
}

.sitefoot-brandlink {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none
}

.sitefoot-logobox {
    width: 52px;
    height: 52px;
    border-radius: 6px;
    background-color: #FDFCFC;
    box-shadow: 0 0 0 2px #80745D, 0 0 0 4px #1b1a1626 0 1px 5px 1px #1b1a1614;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0
}

.sitefoot-logobox img {
    width: 42px;
    height: 42px;
    object-fit: contain;
    display: block
}

.sitefoot-brandname {
    font-size: 19px;
    font-weight: 700;
    color: #1B1A16;
    line-height: 1.15;
    letter-spacing: .05em
}

.sitefoot-tagline {
    font-size: 16px;
    font-weight: 400;
    color: #80745D;
    line-height: 1.6;
    max-width: 220px
}

.sitefoot-contactcol {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.sitefoot-contactlabel {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.15
}

.sitefoot-contactitem {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 16px;
    color: #1B1A16;
    line-height: 1.6;
    text-decoration: none;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1)
}

.sitefoot-contactitem:hover,
.sitefoot-contactitem:focus {
    color: #80745D;
    outline: none
}

.sitefoot-contactitem:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: 2px;
    border-radius: 3px
}

.sitefoot-contacticon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 3px;
    color: #80745D
}

.sitefoot-legalnav {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.sitefoot-legallabel {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.15
}

.sitefoot-legallink {
    font-size: 16px;
    font-weight: 400;
    color: #1B1A16;
    text-decoration: none;
    line-height: 1.6;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1)
}

.sitefoot-legallink:hover,
.sitefoot-legallink:focus {
    color: #80745D;
    outline: none
}

.sitefoot-legallink:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: 2px;
    border-radius: 3px
}

.sitefoot-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 36px;
    flex-wrap: wrap
}

.sitefoot-copy {
    font-size: 16px;
    font-weight: 400;
    color: #1b1a168c;
    line-height: 1.6
}

.sitefoot-cookiebtn {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #80745D;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 3px;
    text-decoration: underline;
    text-underline-offset: 3px;
    line-height: 1.6;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1)
}

.sitefoot-cookiebtn:hover,
.sitefoot-cookiebtn:focus {
    color: #1B1A16;
    outline: none
}

.sitefoot-cookiebtn:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: 2px
}

.cookiemount {
    position: fixed;
    bottom: 36px;
    left: 36px;
    z-index: 4000;
    max-width: 380px;
    width: calc(100vw - 72px);
    display: none
}

.cookiepanel {
    font-family: 'Nunito', sans-serif;
    background-color: #FDFCFC;
    border: 1px solid #80745d4d;
    border-radius: 6px;
    box-shadow: 0 12px 44px 1px #1b1a161a 0 7px 25px 1px #1b1a161a;
    padding: 16px;
    transform: translateX(-110%);
    transition: transform .38s cubic-bezier(0.4, 0, 1, 1)
}

.cookiepanel.visible {
    transform: translateX(0)
}

.cookiepanel-desc {
    font-size: 16px;
    color: #1B1A16;
    line-height: 1.6;
    margin: 0 0 8px
}

.cookiepanel-head {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    line-height: 1.4;
    margin: 0 0 16px
}

.cookiepanel-cats {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px
}

.cookiepanel-catrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px
}

.cookiepanel-catlabel {
    font-size: 16px;
    color: #1B1A16;
    line-height: 1.4
}

.cookiepanel-catlabel.required {
    color: #1b1a168c;
    font-size: 16px
}

.cookiepanel-toggle {
    position: relative;
    width: 36px;
    height: 20px;
    flex-shrink: 0
}

.cookiepanel-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute
}

.cookiepanel-toggletrack {
    position: absolute;
    inset: 0;
    background-color: #80745d40;
    border-radius: 16px;
    cursor: pointer;
    transition: background-color .65s cubic-bezier(0.4, 0, 1, 1)
}

.cookiepanel-toggletrack::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 3px;
    width: 14px;
    height: 14px;
    border-radius: 16px;
    background-color: #FDFCFC;
    transition: transform .65s cubic-bezier(0.4, 0, 1, 1)
}

.cookiepanel-toggle input:checked+.cookiepanel-toggletrack {
    background-color: #80745D
}

.cookiepanel-toggle input:checked+.cookiepanel-toggletrack::after {
    transform: translateX(16px)
}

.cookiepanel-toggle input:focus-visible+.cookiepanel-toggletrack {
    outline: 2px dashed #80745D;
    outline-offset: 2px
}

.cookiepanel-toggle input:disabled+.cookiepanel-toggletrack {
    opacity: .5;
    cursor: not-allowed
}

.cookiepanel-btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.cookiepanel-acceptbtn {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #FDFCFC;
    background: linear-gradient(135deg, #1B1A16 0%, #80745D 100%);
    border: 2px solid #1B1A16;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    line-height: 1.4;
    transition: opacity .65s cubic-bezier(0.4, 0, 1, 1), border-color .65s cubic-bezier(0.4, 0, 1, 1);
    min-height: 44px
}

.cookiepanel-acceptbtn:hover,
.cookiepanel-acceptbtn:focus {
    opacity: .85;
    outline: none
}

.cookiepanel-acceptbtn:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: 2px;
    border-radius: 6px
}

.cookiepanel-rejectlink {
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #1B1A16;
    background: transparent;
    border: 2px solid #1b1a164d;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    line-height: 1.4;
    transition: border-color .65s cubic-bezier(0.4, 0, 1, 1), color .65s cubic-bezier(0.4, 0, 1, 1);
    min-height: 44px
}

.cookiepanel-rejectlink:hover,
.cookiepanel-rejectlink:focus {
    border-color: #80745D;
    color: #80745D;
    outline: none
}

.cookiepanel-rejectlink:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: 2px;
    border-radius: 6px
}

.cookiepanel-policyref {
    margin-top: 8px;
    font-size: 16px;
    color: #1b1a168c;
    line-height: 1.6
}

.cookiepanel-policyref a {
    color: #80745D;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1)
}

.cookiepanel-policyref a:hover,
.cookiepanel-policyref a:focus {
    color: #1B1A16;
    outline: none
}

.cookiepanel-policyref a:focus-visible {
    outline: 2px dashed #80745D;
    outline-offset: 2px;
    border-radius: 3px
}

@media (max-width: 768px) {
    .sitehead-utility {
        padding: 8px 16px
    }

    .sitehead-contacts {
        gap: 16px
    }

    .sitehead-contact-addr {
        display: none
    }

    .sitehead-navrow {
        padding: 0 16px
    }

    .sitehead-navlink {
        padding: 16px 8px;
        font-size: 16px
    }

    .sitefoot {
        padding: 36px 16px
    }

    .sitefoot-cols {
        flex-wrap: wrap;
        gap: 36px
    }

    .sitefoot-bottom {
        flex-direction: column;
        align-items: flex-start
    }

    .cookiemount {
        left: 16px;
        bottom: 16px;
        width: calc(100vw - 32px);
        max-width: 100%
    }
}

@media (max-width: 520px) {
    .sitehead-brandyear {
        display: none
    }

    .sitehead-navrow-hold {
        flex-wrap: wrap
    }
}

.rules-section {
    max-width: 1024px;
    margin: 0 auto;
    padding: 72px 36px;
    color: #1B1A16;
    line-height: 1.6
}

.rules-section h1 {
    font-size: 44px;
    line-height: 1.15;
    color: #1B1A16;
    margin-bottom: 36px;
    margin-top: 0;
    letter-spacing: -.5px
}

.rules-section h2 {
    font-size: 19px;
    line-height: 1.4;
    color: #1B1A16;
    margin-top: 72px;
    margin-bottom: 16px;
    letter-spacing: .04em;
    text-transform: uppercase
}

.rules-section h3 {
    font-size: 19px;
    line-height: 1.4;
    color: #80745D;
    margin-top: 36px;
    margin-bottom: 16px
}

.rules-section h4,
.rules-section h5,
.rules-section h6 {
    font-size: 16px;
    line-height: 1.4;
    color: #1B1A16;
    margin-top: 36px;
    margin-bottom: 8px;
    letter-spacing: .02em
}

.rules-section p {
    font-size: 16px;
    line-height: 1.6;
    color: #1B1A16;
    margin-top: 0;
    margin-bottom: 16px;
    max-width: 72ch
}

.rules-section ul,
.rules-section ol {
    font-size: 16px;
    line-height: 1.6;
    color: #1B1A16;
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 36px
}

.rules-section ul {
    list-style: none;
    padding-left: 0
}

.rules-section ul li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px
}

.rules-section ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #80745D
}

.rules-section ol {
    list-style: decimal
}

.rules-section ol li {
    margin-bottom: 8px;
    padding-left: 4px
}

.rules-section ol li::marker {
    color: #80745D;
    font-size: 16px
}

.rules-section ul ul,
.rules-section ol ol,
.rules-section ul ol,
.rules-section ol ul {
    margin-top: 8px;
    margin-bottom: 4px
}

.rules-section em,
.rules-section i {
    color: #80745D;
    font-style: italic
}

.rules-section a {
    color: #80745D;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color .15s cubic-bezier(0.4, 0, 1, 1), text-decoration-color .15s cubic-bezier(0.4, 0, 1, 1)
}

.rules-section a:hover {
    color: #1B1A16;
    text-decoration-color: #1B1A16
}

.rules-section a:visited {
    color: #80745D;
    opacity: .75
}

.rules-section hr {
    border: none;
    border-top: 1px solid #80745d40;
    margin-top: 36px;
    margin-bottom: 36px
}

.rules-section div {
    margin-bottom: 16px
}

.rules-section div p:last-child {
    margin-bottom: 0
}

@media (max-width: 768px) {
    .rules-section {
        padding: 36px 16px
    }

    .rules-section h1 {
        font-size: 44px
    }

    .rules-section h2 {
        margin-top: 36px
    }

    .rules-section p,
    .rules-section ul,
    .rules-section ol {
        max-width: 100%
    }
}

@media (max-width: 480px) {
    .rules-section {
        padding: 36px 16px
    }

    .rules-section h1 {
        font-size: 19px;
        line-height: 1.4
    }

    .rules-section h2 {
        font-size: 16px
    }
}

.afl {
    background: #FDFCFC;
    overflow-x: clip;
    position: relative
}

.afl * {
    box-sizing: border-box
}

.afl .split {
    display: flex;
    flex-direction: row;
    min-height: 520px;
    position: relative
}

.afl .split-left {
    flex: 1;
    background: #1B1A16;
    padding: 72px 36px 72px 72px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden
}

.afl .split-left::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#80745d0f 1px, transparent 1px), linear-gradient(90deg, #80745d0f 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none
}

.afl .split-left::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 80% 40%, #80745d1f 0%, transparent 70%);
    pointer-events: none;
    animation: bgfade 7s ease-in-out infinite alternate
}

@keyframes bgfade {
    0% {
        opacity: .4
    }

    100% {
        opacity: 1
    }
}

.afl .split-right {
    flex: 1;
    background: #FDFCFC;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 72px 72px 72px 36px;
    position: relative
}

.afl .split-right .img-wrap {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 12px 44px 1px #1b1a161a
}

.afl .split-right .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.afl .split-right .img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, #1b1a160a 0px, #1b1a160a 1px, transparent 1px, transparent 4px);
    pointer-events: none
}

.afl .split-right .corner-tag {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #80745D;
    color: #FDFCFC;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 4px 16px;
    border-radius: 3px;
    z-index: 2;
    box-shadow: 0 1px 5px 1px #80745d14
}

.afl .split-label {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .14em;
    color: #80745D;
    text-transform: uppercase;
    margin-bottom: 16px;
    position: relative;
    z-index: 1
}

.afl .split-h1 {
    font-size: 60px;
    line-height: 1.15;
    font-weight: 900;
    color: #FDFCFC;
    margin: 0 0 16px;
    letter-spacing: -.01em;
    position: relative;
    z-index: 1
}

.afl .split-sub {
    font-size: 19px;
    line-height: 1.6;
    color: #fdfcfcb8;
    margin: 0 0 36px;
    max-width: 420px;
    position: relative;
    z-index: 1
}

.afl .split-dashed {
    border: 2px dashed #80745d59;
    border-radius: 6px;
    padding: 16px 36px;
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: border-color .65s cubic-bezier(0.4, 0, 1, 1)
}

.afl .split-dashed:hover {
    border-color: #80745de6
}

.afl .split-dashed .btn-primary {
    display: inline-block;
    background: #80745D;
    color: #FDFCFC;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    padding: 16px 36px;
    border-radius: 3px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    border: none;
    cursor: pointer;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: 0 7px 25px 1px #80745d1a
}

.afl .split-dashed .btn-primary::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 0;
    height: 120%;
    background: #FDFCFC;
    transform: skewX(-18deg);
    transition: width .75s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.afl .split-dashed .btn-primary:hover::before {
    width: 160%
}

.afl .split-dashed .btn-primary:hover {
    color: #1B1A16
}

.afl .split-dashed .btn-primary span {
    position: relative;
    z-index: 1
}

.afl .split-dashed .btn-primary:focus {
    outline: 3px solid #80745D;
    outline-offset: 3px
}

.afl .aff-sec {
    background: #FDFCFC;
    padding: 72px 0;
    position: relative
}

.afl .aff-sec::before {
    content: '';
    display: block;
    height: 4px;
    background: #80745D;
    width: 100%;
    margin-bottom: 72px
}

.afl .aff-inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px
}

.afl .aff-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.afl .aff-col-left {
    position: sticky;
    top: 36px
}

.afl .aff-col-right {
    margin-top: 72px
}

.afl .aff-tag {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #80745D;
    margin-bottom: 16px
}

.afl .aff-h2 {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 900;
    color: #1B1A16;
    margin: 0 0 16px;
    letter-spacing: -.01em
}

.afl .aff-lead {
    font-size: 19px;
    line-height: 1.6;
    color: #1B1A16;
    margin: 0 0 36px
}

.afl .quote-block {
    border-left: 4px solid #80745D;
    border-top: 1px solid #80745d33;
    border-bottom: 1px solid #80745d33;
    padding: 16px 36px;
    background: #80745d0f;
    border-radius: 0 6px 6px 0;
    margin: 36px 0;
    position: relative
}

.afl .quote-block .q-accent {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 900;
    color: #80745D;
    letter-spacing: -.02em;
    display: block;
    margin-bottom: 8px
}

.afl .quote-block .q-text {
    font-size: 19px;
    line-height: 1.6;
    color: #1B1A16;
    font-style: italic;
    margin: 0
}

.afl .quote-block .q-attr {
    font-size: 16px;
    color: #80745D;
    font-weight: 700;
    margin-top: 8px;
    display: block;
    font-style: normal
}

.afl .step-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.afl .step-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 6px;
    background: #FDFCFC;
    box-shadow: 0 1px 5px 1px #1b1a1614;
    border: 1px solid #80745d1f;
    transition: box-shadow .65s cubic-bezier(0.4, 0, 1, 1), border-color .65s cubic-bezier(0.4, 0, 1, 1);
    position: relative
}

.afl .step-list li:hover {
    box-shadow: 0 7px 25px 1px #80745d1a;
    border-color: #80745d66
}

.afl .step-list li .step-num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: #1B1A16;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 900;
    color: #FDFCFC
}

.afl .step-list li .step-body {
    flex: 1
}

.afl .step-list li .step-title {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    margin: 0 0 4px;
    line-height: 1.4
}

.afl .step-list li .step-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #1B1A16;
    margin: 0;
    opacity: .75
}

.afl .step-list li .corner-pip {
    position: absolute;
    top: -1px;
    right: -1px;
    width: 8px;
    height: 8px;
    background: #80745D;
    border-radius: 0 6px 0 3px
}

.afl .cta-strip {
    margin-top: 36px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.afl .btn-dark {
    display: inline-block;
    background: #1B1A16;
    color: #FDFCFC;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    padding: 16px 36px;
    border-radius: 3px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: 0 7px 25px 1px #1b1a161a
}

.afl .btn-dark::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 0;
    height: 120%;
    background: #80745D;
    transform: skewX(-18deg);
    transition: width .75s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.afl .btn-dark:hover::before {
    width: 160%
}

.afl .btn-dark span {
    position: relative;
    z-index: 1
}

.afl .btn-dark:focus {
    outline: 3px solid #1B1A16;
    outline-offset: 3px
}

.afl .contact-note {
    font-size: 16px;
    color: #1B1A16;
    opacity: .6;
    line-height: 1.6
}

.afl .contact-note a {
    color: #80745D;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity .12s ease-in
}

.afl .contact-note a:hover {
    opacity: .7
}

@media (max-width: 768px) {
    .afl .split {
        flex-direction: column
    }

    .afl .split-left {
        padding: 72px 36px
    }

    .afl .split-right {
        padding: 36px
    }

    .afl .split-h1 {
        font-size: 44px
    }

    .afl .aff-grid {
        grid-template-columns: 1fr
    }

    .afl .aff-col-left {
        position: static
    }

    .afl .aff-col-right {
        margin-top: 0
    }

    .afl .aff-h2 {
        font-size: 44px
    }
}

@media (max-width: 480px) {
    .afl .split-h1 {
        font-size: 44px
    }

    .afl .split-left {
        padding: 36px 16px
    }

    .afl .split-right {
        padding: 36px 16px
    }

    .afl .aff-inner {
        padding: 0 16px
    }
}

.bse {
    display: block;
    width: 100%;
    overflow-x: clip;
    background: #FDFCFC
}

.bse .ttl {
    position: relative;
    display: grid;
    grid-template-rows: auto auto;
    background: #FDFCFC;
    padding: 72px 0 0
}

.bse .ttl .dots {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.bse .ttl .dots span {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #80745D;
    opacity: .18
}

.bse .ttl .imgzone {
    position: relative;
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px
}

.bse .ttl .imgzone img {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
    object-position: center 30%;
    border-radius: 6px;
    display: block;
    filter: blur(0px);
    -webkit-mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 60%, transparent 100%);
    mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 60%, transparent 100%)
}

.bse .ttl .txtzone {
    max-width: 1024px;
    margin: 0 auto;
    padding: 36px 36px 72px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: end
}

.bse .ttl .txtzone .hed {
    grid-column: 1
}

.bse .ttl .txtzone .hed h1 {
    font-size: 60px;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #1B1A16;
    font-weight: 800;
    margin: 0 0 16px
}

.bse .ttl .txtzone .hed h1 span {
    display: block;
    color: #80745D
}

.bse .ttl .txtzone .sub {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: flex-end
}

.bse .ttl .txtzone .sub p {
    font-size: 19px;
    line-height: 1.6;
    color: #1B1A16;
    margin: 0;
    opacity: .82
}

.bse .ttl .txtzone .sub a {
    display: inline-block;
    background: #1B1A16;
    color: #FDFCFC;
    font-size: 16px;
    font-weight: 700;
    padding: 16px 36px;
    border-radius: 3px;
    text-decoration: none;
    letter-spacing: .06em;
    position: relative;
    overflow: hidden;
    transition: color .7s cubic-bezier(0.4, 0, 1, 1)
}

.bse .ttl .txtzone .sub a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #80745D 0%, #1B1A16 60%);
    opacity: 0;
    transition: opacity .7s cubic-bezier(0.4, 0, 1, 1)
}

.bse .ttl .txtzone .sub a:hover::before {
    opacity: 1
}

.bse .ttl .txtzone .sub a span {
    position: relative;
    z-index: 1
}

.bse .divline {
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px
}

.bse .divline::before,
.bse .divline::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #80745D;
    opacity: .25
}

.bse .divline em {
    font-size: 16px;
    color: #80745D;
    letter-spacing: .14em;
    font-style: normal;
    white-space: nowrap;
    opacity: .7
}

.bse .gap {
    background: #1B1A16;
    padding: 72px 0;
    position: relative;
    overflow: hidden
}

.bse .gap .gbg {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.bse .gap .gbg::after {
    content: '';
    position: absolute;
    right: -120px;
    top: -80px;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: radial-gradient(ellipse 70% 60% at 80% 30%, #80745d2e 0%, transparent 70%)
}

.bse .gap .ginner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px;
    display: grid;
    grid-template-columns: 5fr 4fr;
    gap: 72px;
    align-items: center
}

.bse .gap .gtxt h2 {
    font-size: 44px;
    line-height: 1.15;
    color: #FDFCFC;
    font-weight: 800;
    margin: 0 0 36px;
    letter-spacing: -.01em
}

.bse .gap .gtxt h2 em {
    font-style: normal;
    color: #80745D
}

.bse .gap .gtxt p {
    font-size: 19px;
    line-height: 1.6;
    color: #FDFCFC;
    opacity: .75;
    margin: 0 0 16px
}

.bse .gap .gtxt p strong {
    color: #FDFCFC;
    opacity: 1;
    font-weight: 700
}

.bse .gap .gvis {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.bse .gap .gcard {
    background: #fdfcfc0d;
    border: 1px solid #80745d4d;
    border-radius: 6px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.bse .gap .gcard .glabel {
    font-size: 16px;
    color: #80745D;
    letter-spacing: .1em;
    font-weight: 700
}

.bse .gap .gcard .gval {
    font-size: 44px;
    line-height: 1.15;
    color: #FDFCFC;
    font-weight: 800
}

.bse .gap .gcard .gdesc {
    font-size: 16px;
    line-height: 1.4;
    color: #FDFCFC;
    opacity: .6
}

.bse .gap .gcard .gbar {
    height: 4px;
    border-radius: 3px;
    background: #80745d33;
    margin-top: 8px
}

.bse .gap .gcard .gbar span {
    display: block;
    height: 100%;
    border-radius: 3px;
    background: #80745D
}

.bse .divline2 {
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px
}

.bse .divline2::before,
.bse .divline2::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #1B1A16;
    opacity: .15
}

.bse .divline2 em {
    font-size: 16px;
    color: #1B1A16;
    letter-spacing: .14em;
    font-style: normal;
    white-space: nowrap;
    opacity: .45
}

.bse .xp {
    background: #FDFCFC;
    padding: 72px 0
}

.bse .xp .xpinner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px
}

.bse .xp .xptop {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: start;
    margin-bottom: 72px
}

.bse .xp .xptop .xpleft h2 {
    font-size: 44px;
    line-height: 1.15;
    color: #1B1A16;
    font-weight: 800;
    margin: 0 0 16px;
    letter-spacing: -.01em
}

.bse .xp .xptop .xpleft p {
    font-size: 19px;
    line-height: 1.6;
    color: #1B1A16;
    opacity: .72;
    margin: 0
}

.bse .xp .xptop .xpimg {
    position: relative
}

.bse .xp .xptop .xpimg img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 6px;
    display: block
}

.bse .xp .cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px
}

.bse .xp .tcard {
    background: #FDFCFC;
    border-radius: 6px;
    padding: 36px;
    box-shadow: 0 7px 25px 1px #1b1a161a;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: start
}

.bse .xp .tcard .port {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0
}

.bse .xp .tcard .port img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.bse .xp .tcard .portph {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #80745D 0%, #1B1A16 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.bse .xp .tcard .portph svg {
    width: 32px;
    height: 32px
}

.bse .xp .tcard .tmeta {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.bse .xp .tcard .tname {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    letter-spacing: .04em
}

.bse .xp .tcard .trole {
    font-size: 16px;
    color: #80745D;
    letter-spacing: .08em
}

.bse .xp .tcard .tquote {
    grid-column: 1 / -1;
    font-size: 16px;
    line-height: 1.6;
    color: #1B1A16;
    opacity: .78;
    border-top: 1px solid #80745d33;
    padding-top: 16px;
    margin: 0
}

.bse .xp .tcard .tquote strong {
    font-weight: 700;
    opacity: 1;
    color: #1B1A16
}

.bse .divline3 {
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px
}

.bse .divline3::before,
.bse .divline3::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #80745D;
    opacity: .2
}

.bse .divline3 em {
    font-size: 16px;
    color: #80745D;
    letter-spacing: .14em;
    font-style: normal;
    white-space: nowrap;
    opacity: .6
}

.bse .grad {
    position: relative;
    padding: 72px 0;
    background: #FDFCFC
}

.bse .grad .gbgimg {
    position: absolute;
    inset: 0
}

.bse .grad .gbgimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.bse .grad .gbgimg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: #fdfcfce0
}

.bse .grad .grdinner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px;
    position: relative;
    z-index: 1
}

.bse .grad .grdtop {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 72px;
    align-items: start;
    margin-bottom: 72px
}

.bse .grad .grdtop h2 {
    font-size: 44px;
    line-height: 1.15;
    color: #1B1A16;
    font-weight: 800;
    margin: 0 0 16px;
    letter-spacing: -.01em
}

.bse .grad .grdtop p {
    font-size: 19px;
    line-height: 1.6;
    color: #1B1A16;
    opacity: .72;
    margin: 0
}

.bse .grad .grdtop .grdside {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 8px
}

.bse .grad .grdtop .grdside .stattile {
    background: #1B1A16;
    border-radius: 6px;
    padding: 16px
}

.bse .grad .grdtop .grdside .stattile .snum {
    font-size: 44px;
    line-height: 1.15;
    color: #80745D;
    font-weight: 800
}

.bse .grad .grdtop .grdside .stattile .sdesc {
    font-size: 16px;
    line-height: 1.4;
    color: #FDFCFC;
    opacity: .7;
    margin-top: 4px
}

.bse .grad .heat {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.bse .grad .heat .heattitle {
    font-size: 16px;
    color: #1B1A16;
    letter-spacing: .1em;
    font-weight: 700;
    margin-bottom: 8px;
    opacity: .6
}

.bse .grad .heat .heatrow {
    display: flex;
    gap: 4px;
    align-items: center
}

.bse .grad .heat .heatrow .hlabel {
    font-size: 16px;
    color: #1B1A16;
    opacity: .55;
    width: 120px;
    flex-shrink: 0
}

.bse .grad .heat .heatrow .hcells {
    display: flex;
    gap: 4px;
    flex-wrap: wrap
}

.bse .grad .heat .heatrow .hcell {
    width: 28px;
    height: 28px;
    border-radius: 3px
}

.bse .grad .heat .heatrow .hcell.l0 {
    background: #80745d14
}

.bse .grad .heat .heatrow .hcell.l1 {
    background: #80745d38
}

.bse .grad .heat .heatrow .hcell.l2 {
    background: #80745d6b
}

.bse .grad .heat .heatrow .hcell.l3 {
    background: #80745da6
}

.bse .grad .heat .heatrow .hcell.l4 {
    background: #80745D
}

.bse .grad .heat .hlegend {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
    padding-left: 124px
}

.bse .grad .heat .hlegend .hcell {
    width: 20px;
    height: 20px
}

.bse .grad .heat .hlegend span {
    font-size: 16px;
    color: #1B1A16;
    opacity: .45;
    margin-left: 4px
}

.bse .grad .imgrow {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin-top: 72px
}

.bse .grad .imgrow .icard {
    border-radius: 6px;
    overflow: hidden;
    position: relative
}

.bse .grad .imgrow .icard img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
    transition: opacity .8s cubic-bezier(0.4, 0, 1, 1)
}

.bse .grad .imgrow .icard:hover img {
    opacity: .85
}

.bse .grad .imgrow .icard .icap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #1b1a16b8;
    padding: 8px 16px
}

.bse .grad .imgrow .icard .icap span {
    font-size: 16px;
    color: #FDFCFC;
    letter-spacing: .06em
}

.bse .iconrect {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1.5px solid #80745D;
    border-radius: 6px;
    margin-bottom: 16px
}

.bse .iconrect svg {
    width: 24px;
    height: 24px
}

.bse .iconrect.anim {
    animation: irottle 2.4s cubic-bezier(0.4, 0, 1, 1) .8s 1 both
}

@keyframes irottle {
    0% {
        transform: rotate(0deg)
    }

    60% {
        transform: rotate(360deg)
    }

    80% {
        transform: rotate(340deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.bse .gradanim {
    background: linear-gradient(120deg, #1B1A16 0%, #80745D 50%, #1B1A16 100%);
    background-size: 300% 300%;
    animation: gangshift 6s ease-in-out infinite alternate
}

@keyframes gangshift {
    0% {
        background-position: 0 50%
    }

    100% {
        background-position: 100% 50%
    }
}

.bse .geomring {
    position: absolute;
    border: 1.5px solid #80745d1f;
    border-radius: 50%;
    pointer-events: none;
    animation: ringpulse 5s ease-in-out infinite alternate
}

@keyframes ringpulse {
    0% {
        opacity: .5;
        transform: scale(1)
    }

    100% {
        opacity: .18;
        transform: scale(1.06)
    }
}

@media (max-width: 768px) {
    .bse .ttl .txtzone {
        grid-template-columns: 1fr
    }

    .bse .ttl .txtzone .hed h1 {
        font-size: 44px
    }

    .bse .ttl .txtzone .hed {
        grid-column: 1
    }

    .bse .ttl .txtzone .sub {
        grid-column: 1
    }

    .bse .gap .ginner {
        grid-template-columns: 1fr;
        gap: 36px
    }

    .bse .xp .xptop {
        grid-template-columns: 1fr;
        gap: 36px
    }

    .bse .xp .cards {
        grid-template-columns: 1fr
    }

    .bse .grad .grdtop {
        grid-template-columns: 1fr;
        gap: 36px
    }

    .bse .grad .imgrow {
        grid-template-columns: 1fr 1fr
    }

    .bse .grad .heat .heatrow .hlabel {
        width: 80px;
        font-size: 16px
    }

    .bse .grad .heat .heatrow .hcell {
        width: 20px;
        height: 20px
    }

    .bse .grad .heat .hlegend {
        padding-left: 84px
    }
}

@media (max-width: 480px) {
    .bse .ttl .txtzone .hed h1 {
        font-size: 44px
    }

    .bse .grad .imgrow {
        grid-template-columns: 1fr
    }
}

.lrnprog {
    background: #FDFCFC;
    overflow-x: hidden
}

.lrnprog .grad-line {
    height: 2px;
    background: linear-gradient(90deg, #80745D 0%, transparent 100%);
    border: none;
    margin: 0
}

.lrnprog .prog-overview {
    padding: 72px 16px;
    background: #1B1A16;
    position: relative
}

.lrnprog .prog-overview::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;
    height: 100%;
    background: radial-gradient(ellipse 70% 60% at 85% 40%, #80745d2e 0%, transparent 70%);
    pointer-events: none
}

.lrnprog .overview-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 72px;
    align-items: flex-start
}

.lrnprog .overview-text {
    flex: 1 1 0;
    min-width: 0
}

.lrnprog .eyebrow {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .12em;
    color: #80745D;
    text-transform: uppercase;
    margin-bottom: 16px
}

.lrnprog .overview-text h1 {
    font-size: 60px;
    line-height: 1.15;
    font-weight: 800;
    color: #FDFCFC;
    margin: 0 0 36px;
    letter-spacing: -.01em
}

.lrnprog .overview-text h1 em {
    font-style: normal;
    color: #80745D
}

.lrnprog .overview-desc {
    font-size: 19px;
    line-height: 1.6;
    color: #fdfcfcbf;
    margin: 0 0 36px
}

.lrnprog .prog-tags {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 36px
}

.lrnprog .prog-tags span {
    font-size: 16px;
    line-height: 1.4;
    color: #FDFCFC;
    background: #80745d2e;
    border: 1px solid #80745d59;
    border-radius: 3px;
    padding: 4px 16px;
    letter-spacing: .03em
}

.lrnprog .btn-primary {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    color: #1B1A16;
    background: #FDFCFC;
    border: 2px solid #FDFCFC;
    border-radius: 6px;
    padding: 16px 36px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color .7s cubic-bezier(0.4, 0, 1, 1), border-color .7s cubic-bezier(0.4, 0, 1, 1);
    cursor: pointer
}

.lrnprog .btn-primary::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -120%;
    width: 110%;
    height: 120%;
    background: #80745D;
    transform: skewX(-15deg);
    transition: left .65s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.lrnprog .btn-primary:hover::before {
    left: 110%
}

.lrnprog .btn-primary:hover {
    color: #FDFCFC;
    border-color: #80745D
}

.lrnprog .btn-primary span {
    position: relative;
    z-index: 1
}

.lrnprog .overview-visual {
    flex: 0 0 340px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-end
}

.lrnprog .img-frame {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 12px 44px 1px #1b1a161a;
    position: relative
}

.lrnprog .img-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(0.82) contrast(1.08) saturate(0.7);
    transition: filter .8s cubic-bezier(0.4, 0, 1, 1)
}

.lrnprog .img-frame:hover img {
    filter: brightness(0.92) contrast(1.04) saturate(0.85)
}

.lrnprog .img-frame .bracket-tl,
.lrnprog .img-frame .bracket-br {
    position: absolute;
    width: 22px;
    height: 22px;
    pointer-events: none;
    z-index: 2
}

.lrnprog .img-frame .bracket-tl {
    top: 8px;
    left: 8px;
    border-top: 2px solid #80745D;
    border-left: 2px solid #80745D
}

.lrnprog .img-frame .bracket-br {
    bottom: 8px;
    right: 8px;
    border-bottom: 2px solid #80745D;
    border-right: 2px solid #80745D
}

.lrnprog .stat-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    width: 100%
}

.lrnprog .stat-item {
    flex: 1 1 0;
    background: #80745d1f;
    border: 1px solid #80745d38;
    border-radius: 6px;
    padding: 16px;
    text-align: center
}

.lrnprog .stat-item strong {
    display: block;
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    color: #FDFCFC
}

.lrnprog .stat-item small {
    font-size: 16px;
    line-height: 1.4;
    color: #fdfcfc99;
    letter-spacing: .04em
}

.lrnprog .detail-strip {
    padding: 72px 16px;
    background: #FDFCFC;
    position: relative
}

.lrnprog .detail-strip::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: radial-gradient(ellipse 60% 70% at 90% 30%, #80745d12 0%, transparent 70%);
    pointer-events: none
}

.lrnprog .detail-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 72px;
    align-items: flex-start
}

.lrnprog .detail-narrow {
    flex: 0 0 260px;
    display: flex;
    flex-direction: column;
    gap: 36px
}

.lrnprog .detail-wide {
    flex: 1 1 0;
    min-width: 0
}

.lrnprog .detail-wide h2 {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    color: #1B1A16;
    margin: 0 0 8px;
    letter-spacing: -.01em
}

.lrnprog .detail-wide .sub-eyebrow {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .1em;
    color: #80745D;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px
}

.lrnprog .module-list {
    list-style: none;
    padding: 0;
    margin: 36px 0 0;
    display: flex;
    flex-direction: column;
    gap: 4px
}

.lrnprog .module-list li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: background .65s cubic-bezier(0.4, 0, 1, 1), border-color .65s cubic-bezier(0.4, 0, 1, 1);
    cursor: default
}

.lrnprog .module-list li:hover {
    background: #80745d12;
    border-color: #80745d2e
}

.lrnprog .module-num {
    flex: 0 0 36px;
    height: 36px;
    border-radius: 3px;
    background: #1B1A16;
    color: #FDFCFC;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: .04em
}

.lrnprog .module-text h5 {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    margin: 0 0 4px;
    line-height: 1.4
}

.lrnprog .module-text p {
    font-size: 16px;
    line-height: 1.6;
    color: #80745D;
    margin: 0
}

.lrnprog .aside-card {
    background: #1B1A16;
    border-radius: 6px;
    padding: 36px 16px;
    box-shadow: 0 7px 25px 1px #1b1a161a;
    position: relative
}

.lrnprog .aside-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(ellipse 80% 60% at 80% 20%, #80745d24 0%, transparent 70%);
    border-radius: 6px;
    pointer-events: none
}

.lrnprog .aside-card h4 {
    font-size: 19px;
    font-weight: 700;
    color: #FDFCFC;
    margin: 0 0 16px;
    line-height: 1.4;
    position: relative;
    z-index: 1
}

.lrnprog .aside-card p {
    font-size: 16px;
    line-height: 1.6;
    color: #fdfcfcb3;
    margin: 0 0 16px;
    position: relative;
    z-index: 1
}

.lrnprog .aside-card .btn-inv {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .05em;
    color: #FDFCFC;
    background: transparent;
    border: 2px solid #80745d99;
    border-radius: 6px;
    padding: 8px 16px;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: color .7s cubic-bezier(0.4, 0, 1, 1), border-color .7s cubic-bezier(0.4, 0, 1, 1);
    z-index: 1
}

.lrnprog .aside-card .btn-inv::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -120%;
    width: 110%;
    height: 120%;
    background: #80745D;
    transform: skewX(-15deg);
    transition: left .65s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.lrnprog .aside-card .btn-inv:hover::before {
    left: 110%
}

.lrnprog .aside-card .btn-inv span {
    position: relative;
    z-index: 1
}

.lrnprog .aside-card .btn-inv:hover {
    border-color: #80745D
}

.lrnprog .reviews-row {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px
}

.lrnprog .review-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
    background: #80745d0f;
    border-radius: 6px;
    border-left: 3px solid #80745D;
    border-top: 1px solid #80745d1f;
    border-right: 1px solid #80745d1f;
    border-bottom: 1px solid #80745d1f
}

.lrnprog .review-portrait {
    flex: 0 0 48px;
    width: 48px;
    height: 72px;
    border-radius: 3px;
    overflow: hidden
}

.lrnprog .review-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.lrnprog .review-body {
    flex: 1 1 0;
    min-width: 0
}

.lrnprog .review-body strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    margin-bottom: 4px;
    line-height: 1.4
}

.lrnprog .review-body p {
    font-size: 16px;
    line-height: 1.6;
    color: #80745D;
    margin: 0
}

.lrnprog .img-side {
    width: 100%;
    aspect-ratio: 3/2;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 5px 1px #80745d14;
    position: relative
}

.lrnprog .img-side img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(0.88) saturate(0.75)
}

.lrnprog .img-side .bracket-tl,
.lrnprog .img-side .bracket-br {
    position: absolute;
    width: 18px;
    height: 18px;
    pointer-events: none;
    z-index: 2
}

.lrnprog .img-side .bracket-tl {
    top: 8px;
    left: 8px;
    border-top: 2px solid #80745D;
    border-left: 2px solid #80745D
}

.lrnprog .img-side .bracket-br {
    bottom: 8px;
    right: 8px;
    border-bottom: 2px solid #80745D;
    border-right: 2px solid #80745D
}

@media (max-width: 768px) {
    .lrnprog .overview-inner {
        flex-direction: column;
        gap: 36px
    }

    .lrnprog .overview-visual {
        flex: none;
        width: 100%;
        align-items: stretch
    }

    .lrnprog .overview-text h1 {
        font-size: 44px
    }

    .lrnprog .detail-inner {
        flex-direction: column;
        gap: 36px
    }

    .lrnprog .detail-narrow {
        flex: none;
        width: 100%;
        order: 2
    }

    .lrnprog .detail-wide {
        order: 1
    }

    .lrnprog .detail-wide h2 {
        font-size: 44px
    }
}

@media (max-width: 480px) {
    .lrnprog .overview-text h1 {
        font-size: 44px
    }

    .lrnprog .stat-row {
        flex-direction: column
    }
}

.ctus {
    background: #FDFCFC;
    overflow-x: clip
}

.ctus .titblock {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
    position: relative
}

.ctus .titblock .imgzone {
    position: relative;
    overflow: hidden
}

.ctus .titblock .imgzone img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: blur(0px);
    transition: filter .7s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .titblock .imgzone:hover img {
    filter: blur(3px)
}

.ctus .titblock .imgzone::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 80% 50%, transparent 40%, #1b1a168c 100%);
    pointer-events: none
}

.ctus .titblock .textzone {
    background: #1B1A16;
    padding: 72px 72px 72px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

.ctus .titblock .textzone::before {
    content: '';
    position: absolute;
    top: 36px;
    left: 16px;
    width: 3px;
    height: calc(100% - 72px);
    background: #80745D;
    opacity: .4;
    border-radius: 3px
}

.ctus .titblock .textzone .brace {
    position: absolute;
    top: 36px;
    right: 36px;
    width: 40px;
    height: 80px;
    border: 2px solid #80745d4d;
    border-left: none;
    border-radius: 0 6px 6px 0;
    pointer-events: none
}

.ctus .titblock .textzone .pagelabel {
    font-size: 16px;
    letter-spacing: .18em;
    color: #80745D;
    text-transform: uppercase;
    line-height: 1.4;
    margin-bottom: 16px;
    display: block
}

.ctus .titblock .textzone .tithead {
    font-size: 60px;
    font-weight: 800;
    line-height: 1.15;
    color: #FDFCFC;
    margin: 0 0 16px;
    letter-spacing: -.01em;
    animation: splitReveal .8s cubic-bezier(0.4, 0, 1, 1) both
}

@keyframes splitReveal {
    0% {
        letter-spacing: .3em;
        opacity: 0
    }

    100% {
        letter-spacing: -.01em;
        opacity: 1
    }
}

.ctus .titblock .textzone .titdesc {
    font-size: 19px;
    line-height: 1.6;
    color: #fdfcfcb8;
    margin: 0;
    max-width: 380px
}

.ctus .contactmain {
    max-width: 1024px;
    margin: 0 auto;
    padding: 72px 36px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 72px;
    align-items: start
}

.ctus .infoside {
    display: flex;
    flex-direction: column;
    gap: 36px
}

.ctus .infoside .infolabel {
    font-size: 16px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #80745D;
    font-weight: 700;
    line-height: 1.4;
    display: block;
    margin-bottom: 8px
}

.ctus .infoside .infotitle {
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    color: #1B1A16;
    margin: 0 0 16px;
    letter-spacing: -.01em
}

.ctus .infoside .infodesc {
    font-size: 19px;
    line-height: 1.6;
    color: #1B1A16;
    margin: 0;
    opacity: .75
}

.ctus .contactitems {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px
}

.ctus .contactitems .citem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #FDFCFC;
    border-radius: 6px;
    border: 1px solid #80745d2e;
    box-shadow: 0 1px 5px 1px #1b1a1614;
    transition: box-shadow .65s cubic-bezier(0.4, 0, 1, 1), border-color .65s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .contactitems .citem:hover {
    box-shadow: 0 7px 25px 1px #1b1a161a;
    border-color: #80745d61
}

.ctus .contactitems .citem .cicon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #80745d1f;
    border-radius: 6px
}

.ctus .contactitems .citem .cicon svg {
    width: 18px;
    height: 18px;
    stroke: #80745D;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ctus .contactitems .citem .ctext {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.ctus .contactitems .citem .ctypelabel {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    line-height: 1.4;
    letter-spacing: .04em
}

.ctus .contactitems .citem .cval {
    font-size: 16px;
    line-height: 1.6;
    color: #1B1A16;
    opacity: .72;
    text-decoration: none;
    transition: opacity .15s ease-in
}

.ctus .contactitems .citem .cval:hover {
    opacity: 1
}

.ctus .formside {
    background: #FDFCFC;
    border-radius: 6px;
    border: 1px solid #80745d33;
    box-shadow: 0 12px 44px 1px #1b1a161a;
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ctus .formside .formtitle {
    font-size: 19px;
    font-weight: 700;
    color: #1B1A16;
    line-height: 1.4;
    margin: 0 0 8px;
    letter-spacing: .02em
}

.ctus .formside form {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ctus .formside .fieldrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.ctus .formside .fgroup {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.ctus .formside .fgroup label {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    line-height: 1.4;
    letter-spacing: .04em
}

.ctus .formside .fgroup .inputwrap {
    position: relative;
    display: flex;
    align-items: center
}

.ctus .formside .fgroup .inputwrap .leadicon {
    position: absolute;
    left: 16px;
    width: 16px;
    height: 16px;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center
}

.ctus .formside .fgroup .inputwrap .leadicon svg {
    width: 15px;
    height: 15px;
    stroke: #80745D;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ctus .formside .fgroup input,
.ctus .formside .fgroup select,
.ctus .formside .fgroup textarea {
    width: 100%;
    padding: 16px 16px 16px 44px;
    font-size: 16px;
    line-height: 1.4;
    color: #1B1A16;
    background: #fdfcfce6;
    border: 1.5px solid #80745d40;
    border-radius: 6px;
    outline: none;
    box-sizing: border-box;
    transition: border-color .65s cubic-bezier(0.4, 0, 1, 1), box-shadow .65s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: inset 0 2px 4px #1b1a160d;
    appearance: none;
    -webkit-appearance: none
}

.ctus .formside .fgroup select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2380745D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 44px
}

.ctus .formside .fgroup textarea {
    resize: vertical;
    min-height: 100px
}

.ctus .formside .fgroup input::placeholder,
.ctus .formside .fgroup textarea::placeholder {
    color: #1b1a1661
}

.ctus .formside .fgroup input:focus,
.ctus .formside .fgroup select:focus,
.ctus .formside .fgroup textarea:focus {
    border-color: #80745D;
    box-shadow: inset 0 2px 4px #1b1a160d 0 0 0 3px #80745d24
}

.ctus .formside .privacyrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #80745d0f;
    border-radius: 6px;
    border: 1px solid #80745d26
}

.ctus .formside .privacyrow input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin-top: 2px;
    accent-color: #80745D;
    cursor: pointer
}

.ctus .formside .privacyrow .privtext {
    font-size: 16px;
    line-height: 1.6;
    color: #1B1A16;
    opacity: .8
}

.ctus .formside .privacyrow .privtext a {
    color: #80745D;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity .15s ease-in
}

.ctus .formside .privacyrow .privtext a:hover {
    opacity: .7
}

.ctus .formside .submitbtn {
    position: relative;
    overflow: hidden;
    padding: 16px 36px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #FDFCFC;
    background: #1B1A16;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    align-self: flex-start;
    transition: color .7s cubic-bezier(0.4, 0, 1, 1);
    box-shadow: 0 7px 25px 1px #1b1a161a
}

.ctus .formside .submitbtn::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 0;
    height: 120%;
    background: #80745D;
    transform: skewX(-18deg);
    transition: width .75s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.ctus .formside .submitbtn:hover::before {
    width: 160%
}

.ctus .formside .submitbtn span {
    position: relative;
    z-index: 1
}

.ctus .formside .submitbtn:focus-visible {
    outline: 3px solid #80745D;
    outline-offset: 3px
}

.ctus .darkstrip {
    background: #0e0d0b;
    padding: 72px 36px;
    position: relative;
    overflow: hidden
}

.ctus .darkstrip::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 36px solid #FDFCFC;
    pointer-events: none
}

.ctus .darkstrip .stripinner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 36px;
    align-items: start
}

.ctus .darkstrip .striphead {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 36px;
    margin-bottom: 8px
}

.ctus .darkstrip .striphead .stlabel {
    font-size: 16px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #80745D;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap
}

.ctus .darkstrip .striphead .stline {
    flex: 1;
    height: 1px;
    background: #80745d40
}

.ctus .darkstrip .metriccard {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 36px;
    border: 1px solid #80745d2e;
    border-radius: 6px;
    position: relative;
    background: #1b1a1699;
    transition: border-color .7s cubic-bezier(0.4, 0, 1, 1), background .7s cubic-bezier(0.4, 0, 1, 1);
    overflow: hidden
}

.ctus .darkstrip .metriccard:hover {
    border-color: #80745d80;
    background: #1b1a16d9
}

.ctus .darkstrip .metriccard .mnum {
    font-size: 60px;
    font-weight: 800;
    line-height: 1.15;
    color: #FDFCFC;
    letter-spacing: -.02em
}

.ctus .darkstrip .metriccard .mbar {
    width: 100%;
    height: 3px;
    background: #80745d33;
    border-radius: 3px;
    overflow: hidden;
    margin: 4px 0
}

.ctus .darkstrip .metriccard .mfill {
    height: 100%;
    background: #80745D;
    border-radius: 3px;
    transition: width .85s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .darkstrip .metriccard:hover .mfill {
    filter: brightness(1.2)
}

.ctus .darkstrip .metriccard .mtext {
    font-size: 16px;
    line-height: 1.6;
    color: #fdfcfca6
}

.ctus .darkstrip .metriccard .bracedeco {
    position: absolute;
    bottom: 16px;
    right: 16px;
    width: 28px;
    height: 48px;
    border: 1.5px solid #80745d33;
    border-left: none;
    border-radius: 0 3px 3px 0;
    pointer-events: none
}

.ctus .darkstrip .metriccard .bracedeco.left {
    left: 16px;
    right: auto;
    border: 1.5px solid #80745d33;
    border-right: none;
    border-left: 1.5px solid #80745d33;
    border-radius: 3px 0 0 3px
}

@media (max-width: 860px) {
    .ctus .titblock {
        grid-template-columns: 1fr
    }

    .ctus .titblock .imgzone {
        height: 260px
    }

    .ctus .titblock .textzone {
        padding: 36px
    }

    .ctus .titblock .textzone .tithead {
        font-size: 44px
    }

    .ctus .contactmain {
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 36px 16px
    }

    .ctus .darkstrip .stripinner {
        grid-template-columns: 1fr
    }

    .ctus .darkstrip .striphead {
        grid-column: 1
    }

    .ctus .formside .fieldrow {
        grid-template-columns: 1fr
    }
}

@media (max-width: 540px) {
    .ctus .titblock .textzone .tithead {
        font-size: 44px
    }

    .ctus .darkstrip {
        padding: 36px 16px
    }

    .ctus .infoside .infotitle {
        font-size: 44px
    }
}

.abut {
    background: #FDFCFC;
    overflow-x: clip;
    position: relative
}

.abut * {
    box-sizing: border-box
}

.abut a {
    text-decoration: none !important
}

.abut .pg-title {
    max-width: 1024px;
    margin: 0 auto;
    padding: 72px 36px;
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 36px;
    align-items: start;
    position: relative
}

.abut .pg-title::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(#80745d0f 1px, transparent 1px), linear-gradient(90deg, #80745d0f 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
    z-index: 0
}

.abut .pg-title .txt-col {
    position: relative;
    z-index: 1
}

.abut .pg-title .accent-phrase {
    display: inline-block;
    background: #1B1A16;
    color: #FDFCFC;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .12em;
    padding: 4px 16px;
    border-radius: 3px;
    margin-bottom: 16px
}

.abut .pg-title h1 {
    font-size: 60px;
    line-height: 1.15;
    font-weight: 800;
    color: #1B1A16;
    margin: 0 0 16px;
    letter-spacing: -.01em
}

.abut .pg-title h1 span {
    color: #80745D
}

.abut .pg-title .lead {
    font-size: 19px;
    line-height: 1.6;
    color: #3a3830;
    margin: 0;
    max-width: 560px
}

.abut .pg-title .img-strip {
    position: relative;
    z-index: 1;
    width: 220px;
    aspect-ratio: 5/7;
    overflow: hidden;
    border-radius: 0;
    opacity: 0;
    animation: fadeInStrip 900ms cubic-bezier(0.4, 0, 1, 1) 200ms forwards
}

.abut .pg-title .img-strip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    filter: brightness(0.88);
    transition: filter 700ms cubic-bezier(0.4, 0, 1, 1)
}

.abut .pg-title .img-strip:hover img {
    filter: brightness(1.05)
}

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

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

.abut .diag-reveal {
    opacity: 0;
    transform: translate(12px, 12px);
    animation: diagReveal 800ms cubic-bezier(0.4, 0, 1, 1) forwards
}

.abut .diag-reveal.d1 {
    animation-delay: 100ms
}

.abut .diag-reveal.d2 {
    animation-delay: 220ms
}

.abut .diag-reveal.d3 {
    animation-delay: 340ms
}

.abut .diag-reveal.d4 {
    animation-delay: 460ms
}

.abut .diag-reveal.d5 {
    animation-delay: 580ms
}

@keyframes diagReveal {
    from {
        opacity: 0;
        transform: translate(12px, 12px)
    }

    to {
        opacity: 1;
        transform: translate(0, 0)
    }
}

.abut .wave-div {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.abut .wave-div svg {
    display: block;
    width: 100%
}

.abut .story-sec {
    background: #1B1A16;
    position: relative;
    overflow: hidden
}

.abut .story-sec .bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .08;
    pointer-events: none
}

.abut .story-sec .inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 72px 36px;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: start
}

.abut .story-sec .lbl {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .14em;
    color: #80745D;
    margin: 0 0 16px;
    display: block
}

.abut .story-sec h2 {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    color: #FDFCFC;
    margin: 0 0 36px
}

.abut .story-sec .para {
    font-size: 19px;
    line-height: 1.6;
    color: #fdfcfcc7;
    margin: 0 0 16px
}

.abut .story-sec .para strong {
    color: #FDFCFC;
    font-weight: 600
}

.abut .story-sec .quote-bubble {
    background: #80745d26;
    border: 1px solid #80745d59;
    border-radius: 16px;
    padding: 36px;
    position: relative;
    margin-top: 8px
}

.abut .story-sec .quote-bubble::after {
    content: "";
    position: absolute;
    bottom: -14px;
    left: 36px;
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 0 solid transparent;
    border-top: 14px solid #80745d59
}

.abut .story-sec .quote-text {
    font-size: 19px;
    line-height: 1.6;
    color: #FDFCFC;
    margin: 0 0 16px;
    font-style: italic
}

.abut .story-sec .quote-author {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-top: 36px
}

.abut .story-sec .quote-portrait {
    width: 56px;
    height: 56px;
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0
}

.abut .story-sec .quote-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    filter: brightness(0.85);
    transition: filter 650ms cubic-bezier(0.4, 0, 1, 1)
}

.abut .story-sec .quote-portrait:hover img {
    filter: brightness(1.05)
}

.abut .story-sec .quote-name {
    font-size: 16px;
    font-weight: 700;
    color: #FDFCFC;
    margin: 0 0 4px
}

.abut .story-sec .quote-role {
    font-size: 16px;
    color: #fdfcfc8c;
    margin: 0
}

.abut .cards-sec {
    background: #FDFCFC;
    padding: 72px 0
}

.abut .cards-sec .top {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px 36px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px
}

.abut .cards-sec .top h2 {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    color: #1B1A16;
    margin: 0;
    max-width: 500px
}

.abut .cards-sec .top p {
    font-size: 16px;
    line-height: 1.6;
    color: #80745D;
    margin: 0;
    max-width: 280px;
    text-align: right
}

.abut .cards-grid {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.abut .card {
    background: #FDFCFC;
    border: 1px solid #80745d2e;
    border-radius: 6px;
    padding: 36px;
    position: relative;
    box-shadow: 0 1px 5px 1px #1b1a1614;
    transition: box-shadow 700ms cubic-bezier(0.4, 0, 1, 1), transform 700ms cubic-bezier(0.4, 0, 1, 1)
}

.abut .card:hover {
    box-shadow: 0 7px 25px 1px #1b1a161a;
    transform: translateY(-4px)
}

.abut .card .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1B1A16;
    color: #FDFCFC;
    font-size: 16px;
    font-weight: 800;
    width: 36px;
    height: 36px;
    border-radius: 3px;
    margin-bottom: 16px
}

.abut .card h4 {
    font-size: 19px;
    line-height: 1.4;
    font-weight: 700;
    color: #1B1A16;
    margin: 0 0 8px
}

.abut .card p {
    font-size: 16px;
    line-height: 1.6;
    color: #5a5448;
    margin: 0
}

.abut .card .card-img {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 3px;
    margin-bottom: 16px
}

.abut .card .card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.85);
    transition: filter 750ms cubic-bezier(0.4, 0, 1, 1)
}

.abut .card:hover .card-img img {
    filter: brightness(1.05)
}

.abut .card.wide {
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.abut .card.wide .card-img {
    margin-bottom: 0;
    height: 100%;
    aspect-ratio: unset
}

.abut .wave-div2 {
    width: 100%;
    line-height: 0;
    overflow: hidden;
    background: #FDFCFC
}

.abut .wave-div2 svg {
    display: block;
    width: 100%
}

.abut .team-sec {
    background: radial-gradient(ellipse 80% 60% at 75% 40%, #80745d1f 0%, transparent 70%), #FDFCFC;
    padding: 72px 0
}

.abut .team-sec .inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 36px
}

.abut .team-sec .hdr {
    margin-bottom: 36px
}

.abut .team-sec .hdr .lbl {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .12em;
    color: #80745D;
    margin-bottom: 8px
}

.abut .team-sec .hdr h2 {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    color: #1B1A16;
    margin: 0
}

.abut .team-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.abut .team-portrait-col {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abut .portrait-card {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    background: #FDFCFC;
    border: 1px solid #80745d26;
    border-radius: 6px;
    padding: 16px;
    box-shadow: 0 1px 5px 1px #1b1a1614;
    transition: box-shadow 680ms cubic-bezier(0.4, 0, 1, 1)
}

.abut .portrait-card:hover {
    box-shadow: 0 7px 25px 1px #1b1a161a
}

.abut .portrait-card .port-img {
    width: 80px;
    flex-shrink: 0;
    aspect-ratio: 5/7;
    overflow: hidden;
    border-radius: 0
}

.abut .portrait-card .port-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
    filter: brightness(0.88);
    transition: filter 700ms cubic-bezier(0.4, 0, 1, 1)
}

.abut .portrait-card:hover .port-img img {
    filter: brightness(1.05)
}

.abut .portrait-card .port-info {
    flex: 1
}

.abut .portrait-card .port-name {
    font-size: 19px;
    font-weight: 700;
    color: #1B1A16;
    margin: 0 0 4px
}

.abut .portrait-card .port-role {
    font-size: 16px;
    color: #80745D;
    font-weight: 600;
    margin: 0 0 8px
}

.abut .portrait-card .port-bio {
    font-size: 16px;
    line-height: 1.6;
    color: #5a5448;
    margin: 0
}

.abut .team-text-col {
    display: flex;
    flex-direction: column;
    gap: 36px
}

.abut .team-text-col .stat-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.abut .stat-box {
    background: #1B1A16;
    border-radius: 6px;
    padding: 36px 16px;
    text-align: center;
    position: relative;
    overflow: hidden
}

.abut .stat-box::before {
    content: "";
    position: absolute;
    top: -30px;
    right: -30px;
    width: 80px;
    height: 80px;
    border-radius: 0;
    border: 2px solid #80745d40;
    pointer-events: none
}

.abut .stat-box .stat-num {
    font-size: 44px;
    font-weight: 800;
    color: #FDFCFC;
    line-height: 1.15;
    display: block
}

.abut .stat-box .stat-label {
    font-size: 16px;
    color: #fdfcfc99;
    margin: 4px 0 0
}

.abut .team-text-col .desc-blk {
    font-size: 16px;
    line-height: 1.6;
    color: #3a3830
}

.abut .team-text-col .desc-blk strong {
    font-weight: 700;
    color: #1B1A16
}

.abut .team-text-col .desc-blk p {
    margin: 0 0 16px
}

.abut .team-text-col .desc-blk p:last-child {
    margin-bottom: 0
}

.abut .team-text-col .link-btn {
    display: inline-block;
    background: #1B1A16;
    color: #FDFCFC;
    font-size: 16px;
    font-weight: 700;
    padding: 16px 36px;
    border-radius: 3px;
    letter-spacing: .06em;
    position: relative;
    overflow: hidden;
    transition: color 160ms cubic-bezier(0.4, 0, 1, 1)
}

.abut .team-text-col .link-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #80745D;
    transform: translateX(-101%) skewX(-8deg);
    transition: transform 750ms cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.abut .team-text-col .link-btn:hover::before {
    transform: translateX(0) skewX(-8deg)
}

.abut .team-text-col .link-btn span {
    position: relative;
    z-index: 1
}

.abut .outlined-deco {
    position: absolute;
    pointer-events: none;
    z-index: 0
}

@media (max-width: 768px) {
    .abut .pg-title {
        grid-template-columns: 1fr;
        padding: 36px 16px
    }

    .abut .pg-title .img-strip {
        width: 100%;
        max-width: 280px;
        order: -1
    }

    .abut .pg-title h1 {
        font-size: 44px
    }

    .abut .story-sec .inner {
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 36px 16px
    }

    .abut .cards-sec {
        padding: 36px 0
    }

    .abut .cards-sec .top {
        flex-direction: column;
        align-items: flex-start;
        padding: 0 16px 36px
    }

    .abut .cards-sec .top p {
        text-align: left;
        max-width: 100%
    }

    .abut .cards-grid {
        grid-template-columns: 1fr;
        padding: 0 16px
    }

    .abut .card.wide {
        grid-column: span 1;
        grid-template-columns: 1fr
    }

    .abut .card.wide .card-img {
        aspect-ratio: 4/3;
        height: auto
    }

    .abut .team-sec .inner {
        padding: 0 16px
    }

    .abut .team-layout {
        grid-template-columns: 1fr
    }

    .abut .team-text-col .stat-row {
        grid-template-columns: 1fr 1fr
    }

    .abut .cards-sec .top h2 {
        font-size: 44px
    }
}

.avail {
    background: #FDFCFC;
    overflow-x: clip
}

.avail .pg-schema {
    display: none
}

.avail .sec-cover {
    position: relative;
    padding: 72px 16px;
    background: #1B1A16;
    overflow: hidden
}

.avail .sec-cover::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -80px;
    width: 520px;
    height: 520px;
    background: radial-gradient(ellipse 60% 55% at 70% 40%, #80745d2e 0%, transparent 72%);
    pointer-events: none;
    animation: spotpulse 7s ease-in-out infinite
}

@keyframes spotpulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1
    }

    50% {
        transform: scale(1.13);
        opacity: .7
    }
}

.avail .sec-cover::after {
    content: 'AVAIL';
    position: absolute;
    right: -16px;
    bottom: -24px;
    font-size: 160px;
    font-weight: 900;
    color: #80745d12;
    letter-spacing: -4px;
    line-height: 1.15;
    pointer-events: none;
    user-select: none
}

.avail .cover-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 36px
}

.avail .cover-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: #80745D;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.4
}

.avail .cover-label-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #80745D;
    flex-shrink: 0
}

.avail .cover-h1 {
    font-size: 60px;
    line-height: 1.15;
    color: #FDFCFC;
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0;
    max-width: 700px
}

.avail .cover-h1 .acc {
    color: #80745D
}

.avail .cover-desc {
    font-size: 19px;
    line-height: 1.6;
    color: #fdfcfcb8;
    max-width: 560px;
    margin: 0
}

.avail .cover-cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 16px;
    margin-top: 16px
}

.avail .cover-stat {
    background: #80745d1a;
    border: 1px solid #80745d38;
    border-radius: 6px;
    padding: 36px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    transition: border-color .65s cubic-bezier(0.4, 0, 1, 1), background .65s cubic-bezier(0.4, 0, 1, 1)
}

.avail .cover-stat:last-child {
    background: #80745d38;
    border-color: #80745D
}

.avail .cover-stat:active {
    animation: borderexpand .7s cubic-bezier(0.4, 0, 1, 1)
}

@keyframes borderexpand {
    0% {
        outline: 0 solid #80745d00
    }

    40% {
        outline: 4px solid #80745d80
    }

    100% {
        outline: 0 solid #80745d00
    }
}

.avail .cover-stat:hover {
    border-color: #80745d8c;
    background: #80745d29
}

.avail .stat-val {
    font-size: 44px;
    font-weight: 800;
    color: #FDFCFC;
    line-height: 1.15;
    letter-spacing: -.02em
}

.avail .stat-val .acc {
    color: #80745D
}

.avail .stat-lbl {
    font-size: 16px;
    color: #fdfcfc99;
    line-height: 1.4
}

.avail .cover-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: linear-gradient(to bottom, transparent, #FDFCFC);
    pointer-events: none
}

.avail .sec-map {
    padding: 72px 16px;
    background: #FDFCFC;
    position: relative
}

.avail .sec-map::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(to bottom, transparent, #80745D 30%, #80745D 70%, transparent);
    border-radius: 0 3px 3px 0
}

.avail .map-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 72px
}

.avail .map-head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 640px
}

.avail .map-h2 {
    font-size: 44px;
    font-weight: 800;
    color: #1B1A16;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0
}

.avail .map-h2 .acc {
    color: #80745D
}

.avail .map-intro {
    font-size: 19px;
    line-height: 1.6;
    color: #1B1A16;
    margin: 0;
    opacity: .75
}

.avail .map-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 16px
}

.avail .reg-card {
    background: #FDFCFC;
    border: 1px solid #1b1a161a;
    border-radius: 6px;
    padding: 36px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 1px 5px 1px #1b1a1614;
    transition: box-shadow .7s cubic-bezier(0.4, 0, 1, 1), border-color .7s cubic-bezier(0.4, 0, 1, 1);
    position: relative;
    overflow: hidden
}

.avail .reg-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #80745D;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .65s cubic-bezier(0.4, 0, 1, 1);
    border-radius: 3px 3px 0 0
}

.avail .reg-card:hover::before {
    transform: scaleX(1)
}

.avail .reg-card:hover {
    box-shadow: 0 7px 25px 1px #1b1a161a;
    border-color: #80745d4d
}

.avail .reg-card:active {
    animation: borderexpand .7s cubic-bezier(0.4, 0, 1, 1)
}

.avail .reg-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    margin-bottom: 8px
}

.avail .reg-name {
    font-size: 19px;
    font-weight: 700;
    color: #1B1A16;
    line-height: 1.4;
    margin: 0
}

.avail .reg-note {
    font-size: 16px;
    color: #1b1a16a6;
    line-height: 1.6;
    margin: 0
}

.avail .reg-badge {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    color: #80745D;
    background: #80745d1a;
    border-radius: 3px;
    padding: 4px 8px;
    margin-top: 8px;
    letter-spacing: .04em
}

.avail .map-complex {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: start
}

.avail .complex-list {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.avail .complex-h3 {
    font-size: 19px;
    font-weight: 700;
    color: #1B1A16;
    line-height: 1.4;
    margin: 0 0 8px;
    letter-spacing: .01em
}

.avail .feat-row {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 16px;
    align-items: start;
    padding: 16px;
    border-radius: 6px;
    border: 1px solid #1b1a1614;
    background: #80745d0a;
    transition: background .65s cubic-bezier(0.4, 0, 1, 1)
}

.avail .feat-row:hover {
    background: #80745d1a
}

.avail .feat-ico {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    margin-top: 2px
}

.avail .feat-text {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.avail .feat-title {
    font-size: 16px;
    font-weight: 700;
    color: #1B1A16;
    line-height: 1.4
}

.avail .feat-desc {
    font-size: 16px;
    color: #1b1a16a6;
    line-height: 1.6;
    margin: 0
}

.avail .complex-preview {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.avail .preview-img-wrap {
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 12px 44px 1px #1b1a161a
}

.avail .preview-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: opacity .8s ease-in
}

.avail .preview-caption {
    font-size: 16px;
    color: #1b1a1699;
    line-height: 1.6;
    margin: 0;
    padding-left: 16px;
    border-left: 3px solid #80745d59
}

.avail .map-reviews {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center;
    background: #1B1A16;
    border-radius: 16px;
    padding: 36px;
    position: relative;
    overflow: hidden
}

.avail .map-reviews::after {
    content: '';
    position: absolute;
    right: -60px;
    top: -60px;
    width: 320px;
    height: 320px;
    background: radial-gradient(ellipse 55% 50% at 70% 35%, #80745d26 0%, transparent 70%);
    pointer-events: none
}

.avail .reviews-left {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.avail .reviews-h3 {
    font-size: 44px;
    font-weight: 800;
    color: #FDFCFC;
    line-height: 1.15;
    letter-spacing: -.02em;
    margin: 0
}

.avail .reviews-h3 .acc {
    color: #80745D
}

.avail .reviews-sub {
    font-size: 16px;
    color: #fdfcfc99;
    line-height: 1.6;
    margin: 0
}

.avail .reviews-right {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.avail .rev-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    align-items: start;
    padding: 16px;
    border-radius: 6px;
    background: #80745d1a;
    border: 1px solid #80745d2e
}

.avail .rev-portrait {
    width: 56px;
    height: 72px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0
}

.avail .rev-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block
}

.avail .rev-body {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.avail .rev-name {
    font-size: 16px;
    font-weight: 700;
    color: #FDFCFC;
    line-height: 1.4
}

.avail .rev-region {
    font-size: 16px;
    color: #80745D;
    line-height: 1.4
}

.avail .rev-quote {
    font-size: 16px;
    color: #fdfcfcb8;
    line-height: 1.6;
    margin: 0
}

.avail .rev-stars {
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: center
}

.avail .star-svg {
    width: 14px;
    height: 14px
}

.avail .divider-fade {
    height: 2px;
    background: linear-gradient(to right, transparent, #80745d4d, transparent);
    margin: 0 16px
}

@media (max-width: 900px) {
    .avail .cover-cols {
        grid-template-columns: 1fr 1fr
    }

    .avail .map-grid {
        grid-template-columns: 1fr 1fr
    }

    .avail .map-complex {
        grid-template-columns: 1fr
    }

    .avail .map-reviews {
        grid-template-columns: 1fr
    }
}

@media (max-width: 600px) {
    .avail .cover-h1 {
        font-size: 44px
    }

    .avail .cover-cols {
        grid-template-columns: 1fr
    }

    .avail .map-grid {
        grid-template-columns: 1fr
    }

    .avail .map-reviews {
        padding: 36px 16px
    }

    .avail .reviews-h3 {
        font-size: 44px
    }

    .avail .map-h2 {
        font-size: 44px
    }

    .avail .sec-cover::after {
        font-size: 80px
    }
}

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

.successPg .wrap {
    max-width: 1024px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 36px
}

.successPg .iconRing {
    width: 80px;
    height: 80px;
    border-radius: 16px;
    background: linear-gradient(135deg, #80745D 0%, #1B1A16 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 7px 25px 1px #80745d1a;
    flex-shrink: 0
}

.successPg .iconRing svg {
    display: block
}

.successPg .msgBlock {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    max-width: 520px
}

.successPg .msgBlock .label {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: .12em;
    color: #80745D;
    font-weight: 600;
    text-transform: uppercase
}

.successPg .msgBlock .title {
    font-size: 44px;
    line-height: 1.15;
    color: #1B1A16;
    font-weight: 800;
    letter-spacing: -.01em;
    margin: 0
}

.successPg .msgBlock .desc {
    font-size: 19px;
    line-height: 1.6;
    color: #80745D;
    margin: 0
}

.successPg .divLine {
    width: 48px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #80745D, #1B1A16)
}

.successPg .actions {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center
}

.successPg .btnPrimary {
    display: inline-block;
    padding: 16px 36px;
    background: #1B1A16;
    color: #FDFCFC;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .04em;
    border-radius: 6px;
    text-decoration: none;
    border: 2px solid #1B1A16;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 5px 1px #1b1a1614;
    transition: color .7s cubic-bezier(0.4, 0, 1, 1), box-shadow .6s cubic-bezier(0.4, 0, 1, 1)
}

.successPg .btnPrimary::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #80745D 0%, #1B1A16 100%);
    transform: translateX(-101%) skewX(-8deg);
    transition: transform .7s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.successPg .btnPrimary:hover::before {
    transform: translateX(0) skewX(-8deg)
}

.successPg .btnPrimary:hover {
    box-shadow: 0 7px 25px 1px #1b1a161a
}

.successPg .btnPrimary span {
    position: relative;
    z-index: 1
}

.successPg .btnSecondary {
    display: inline-block;
    padding: 16px 36px;
    background: transparent;
    color: #1B1A16;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .04em;
    border-radius: 6px;
    text-decoration: none;
    border: 2px solid #80745D;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color .65s cubic-bezier(0.4, 0, 1, 1), border-color .65s cubic-bezier(0.4, 0, 1, 1)
}

.successPg .btnSecondary::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #80745d1f 0%, #1b1a1614 100%);
    transform: translateX(-101%) skewX(-8deg);
    transition: transform .65s cubic-bezier(0.4, 0, 1, 1);
    z-index: 0
}

.successPg .btnSecondary:hover::before {
    transform: translateX(0) skewX(-8deg)
}

.successPg .btnSecondary span {
    position: relative;
    z-index: 1
}

.successPg .noteBox {
    background: #FDFCFC;
    border: 1px solid #80745d38;
    border-top: 3px solid #80745D;
    border-radius: 6px;
    padding: 16px 36px;
    max-width: 420px;
    box-shadow: 0 1px 5px 1px #80745d14
}

.successPg .noteBox .noteText {
    font-size: 16px;
    line-height: 1.6;
    color: #80745D;
    margin: 0
}

.successPg .noteBox .noteText strong {
    color: #1B1A16;
    font-weight: 700
}

@media (max-width: 600px) {
    .successPg .msgBlock .title {
        font-size: 44px
    }

    .successPg .actions {
        flex-direction: column;
        align-items: stretch
    }

    .successPg .btnPrimary,
    .successPg .btnSecondary {
        text-align: center
    }

    .successPg .noteBox {
        padding: 16px
    }
}