body {
    margin: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'Inter', 'Ubuntu', sans-serif
}

.pagewrap {
    box-sizing: border-box;
    max-width: 1440px;
    margin: 0 auto
}

.sitehead {
    position: relative;
    background: linear-gradient(160deg, #F1F3EE 0%, #e8eddf 55%, #d6e3c0 100%);
    border-bottom: 2px solid #A2B987;
    box-shadow: 0 5px 28px -2px #95b24914;
    padding: 0;
    overflow: visible
}

.sitehead::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -32px;
    left: 0;
    right: 0;
    height: 32px;
    background: linear-gradient(to bottom, #d6e3c073 0%, #d6e3c000 100%);
    pointer-events: none;
    z-index: 0
}

.headband {
    box-sizing: border-box;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: stretch;
    gap: 32px;
    min-height: 96px
}

.brandzone {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding: 16px 0
}

.logoframe {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    background: #fff;
    border: 2px solid #A2B987;
    border-radius: 6px;
    box-shadow: inset 0 1px 3px #95b2491a 0 3px 3px -2px #95b24912 0 5px 28px -2px #95b24914;
    padding: 8px;
    flex-shrink: 0
}

.logoframe img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    object-position: center;
    display: block
}

.brandlabel {
    margin-left: 16px;
    display: flex;
    flex-direction: column;
    gap: 0
}

.brandname {
    font-family: 'Ubuntu', sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #2d3a1e;
    text-decoration: none;
    display: block
}

.brandname:hover {
    color: #95B249;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.brandname:focus {
    background-color: #F1F3EE;
    outline: 2px solid #95B249;
    border-radius: 6px
}

.brandtag {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .04em;
    color: #5a6e3a;
    font-weight: 400;
    margin-top: 4px
}

.headright {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    flex: 1;
    gap: 8px;
    padding: 16px 0
}

.headcontact {
    display: flex;
    align-items: center;
    gap: 8px
}

.headmail {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .03em;
    color: #3d4f22;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: background-color .18s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 8px
}

.headmail:hover {
    background-color: #F1F3EE;
    border-color: #A2B987
}

.headmail:focus {
    background-color: #F1F3EE;
    outline: 2px solid #95B249
}

.mailicon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.mailicon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #95B249;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

.primnav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end
}

.primnav a {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #2d3a1e;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 6px;
    border: 1.5px solid transparent;
    background: transparent;
    display: inline-block;
    min-height: 44px;
    display: flex;
    align-items: center;
    transition: background-color .22s cubic-bezier(0.0, 0, 0.2, 1), border-color .22s cubic-bezier(0.0, 0, 0.2, 1), color .22s cubic-bezier(0.0, 0, 0.2, 1)
}

.primnav a:hover {
    background-color: #95B249;
    border-color: #95B249;
    color: #fff
}

.primnav a:focus {
    background-color: #F1F3EE;
    outline: 2px solid #95B249
}

.primnav a.active {
    background-color: #F1F3EE;
    border-color: #A2B987;
    color: #2d3a1e
}

.navhome {
    background: #95B249;
    border-color: #95B249;
    color: #fff;
    box-shadow: 0 3px 3px -2px #95b24912
}

.navhome:hover {
    background-color: #7a9438 !important;
    border-color: #7a9438 !important
}

.sitefooter {
    background: linear-gradient(170deg, #2d3a1e 0%, #3d4f22 60%, #4a5e2a 100%);
    color: #c8d9a8;
    padding: 64px 0 0;
    position: relative
}

.footerwrap {
    box-sizing: border-box;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px
}

.footergrid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 64px;
    padding-bottom: 64px;
    border-bottom: 1px solid #a2b98740
}

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

.footerlogoframe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #fff;
    border: 2px solid #A2B987;
    border-radius: 6px;
    box-shadow: 0 3px 3px -2px #95b24912 0 5px 28px -2px #95b24914;
    padding: 8px;
    flex-shrink: 0
}

.footerlogoframe img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    object-position: center;
    display: block
}

.footerbrandname {
    font-family: 'Ubuntu', sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #fff
}

.footerdesc {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: .02em;
    color: #a8bf84;
    max-width: 280px
}

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

.footercolhead {
    font-family: 'Ubuntu', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #95B249;
    padding-bottom: 8px;
    border-bottom: 1px solid #95b2494d
}

.footerlinks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footerlinks li {
    display: flex;
    align-items: center
}

.footerlinks a {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .03em;
    color: #b8cfa0;
    text-decoration: none;
    padding: 4px 0;
    border-bottom: 1px solid transparent;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1), border-color .15s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px;
    display: flex;
    align-items: center
}

.footerlinks a:hover {
    color: #fff;
    border-bottom-color: #95B249
}

.footerlinks a:focus {
    background-color: #f1f3ee1a;
    outline: 2px solid #95B249;
    border-radius: 6px;
    padding-left: 8px
}

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

.footercontactlabel {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .03em;
    color: #a8bf84
}

.footermail {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .03em;
    color: #b8cfa0;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 6px;
    border: 1px solid #a2b98733;
    transition: background-color .2s cubic-bezier(0.4, 0, 0.2, 1), border-color .2s cubic-bezier(0.4, 0, 0.2, 1), color .2s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 44px
}

.footermail:hover {
    background-color: #95b2491f;
    border-color: #95B249;
    color: #fff
}

.footermail:focus {
    background-color: #f1f3ee1a;
    outline: 2px solid #95B249
}

.footermail svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #95B249;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0
}

.footerbottom {
    box-sizing: border-box;
    max-width: 1440px;
    margin: 0 auto;
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px
}

.footercopyright {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .03em;
    color: #7a9460
}

.footerlegallinks {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.footerlegallinks a {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .03em;
    color: #7a9460;
    text-decoration: none;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 4px 0;
    min-height: 44px;
    display: flex;
    align-items: center
}

.footerlegallinks a:hover {
    color: #95B249
}

.footerlegallinks a:focus {
    background-color: #f1f3ee1a;
    outline: 2px solid #95B249;
    border-radius: 6px;
    padding-left: 8px;
    padding-right: 8px
}

.footerbottomstrip {
    background: #00000026
}

.footerlogocenter {
    display: flex;
    justify-content: center;
    padding: 32px 0 0
}

@media (max-width: 900px) {
    .headband {
        flex-wrap: wrap;
        min-height: auto;
        padding: 16px 32px;
        gap: 16px
    }

    .headright {
        align-items: flex-start;
        width: 100%;
        padding: 0 0 16px
    }

    .primnav {
        justify-content: flex-start
    }

    .footergrid {
        grid-template-columns: 1fr 1fr;
        gap: 32px
    }

    .footerbrand {
        grid-column: 1 / -1
    }
}

@media (max-width: 600px) {
    .headband {
        padding: 16px;
        gap: 16px
    }

    .brandlabel {
        margin-left: 8px
    }

    .brandname {
        font-size: 25px
    }

    .primnav {
        gap: 8px
    }

    .primnav a {
        padding: 8px;
        font-size: 13px
    }

    .footerwrap {
        padding: 0 16px
    }

    .footergrid {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-bottom: 32px
    }

    .footerbottom {
        flex-direction: column;
        align-items: flex-start;
        padding: 32px 16px
    }

    .footerbottomstrip .footerbottom {
        align-items: center
    }
}

.legal-details {
    max-width: 1440px;
    margin: 0 auto;
    padding: 64px 96px;
    background: #fff
}

.legal-details h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.03em;
    color: #1b2410;
    margin-bottom: 32px;
    margin-top: 0;
    padding-bottom: 16px;
    border-bottom: 2px solid #F1F3EE
}

.legal-details h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1b2410;
    margin-top: 64px;
    margin-bottom: 16px;
    padding-left: 16px;
    border-left: 4px solid #95B249;
    border-bottom: 1px solid #F1F3EE;
    padding-bottom: 8px
}

.legal-details h3 {
    font-size: 25px;
    line-height: 1.6;
    letter-spacing: -.01em;
    color: #2a3a1a;
    margin-top: 32px;
    margin-bottom: 16px
}

.legal-details h4 {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #95B249;
    margin-top: 32px;
    margin-bottom: 8px;
    font-weight: 700
}

.legal-details h5 {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .04em;
    color: #3a4a2a;
    margin-top: 16px;
    margin-bottom: 8px;
    font-weight: 600
}

.legal-details h6 {
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: .02em;
    color: #4a5a3a;
    margin-top: 16px;
    margin-bottom: 8px;
    font-weight: 600;
    font-style: italic
}

.legal-details a {
    color: #95B249;
    text-decoration: underline;
    text-decoration-color: #95b24966;
    text-underline-offset: 3px;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.legal-details a:hover {
    color: #6a8a30;
    text-decoration-color: #6a8a30cc
}

.legal-details a:visited {
    color: #A2B987
}

.legal-details hr {
    border: none;
    border-top: 1px solid #F1F3EE;
    margin: 64px 0;
    position: relative
}

.legal-details hr::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: #95B249;
    border-radius: 6px;
    margin: -2px auto 0
}

.legal-details div {
    line-height: 1.9;
    font-size: 13px;
    color: #2a3a1a
}

.legal-details table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-size: 13px;
    line-height: 1.6;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 3px 3px -2px #95b24912 0 5px 28px -2px #95b24914
}

.legal-details thead {
    background: #F1F3EE
}

.legal-details thead tr {
    border-bottom: 2px solid #A2B987
}

.legal-details tbody tr {
    border-bottom: 1px solid #F1F3EE;
    transition: background-color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.legal-details tbody tr:last-child {
    border-bottom: none
}

.legal-details tbody tr:hover {
    background: #f1f3ee99
}

.legal-details th {
    padding: 16px;
    text-align: left;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #2a3a1a;
    font-weight: 700
}

.legal-details td {
    padding: 16px;
    color: #3a4a2a;
    line-height: 1.6;
    vertical-align: top
}

.legal-details tbody td:first-child {
    font-weight: 600;
    color: #2a3a1a
}

@media (max-width: 900px) {
    .legal-details {
        padding: 64px 32px
    }

    .legal-details h1 {
        font-size: 34px
    }

    .legal-details h2 {
        font-size: 25px;
        margin-top: 32px
    }

    .legal-details table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

@media (max-width: 600px) {
    .legal-details {
        padding: 32px 16px
    }

    .legal-details h1 {
        font-size: 25px;
        letter-spacing: -.01em
    }

    .legal-details h2 {
        font-size: 13px;
        margin-top: 32px;
        letter-spacing: .02em
    }

    .legal-details h3 {
        font-size: 13px
    }

    .legal-details hr {
        margin: 32px 0
    }

    .legal-details th,
    .legal-details td {
        padding: 8px
    }
}

.wbdet {
    max-width: 1440px;
    margin: 0 auto;
    background: #fff
}

.wbdet .overline {
    display: block;
    font-size: 13px;
    letter-spacing: .08em;
    color: #95B249;
    text-transform: uppercase;
    margin-bottom: 8px;
    line-height: 1.2
}

.wbdet .dotdiv {
    border: none;
    border-top: 2px dotted #95B249;
    margin: 32px 0;
    opacity: .5
}

.wbdet .gradword {
    background: linear-gradient(135deg, #3a4a1e 0%, #95B249 55%, #c8dfa0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.wbdet .bracket {
    color: #95B249
}

::selection {
    background: #95B249;
    color: #fff
}

.wbdet .tophd {
    background: #1e2614;
    padding: 64px;
    position: relative;
    overflow: hidden
}

.wbdet .tophd::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(155deg, #1e2614 0%, #2e3d1a 50%, #1a2010 100%);
    pointer-events: none
}

.wbdet .tophd-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: flex-start;
    max-width: 1200px
}

.wbdet .tophd-text {
    flex: 1 1 0;
    min-width: 0
}

.wbdet .tophd-text .corner-box {
    position: relative;
    display: inline-block;
    padding: 8px 16px
}

.wbdet .tophd-text .corner-box::before,
.wbdet .tophd-text .corner-box::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border-color: #95B249;
    border-style: solid
}

.wbdet .tophd-text .corner-box::before {
    top: 0;
    left: 0;
    border-width: 2px 0 0 2px
}

.wbdet .tophd-text .corner-box::after {
    bottom: 0;
    right: 0;
    border-width: 0 2px 2px 0
}

.wbdet .tophd-meta {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px;
    align-items: center
}

.wbdet .metabadge {
    font-size: 13px;
    line-height: 1.2;
    padding: 8px 16px;
    border-radius: 6px;
    background: #95b24926;
    color: #A2B987;
    letter-spacing: .04em
}

.wbdet .metabadge.accent {
    background: #95B249;
    color: #fff
}

.wbdet .tophd-h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #e8eee0;
    margin: 0 0 32px;
    font-weight: 700
}

.wbdet .tophd-sub {
    font-size: 25px;
    line-height: 1.6;
    color: #A2B987;
    margin: 0 0 32px;
    font-weight: 400
}

.wbdet .tophd-stats {
    display: flex;
    flex-direction: row;
    gap: 32px;
    flex-wrap: wrap
}

.wbdet .tophd-stat {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.wbdet .tophd-stat .stlabel {
    font-size: 13px;
    color: #7a9a50;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1.2
}

.wbdet .tophd-stat .stval {
    font-size: 25px;
    color: #e8eee0;
    font-weight: 600;
    line-height: 1.2
}

.wbdet .tophd-img {
    flex: 0 0 380px;
    width: 380px
}

.wbdet .imgframe {
    position: relative;
    width: 380px;
    height: 280px;
    border-radius: 6px;
    overflow: hidden
}

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

.wbdet .imgframe .imgoverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(155deg, #95b24973 0%, #1e261499 100%);
    pointer-events: none
}

.wbdet .imgframe .imgcorner {
    position: absolute;
    width: 24px;
    height: 24px;
    border-color: #95B249;
    border-style: solid;
    pointer-events: none
}

.wbdet .imgframe .imgcorner.tl {
    top: 8px;
    left: 8px;
    border-width: 2px 0 0 2px
}

.wbdet .imgframe .imgcorner.br {
    bottom: 8px;
    right: 8px;
    border-width: 0 2px 2px 0
}

.wbdet .bodysec {
    padding: 64px;
    background: #fff
}

.wbdet .bodygrid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 64px;
    max-width: 1200px;
    align-items: start
}

.wbdet .bodymain .descblock {
    margin-bottom: 32px
}

.wbdet .descblock h2 {
    font-size: 25px;
    line-height: 1.6;
    color: #2a3618;
    font-weight: 700;
    margin: 0 0 16px;
    letter-spacing: -.01em
}

.wbdet .descblock p {
    font-size: 13px;
    line-height: 1.9;
    color: #3d4d2a;
    margin: 0 0 16px;
    letter-spacing: .02em
}

.wbdet .descblock p:last-child {
    margin-bottom: 0
}

.wbdet .descblock mark {
    background: #95b2492e;
    color: #2a3618;
    border-radius: 6px;
    padding: 0 4px
}

.wbdet .descblock blockquote {
    border-top: 2px dotted #95B249;
    border-bottom: 2px dotted #95B249;
    margin: 32px 0;
    padding: 16px 32px;
    background: #F1F3EE;
    border-radius: 6px
}

.wbdet .descblock blockquote p {
    font-size: 25px;
    line-height: 1.6;
    color: #2a3618;
    font-style: italic;
    margin: 0
}

.wbdet .descblock blockquote cite {
    display: block;
    font-size: 13px;
    color: #95B249;
    margin-top: 8px;
    font-style: normal;
    letter-spacing: .04em
}

.wbdet .descblock ol {
    padding-left: 32px;
    margin: 0 0 16px
}

.wbdet .descblock ol li {
    font-size: 13px;
    line-height: 1.9;
    color: #3d4d2a;
    margin-bottom: 8px;
    letter-spacing: .02em
}

.wbdet .descblock dl {
    margin: 0 0 16px
}

.wbdet .descblock dt {
    font-size: 13px;
    font-weight: 700;
    color: #2a3618;
    line-height: 1.6;
    letter-spacing: .03em
}

.wbdet .descblock dd {
    font-size: 13px;
    color: #3d4d2a;
    line-height: 1.9;
    margin: 0 0 16px 32px
}

.wbdet .descblock details {
    border-radius: 6px;
    background: #F1F3EE;
    margin-bottom: 8px;
    overflow: hidden
}

.wbdet .descblock summary {
    font-size: 13px;
    font-weight: 600;
    color: #2a3618;
    padding: 16px;
    cursor: pointer;
    line-height: 1.6;
    letter-spacing: .02em
}

.wbdet .descblock details[open] summary {
    color: #95B249
}

.wbdet .descblock details p {
    padding: 0 16px 16px;
    margin: 0
}

.wbdet .descblock figure {
    margin: 32px 0
}

.wbdet .descblock figcaption {
    font-size: 13px;
    color: #7a9a50;
    line-height: 1.6;
    margin-top: 8px;
    font-style: italic
}

.wbdet .progblock {
    background: #F1F3EE;
    border-radius: 6px;
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: 0 3px 3px -2px #95b24912
}

.wbdet .progblock h2 {
    font-size: 25px;
    line-height: 1.6;
    color: #2a3618;
    font-weight: 700;
    margin: 0 0 16px
}

.wbdet .progblock p {
    font-size: 13px;
    line-height: 1.9;
    color: #3d4d2a;
    margin: 0 0 16px
}

.wbdet .progblock ol {
    padding-left: 32px;
    margin: 0;
    counter-reset: progcnt;
    list-style: none
}

.wbdet .progblock ol li {
    font-size: 13px;
    line-height: 1.9;
    color: #3d4d2a;
    margin-bottom: 16px;
    padding-left: 8px;
    position: relative;
    counter-increment: progcnt;
    letter-spacing: .02em
}

.wbdet .progblock ol li::before {
    content: counter(progcnt, decimal-leading-zero);
    position: absolute;
    left: -32px;
    top: 0;
    font-size: 13px;
    font-weight: 700;
    color: #95B249;
    line-height: 1.9
}

.wbdet .progblock blockquote {
    border-radius: 6px;
    background: #fff;
    padding: 16px;
    margin: 16px 0;
    box-shadow: 0 3px 3px -2px #95b24912
}

.wbdet .progblock blockquote p {
    font-size: 13px;
    color: #2a3618;
    font-style: italic;
    margin: 0
}

.wbdet .progblock blockquote cite {
    font-size: 13px;
    color: #95B249;
    display: block;
    margin-top: 8px;
    font-style: normal
}

.wbdet .progblock abbr {
    text-decoration: underline dotted #95B249;
    cursor: help;
    color: #2a3618
}

.wbdet .sidecard {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: sticky;
    top: 32px
}

.wbdet .pricecard {
    background: #1e2614;
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 8px 60px -2px #95b2491a
}

.wbdet .pricecard .pcoverline {
    font-size: 13px;
    color: #7a9a50;
    letter-spacing: .08em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
    line-height: 1.2
}

.wbdet .pricecard .pcprice {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.03em;
    color: #e8eee0;
    font-weight: 700;
    margin-bottom: 8px
}

.wbdet .pricecard .pcnote {
    font-size: 13px;
    color: #A2B987;
    line-height: 1.6;
    margin-bottom: 16px;
    letter-spacing: .02em
}

.wbdet .pricecard .pcdesc {
    font-size: 13px;
    color: #7a9a50;
    line-height: 1.9;
    margin-bottom: 32px;
    letter-spacing: .02em
}

.wbdet .pricecard .pcseats {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 32px;
    padding: 16px;
    background: #95b2491a;
    border-radius: 6px
}

.wbdet .pricecard .pcseats .seatdot {
    width: 8px;
    height: 8px;
    border-radius: 48px;
    background: #95B249;
    flex-shrink: 0;
    animation: seatpulse 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite
}

@keyframes seatpulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .4
    }
}

.wbdet .pricecard .pcseats .seattxt {
    font-size: 13px;
    color: #A2B987;
    line-height: 1.2;
    letter-spacing: .03em
}

.wbdet .pricecard .pcseats .seatnum {
    font-weight: 700;
    color: #95B249
}

.wbdet .pcbtn {
    display: block;
    width: 100%;
    padding: 16px 32px;
    background: #95B249;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), padding .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .15s cubic-bezier(0.0, 0, 0.2, 1);
    box-shadow: 0 5px 28px -2px #95b24914
}

.wbdet .pcbtn:hover {
    background: #7a9a3a;
    padding-left: 40px;
    padding-right: 40px;
    box-shadow: 0 8px 60px -2px #95b2491a
}

.wbdet .pcbtn:active {
    box-shadow: inset 0 2px 6px #95b2492e
}

.wbdet .pcbtn:focus {
    outline: 2px solid #95B249;
    outline-offset: 2px
}

.wbdet .infocard {
    background: #F1F3EE;
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 3px 3px -2px #95b24912
}

.wbdet .infocard .iclabel {
    font-size: 13px;
    color: #7a9a50;
    letter-spacing: .06em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 16px;
    line-height: 1.2
}

.wbdet .infocard .icrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px dotted #95b2494d
}

.wbdet .infocard .icrow:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.wbdet .infocard .icrow:first-of-type {
    padding-top: 0
}

.wbdet .infocard .icicon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.wbdet .infocard .icicon svg {
    width: 20px;
    height: 20px
}

.wbdet .infocard .ictxt {
    flex: 1 1 0
}

.wbdet .infocard .ictxt .ictitle {
    font-size: 13px;
    font-weight: 700;
    color: #2a3618;
    line-height: 1.6;
    display: block
}

.wbdet .infocard .ictxt .icval {
    font-size: 13px;
    color: #5a7040;
    line-height: 1.6
}

.wbdet .revealblock {
    overflow: hidden;
    animation: heightreveal .7s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes heightreveal {
    from {
        max-height: 0;
        opacity: 0
    }

    to {
        max-height: 2000px;
        opacity: 1
    }
}

.wbdet .liftcard {
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.0, 0, 0.2, 1)
}

.wbdet .liftcard:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 60px -2px #95b2491a
}

.wbdet .texturebg {
    position: relative
}

.wbdet .texturebg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='1' height='1' fill='%2395B249' opacity='0.04'/%3E%3C/svg%3E");
    background-repeat: repeat;
    pointer-events: none;
    border-radius: 6px
}

@media (max-width: 900px) {
    .wbdet .tophd {
        padding: 32px
    }

    .wbdet .tophd-inner {
        flex-direction: column;
        gap: 32px
    }

    .wbdet .tophd-h1 {
        font-size: 34px
    }

    .wbdet .tophd-img {
        flex: none;
        width: 100%
    }

    .wbdet .imgframe {
        width: 100%;
        height: 220px
    }

    .wbdet .bodysec {
        padding: 32px
    }

    .wbdet .bodygrid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .wbdet .sidecard {
        position: static
    }
}

@media (max-width: 600px) {
    .wbdet .tophd {
        padding: 32px 16px
    }

    .wbdet .tophd-h1 {
        font-size: 25px
    }

    .wbdet .tophd-sub {
        font-size: 13px
    }

    .wbdet .tophd-stats {
        gap: 16px
    }

    .wbdet .pricecard .pcprice {
        font-size: 34px
    }

    .wbdet .bodysec {
        padding: 32px 16px
    }

    .wbdet .progblock {
        padding: 16px
    }

    .wbdet .pricecard {
        padding: 16px
    }

    .wbdet .infocard {
        padding: 16px
    }
}

.blogdet {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.blogdet .art-frame {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 64px;
    padding: 64px 96px;
    background: #fff;
    border-top: 2px solid #95B249;
    border-bottom: 2px solid #A2B987;
    position: relative
}

.blogdet .art-frame::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #95B249 40%, #A2B987 60%, transparent 100%);
    pointer-events: none
}

.blogdet .art-imgbox {
    flex: 0 0 480px;
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    height: 380px
}

.blogdet .art-imgbox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: saturate(1);
    transition: filter .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.blogdet .art-imgbox:hover img {
    filter: saturate(0)
}

.blogdet .art-imgbox .imgoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #95b2498c 0%, #a2b9874d 50%, transparent 100%);
    pointer-events: none
}

.blogdet .art-imgbox .imgstripe {
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #95B249 0%, #A2B987 100%);
    pointer-events: none
}

.blogdet .artmeta {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 32px
}

.blogdet .artmeta .metaoverline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.blogdet .artmeta .metaoverline .overline-bar {
    width: 32px;
    height: 2px;
    background: #95B249;
    flex-shrink: 0
}

.blogdet .artmeta .metaoverline .cattag {
    font-size: 13px;
    letter-spacing: .08em;
    color: #95B249;
    font-weight: 700;
    text-transform: uppercase
}

.blogdet .artmeta .arttitle {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1e2a10;
    font-weight: 800;
    margin: 0
}

.blogdet .artmeta .artinforow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap
}

.blogdet .artmeta .artinforow .infoitem {
    font-size: 13px;
    color: #5a6b3a;
    letter-spacing: .04em;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.blogdet .artmeta .artinforow .infoitem svg {
    flex-shrink: 0
}

.blogdet .artmeta .artinforow .infodot {
    width: 4px;
    height: 4px;
    border-radius: 48px;
    background: #A2B987;
    flex-shrink: 0
}

.blogdet .artmeta .tagpill {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: #F1F3EE;
    border-radius: 6px;
    font-size: 13px;
    color: #4a5e28;
    font-weight: 600;
    letter-spacing: .03em;
    box-shadow: 0 3px 3px -2px #95b24912;
    align-self: flex-start
}

.blogdet .artmeta .readlink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    background: #95B249;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .05em;
    border-radius: 6px;
    text-decoration: none;
    align-self: flex-start;
    box-shadow: 0 5px 28px -2px #95b24914;
    transition: padding .18s cubic-bezier(0.4, 0, 0.2, 1), background .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.blogdet .artmeta .readlink:hover {
    padding: 16px 48px;
    background: #7a9638
}

.blogdet .artmeta .readlink:active {
    box-shadow: inset 0 2px 6px #95b2492e
}

.blogdet .divline {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #95B249 35%, #A2B987 65%, transparent 100%);
    margin: 0 96px
}

.blogdet .artbody {
    display: flex;
    flex-direction: row;
    gap: 64px;
    padding: 64px 96px;
    background: #fff;
    align-items: flex-start
}

.blogdet .artbody .bodymain {
    flex: 2 1 0;
    min-width: 0
}

.blogdet .artbody .bodyside {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.blogdet .artbody .bodymain .arttext p {
    font-size: 13px;
    line-height: 1.9;
    color: #2e3d18;
    margin-bottom: 16px;
    letter-spacing: .01em
}

.blogdet .artbody .bodymain .arttext h2 {
    font-size: 25px;
    line-height: 1.2;
    color: #1e2a10;
    font-weight: 700;
    margin: 32px 0 16px;
    letter-spacing: -.01em
}

.blogdet .artbody .bodymain .arttext h3 {
    font-size: 25px;
    line-height: 1.2;
    color: #2e3d18;
    font-weight: 600;
    margin: 32px 0 16px
}

.blogdet .artbody .bodymain .arttext blockquote {
    margin: 32px 0;
    padding: 16px 32px;
    background: #F1F3EE;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.9;
    color: #4a5e28;
    font-style: italic;
    box-shadow: 0 3px 3px -2px #95b24912
}

.blogdet .artbody .bodymain .arttext cite {
    font-size: 13px;
    color: #7a9638;
    font-style: normal;
    font-weight: 600
}

.blogdet .artbody .bodymain .arttext table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-size: 13px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 5px 28px -2px #95b24914
}

.blogdet .artbody .bodymain .arttext td {
    padding: 16px;
    border-bottom: 1px solid #e8eddf;
    color: #2e3d18;
    line-height: 1.6
}

.blogdet .artbody .bodymain .arttext tr:first-child td {
    background: #95B249;
    color: #fff;
    font-weight: 700
}

.blogdet .artbody .bodymain .arttext tr:nth-child(even) td {
    background: #F1F3EE
}

.blogdet .artbody .bodyside .sidecard {
    background: #F1F3EE;
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 3px 3px -2px #95b24912
}

.blogdet .artbody .bodyside .sidecard .sideoverline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px
}

.blogdet .artbody .bodyside .sidecard .sideoverline .sidebar {
    width: 24px;
    height: 2px;
    background: #95B249
}

.blogdet .artbody .bodyside .sidecard .sideoverline span {
    font-size: 13px;
    font-weight: 700;
    color: #95B249;
    letter-spacing: .07em;
    text-transform: uppercase
}

.blogdet .artbody .bodyside .sidecard .sidetext {
    font-size: 13px;
    line-height: 1.9;
    color: #3a4e20
}

.blogdet .artbody .bodyside .accentphrase {
    color: #95B249
}

.blogdet .artbody .bodyside .authornote {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 32px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 5px 28px -2px #95b24914
}

.blogdet .artbody .bodyside .authornote .anoverline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.blogdet .artbody .bodyside .authornote .anoverline .anbar {
    width: 24px;
    height: 2px;
    background: #A2B987
}

.blogdet .artbody .bodyside .authornote .anoverline span {
    font-size: 13px;
    font-weight: 700;
    color: #A2B987;
    letter-spacing: .07em;
    text-transform: uppercase
}

.blogdet .artbody .bodyside .authornote .anname {
    font-size: 25px;
    line-height: 1.2;
    color: #1e2a10;
    font-weight: 700;
    margin: 0
}

.blogdet .artbody .bodyside .authornote .anlink {
    font-size: 13px;
    color: #95B249;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: .03em;
    transition: color .15s cubic-bezier(0.4, 0, 0.2, 1);
    align-self: flex-start
}

.blogdet .artbody .bodyside .authornote .anlink:hover {
    color: #7a9638
}

.blogdet .divline2 {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #A2B987 50%, transparent 100%);
    margin: 0 96px
}

.blogdet .stepsblock {
    padding: 64px 96px;
    background: #F1F3EE;
    position: relative;
    overflow: hidden
}

.blogdet .stepsblock .bgpattern {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 320px;
    height: 320px;
    pointer-events: none;
    overflow: hidden
}

.blogdet .stepsblock .bgpattern svg {
    width: 100%;
    height: 100%;
    opacity: .18
}

.blogdet .stepsblock .stepshead {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-bottom: 64px;
    text-align: center
}

.blogdet .stepsblock .stepshead .stepoverline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.blogdet .stepsblock .stepshead .stepoverline .stbar {
    width: 24px;
    height: 2px;
    background: #95B249
}

.blogdet .stepsblock .stepshead .stepoverline span {
    font-size: 13px;
    font-weight: 700;
    color: #95B249;
    letter-spacing: .08em;
    text-transform: uppercase
}

.blogdet .stepsblock .stepshead .stepsh2 {
    font-size: 34px;
    line-height: 1.2;
    color: #1e2a10;
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0
}

.blogdet .stepsblock .stepsrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    position: relative
}

.blogdet .stepsblock .stepsrow .stepline {
    position: absolute;
    top: 28px;
    left: calc(28px + 16px);
    right: calc(28px + 16px);
    height: 2px;
    background: linear-gradient(90deg, #95B249 0%, #A2B987 100%);
    z-index: 0;
    pointer-events: none
}

.blogdet .stepsblock .stepsrow .stepitem {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 0 16px;
    position: relative;
    z-index: 1
}

.blogdet .stepsblock .stepsrow .stepitem .stepicon {
    width: 56px;
    height: 56px;
    border-radius: 48px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 28px -2px #95b24914;
    flex-shrink: 0;
    border: 2px solid #95B249
}

.blogdet .stepsblock .stepsrow .stepitem .stepicon svg {
    width: 24px;
    height: 24px
}

.blogdet .stepsblock .stepsrow .stepitem .stepnum {
    font-size: 13px;
    font-weight: 700;
    color: #95B249;
    letter-spacing: .06em
}

.blogdet .stepsblock .stepsrow .stepitem .steptitle {
    font-size: 13px;
    font-weight: 700;
    color: #1e2a10;
    text-align: center;
    margin: 0;
    line-height: 1.6
}

.blogdet .stepsblock .stepsrow .stepitem .steptext {
    font-size: 13px;
    color: #4a5e28;
    text-align: center;
    line-height: 1.9
}

.blogdet .divline3 {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #95B249 30%, #A2B987 70%, transparent 100%);
    margin: 0 96px
}

.blogdet .contrastblock {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: #fff;
    border-top: 2px solid #95B249;
    border-bottom: 2px solid #A2B987
}

.blogdet .contrastblock .cside {
    padding: 64px;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.blogdet .contrastblock .cside.dark {
    background: #1e2a10
}

.blogdet .contrastblock .cside.light {
    background: #F1F3EE
}

.blogdet .contrastblock .cside .csideoverline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.blogdet .contrastblock .cside .csideoverline .csbar {
    width: 24px;
    height: 2px;
    background: #95B249
}

.blogdet .contrastblock .cside .csideoverline span {
    font-size: 13px;
    font-weight: 700;
    color: #95B249;
    letter-spacing: .08em;
    text-transform: uppercase
}

.blogdet .contrastblock .cside .csideh {
    font-size: 25px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0;
    letter-spacing: -.01em
}

.blogdet .contrastblock .cside.dark .csideh {
    color: #e8eddf
}

.blogdet .contrastblock .cside.light .csideh {
    color: #1e2a10
}

.blogdet .contrastblock .cside .csidetext {
    font-size: 13px;
    line-height: 1.9
}

.blogdet .contrastblock .cside.dark .csidetext {
    color: #b8cfa0
}

.blogdet .contrastblock .cside.light .csidetext {
    color: #2e3d18
}

.blogdet .contrastblock .cside .csidetag {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    align-self: flex-start
}

.blogdet .contrastblock .cside.dark .csidetag {
    background: #95b2492e;
    color: #b8d878
}

.blogdet .contrastblock .cside.light .csidetag {
    background: #fff;
    color: #4a5e28;
    box-shadow: 0 3px 3px -2px #95b24912
}

.blogdet .contrastblock .cdivider {
    width: 1px;
    background: linear-gradient(180deg, transparent 0%, #95B249 40%, #A2B987 60%, transparent 100%)
}

.blogdet .revealwrap {
    overflow: hidden
}

.blogdet .revealwrap .revealinner {
    animation: heightReveal .7s cubic-bezier(0.0, 0, 0.2, 1) forwards
}

@keyframes heightReveal {
    from {
        max-height: 0;
        opacity: 0
    }

    to {
        max-height: 2400px;
        opacity: 1
    }
}

@media (max-width: 1200px) {
    .blogdet .art-frame {
        padding: 64px;
        gap: 32px
    }

    .blogdet .art-imgbox {
        flex: 0 0 360px
    }

    .blogdet .artbody {
        padding: 64px;
        gap: 32px
    }

    .blogdet .stepsblock {
        padding: 64px
    }

    .blogdet .contrastblock .cside {
        padding: 64px 32px
    }

    .blogdet .divline,
    .blogdet .divline2,
    .blogdet .divline3 {
        margin: 0 64px
    }
}

@media (max-width: 900px) {
    .blogdet .art-frame {
        flex-direction: column;
        padding: 32px;
        gap: 32px
    }

    .blogdet .art-imgbox {
        flex: none;
        width: 100%;
        height: 260px
    }

    .blogdet .artbody {
        flex-direction: column;
        padding: 32px;
        gap: 32px
    }

    .blogdet .stepsblock {
        padding: 32px
    }

    .blogdet .stepsblock .stepsrow {
        flex-direction: column;
        gap: 32px
    }

    .blogdet .stepsblock .stepsrow .stepline {
        display: none
    }

    .blogdet .stepsblock .stepsrow .stepitem {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        padding: 0
    }

    .blogdet .stepsblock .stepsrow .stepitem .steptitle,
    .blogdet .stepsblock .stepsrow .stepitem .steptext {
        text-align: left
    }

    .blogdet .stepsblock .stepsrow .stepitem .stepicon {
        flex-shrink: 0
    }

    .blogdet .contrastblock {
        grid-template-columns: 1fr
    }

    .blogdet .contrastblock .cdivider {
        width: 100%;
        height: 1px;
        background: linear-gradient(90deg, transparent 0%, #95B249 40%, #A2B987 60%, transparent 100%)
    }

    .blogdet .divline,
    .blogdet .divline2,
    .blogdet .divline3 {
        margin: 0 32px
    }
}

@media (max-width: 600px) {
    .blogdet .art-frame {
        padding: 16px
    }

    .blogdet .artmeta .arttitle {
        font-size: 25px
    }

    .blogdet .artbody {
        padding: 16px
    }

    .blogdet .stepsblock {
        padding: 16px
    }

    .blogdet .stepsblock .stepshead .stepsh2 {
        font-size: 25px
    }

    .blogdet .contrastblock .cside {
        padding: 32px 16px
    }

    .blogdet .divline,
    .blogdet .divline2,
    .blogdet .divline3 {
        margin: 0 16px
    }

    .blogdet .artmeta .readlink {
        width: 100%;
        justify-content: center
    }
}

.wbnrs {
    max-width: 1440px;
    margin: 0 auto;
    overflow: hidden
}

.wbnrs .splitscreen {
    display: flex;
    flex-direction: row;
    min-height: 0;
    padding: 96px 0 0;
    position: relative
}

.wbnrs .splitscreen .split-left {
    background: #95B249;
    flex: 1 1 55%;
    padding: 96px 64px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden
}

.wbnrs .splitscreen .split-left .blob1 {
    position: absolute;
    width: 320px;
    height: 320px;
    background: #A2B987;
    border-radius: 48px;
    opacity: .35;
    top: -80px;
    left: -60px;
    filter: blur(48px);
    pointer-events: none
}

.wbnrs .splitscreen .split-left .blob2 {
    position: absolute;
    width: 200px;
    height: 200px;
    background: #F1F3EE;
    border-radius: 48px;
    opacity: .2;
    bottom: 32px;
    right: 32px;
    filter: blur(32px);
    pointer-events: none
}

.wbnrs .splitscreen .split-left .overline {
    display: block;
    width: 48px;
    height: 3px;
    background: #F1F3EE;
    margin-bottom: 32px;
    border-radius: 6px
}

.wbnrs .splitscreen .split-left h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.03em;
    color: #fff;
    margin: 0 0 32px;
    font-weight: 800;
    position: relative;
    z-index: 1
}

.wbnrs .splitscreen .split-left .tagline {
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: .04em;
    color: #F1F3EE;
    max-width: 360px;
    position: relative;
    z-index: 1
}

.wbnrs .splitscreen .split-right {
    flex: 1 1 45%;
    background: #F1F3EE;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: stretch
}

.wbnrs .splitscreen .split-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.wbnrs .splitscreen .split-right .imgoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #95B249 0%, #95b24966 40%, transparent 100%);
    pointer-events: none
}

.wbnrs .divider-a {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 64px;
    margin: 64px 0 0
}

.wbnrs .divider-a span {
    display: block;
    height: 1px;
    background: linear-gradient(to right, #A2B987 0%, #95B249 40%, #2d3a1a 100%);
    flex: 1;
    border-radius: 6px
}

.wbnrs .divider-a em {
    font-size: 13px;
    color: #95B249;
    letter-spacing: .08em;
    font-style: normal;
    padding: 0 16px
}

.wbnrs .cardgrid-wrap {
    padding: 64px 64px 96px;
    background: #fff;
    position: relative
}

.wbnrs .cardgrid-wrap .stripes {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0
}

.wbnrs .cardgrid-wrap .stripes::before {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    top: -50%;
    left: -50%;
    background: repeating-linear-gradient(122deg, transparent 0px, transparent 38px, #a2b9870f 38px, #a2b9870f 40px);
    animation: stripedrift 18s linear infinite;
    pointer-events: none
}

@keyframes stripedrift {
    0% {
        transform: translate(0, 0)
    }

    100% {
        transform: translate(80px, 80px)
    }
}

.wbnrs .cardgrid-wrap .gridlabel {
    font-size: 13px;
    letter-spacing: .1em;
    color: #95B249;
    margin-bottom: 32px;
    font-weight: 600;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.wbnrs .cardgrid-wrap .gridlabel::after {
    content: '';
    display: block;
    height: 2px;
    width: 32px;
    background: #95B249;
    border-radius: 6px
}

.wbnrs .cardgrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    position: relative;
    z-index: 1
}

.wbnrs .wcard {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 3px 3px -2px #95b24912 0 5px 28px -2px #95b24914;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1);
    animation: slidein .5s cubic-bezier(0.0, 0, 0.2, 1) both
}

.wbnrs .wcard:nth-child(1) {
    animation-delay: .05s;
    animation-name: slidefromleft
}

.wbnrs .wcard:nth-child(2) {
    animation-delay: .15s;
    animation-name: slidefrombottom
}

.wbnrs .wcard:nth-child(3) {
    animation-delay: .25s;
    animation-name: slidefromright
}

.wbnrs .wcard:nth-child(4) {
    animation-delay: .35s;
    animation-name: slidefromleft
}

@keyframes slidefromleft {
    from {
        opacity: 0;
        transform: translateX(-40px)
    }

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

@keyframes slidefromright {
    from {
        opacity: 0;
        transform: translateX(40px)
    }

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

@keyframes slidefrombottom {
    from {
        opacity: 0;
        transform: translateY(32px)
    }

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

.wbnrs .wcard:hover {
    box-shadow: 0 8px 60px -2px #95b2491a;
    transform: translateY(-4px)
}

.wbnrs .wcard .cardimg {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
    flex-shrink: 0
}

.wbnrs .wcard .cardimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.wbnrs .wcard .cardimg .imgfade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 64px;
    background: linear-gradient(to top, #fff, transparent);
    pointer-events: none
}

.wbnrs .wcard .cardbody {
    padding: 32px 32px 16px;
    flex: 1;
    display: flex;
    flex-direction: column
}

.wbnrs .wcard .cardtop {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap
}

.wbnrs .wcard .ctag {
    font-size: 13px;
    background: #F1F3EE;
    color: #95B249;
    border-radius: 6px;
    padding: 4px 8px;
    font-weight: 600;
    letter-spacing: .05em
}

.wbnrs .wcard .clevel {
    font-size: 13px;
    color: #A2B987;
    border-radius: 6px;
    border: 1px solid #A2B987;
    padding: 4px 8px;
    letter-spacing: .03em
}

.wbnrs .wcard h4 {
    font-size: 25px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1e2a10;
    margin: 0 0 16px;
    font-weight: 700
}

.wbnrs .wcard .cdesc {
    font-size: 13px;
    line-height: 1.9;
    color: #3a4a22;
    margin: 0 0 16px;
    flex: 1
}

.wbnrs .wcard .cmeta {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    font-size: 13px;
    color: #7a8c5a;
    margin-bottom: 16px;
    flex-wrap: wrap
}

.wbnrs .wcard .cmeta .metaitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.wbnrs .wcard .cmeta .metaitem svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0
}

.wbnrs .wcard .seats {
    font-size: 13px;
    color: #95B249;
    font-weight: 600;
    margin-bottom: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.wbnrs .wcard .seats .dot {
    width: 8px;
    height: 8px;
    border-radius: 48px;
    background: #95B249;
    display: inline-block;
    flex-shrink: 0
}

.wbnrs .cardfooter {
    padding: 16px 32px 32px;
    border-top: 1px solid #F1F3EE;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap
}

.wbnrs .cardfooter .pricebox {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.wbnrs .cardfooter .priceval {
    font-size: 25px;
    font-weight: 800;
    color: #1e2a10;
    line-height: 1.2;
    letter-spacing: -.01em
}

.wbnrs .cardfooter .pricedesc {
    font-size: 13px;
    color: #7a8c5a;
    line-height: 1.6
}

.wbnrs .cardfooter .pricenote {
    font-size: 13px;
    color: #A2B987;
    font-style: italic
}

.wbnrs .cardfooter .btn-card {
    display: inline-block;
    background: #95B249;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    border-radius: 6px;
    padding: 12px 24px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background .18s cubic-bezier(0.4, 0, 0.2, 1), padding .22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap
}

.wbnrs .cardfooter .btn-card:hover {
    background: #7a9a38;
    padding: 12px 32px;
    box-shadow: 0 5px 28px -2px #95b2492e
}

.wbnrs .cardfooter .btn-card:focus {
    outline: 2px solid #95B249;
    outline-offset: 2px
}

.wbnrs .cardfooter .btn-card:active {
    box-shadow: inset 0 2px 6px #95b2492e
}

.wbnrs .divider-b {
    margin: 0 64px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 0
}

.wbnrs .divider-b .line1 {
    height: 1px;
    flex: 2;
    background: #A2B987;
    border-radius: 6px
}

.wbnrs .divider-b .line2 {
    height: 3px;
    flex: 1;
    background: #95B249;
    border-radius: 6px
}

.wbnrs .divider-b .line3 {
    height: 5px;
    flex: .5;
    background: #1e2a10;
    border-radius: 6px
}

.wbnrs .quoteblock {
    padding: 96px 64px;
    background: linear-gradient(180deg, #1e2a10 0%, #2d3a1a 40%, #3a4a22 70%, #F1F3EE 100%);
    position: relative;
    overflow: hidden
}

.wbnrs .quoteblock .curveline {
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 320px;
    pointer-events: none;
    overflow: hidden
}

.wbnrs .quoteblock .curveline svg {
    width: 100%;
    height: 100%
}

.wbnrs .quoteblock .qinner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center
}

.wbnrs .quoteblock .overline-q {
    display: block;
    width: 48px;
    height: 2px;
    background: #95B249;
    margin: 0 auto 32px;
    border-radius: 6px
}

.wbnrs .quoteblock blockquote {
    margin: 0 0 32px;
    padding: 0
}

.wbnrs .quoteblock blockquote p {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #F1F3EE;
    font-weight: 700;
    margin: 0
}

.wbnrs .quoteblock blockquote p .accent {
    color: #95B249
}

.wbnrs .quoteblock .qsub {
    font-size: 13px;
    line-height: 1.9;
    color: #A2B987;
    letter-spacing: .03em
}

.wbnrs .imgfeature {
    padding: 96px 64px;
    background: #F1F3EE;
    display: flex;
    flex-direction: row;
    gap: 64px;
    align-items: center
}

.wbnrs .imgfeature .imgside {
    flex: 0 0 420px;
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 8px 60px -2px #95b2491a
}

.wbnrs .imgfeature .imgside img {
    width: 420px;
    height: 340px;
    object-fit: cover;
    object-position: center;
    display: block
}

.wbnrs .imgfeature .imgside .curvewrap {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 80px;
    height: 80px;
    pointer-events: none
}

.wbnrs .imgfeature .imgside .curvewrap svg {
    width: 100%;
    height: 100%
}

.wbnrs .imgfeature .textside {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.wbnrs .imgfeature .textside .overline-f {
    display: block;
    width: 32px;
    height: 2px;
    background: #95B249;
    border-radius: 6px
}

.wbnrs .imgfeature .textside h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1e2a10;
    font-weight: 700;
    margin: 0
}

.wbnrs .imgfeature .textside .twocol {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    align-items: start
}

.wbnrs .imgfeature .textside .maintext {
    font-size: 13px;
    line-height: 1.9;
    color: #3a4a22;
    margin: 0
}

.wbnrs .imgfeature .textside .sidetext {
    font-size: 13px;
    line-height: 1.6;
    color: #7a8c5a;
    margin: 0;
    border-top: 1px solid #A2B987;
    padding-top: 16px
}

.wbnrs .imgfeature .textside .accent-phrase {
    font-size: 13px;
    color: #95B249;
    letter-spacing: .02em;
    line-height: 1.6;
    margin: 0
}

.wbnrs .imgfeature .textside .accent-phrase span {
    color: #95B249
}

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

    .wbnrs .imgfeature .imgside {
        flex: 0 0 300px
    }

    .wbnrs .imgfeature .imgside img {
        width: 300px;
        height: 280px
    }
}

@media (max-width: 900px) {
    .wbnrs .splitscreen {
        flex-direction: column;
        padding: 64px 0 0
    }

    .wbnrs .splitscreen .split-left {
        padding: 64px 32px
    }

    .wbnrs .splitscreen .split-left h1 {
        font-size: 34px
    }

    .wbnrs .splitscreen .split-right {
        min-height: 240px
    }

    .wbnrs .cardgrid-wrap {
        padding: 64px 32px
    }

    .wbnrs .divider-a {
        padding: 0 32px
    }

    .wbnrs .divider-b {
        margin: 0 32px
    }

    .wbnrs .cardgrid {
        grid-template-columns: 1fr
    }

    .wbnrs .quoteblock {
        padding: 64px 32px
    }

    .wbnrs .quoteblock blockquote p {
        font-size: 25px
    }

    .wbnrs .imgfeature {
        flex-direction: column;
        padding: 64px 32px;
        gap: 32px
    }

    .wbnrs .imgfeature .imgside {
        flex: none;
        width: 100%
    }

    .wbnrs .imgfeature .imgside img {
        width: 100%;
        height: 240px
    }

    .wbnrs .imgfeature .textside .twocol {
        grid-template-columns: 1fr;
        gap: 16px
    }
}

@media (max-width: 600px) {
    .wbnrs .splitscreen .split-left {
        padding: 64px 16px
    }

    .wbnrs .splitscreen .split-left h1 {
        font-size: 25px
    }

    .wbnrs .cardgrid-wrap {
        padding: 32px 16px
    }

    .wbnrs .divider-a {
        padding: 0 16px
    }

    .wbnrs .divider-b {
        margin: 0 16px
    }

    .wbnrs .quoteblock {
        padding: 64px 16px
    }

    .wbnrs .imgfeature {
        padding: 64px 16px
    }

    .wbnrs .wcard .cardbody {
        padding: 16px 16px 8px
    }

    .wbnrs .cardfooter {
        padding: 16px;
        flex-direction: column;
        align-items: flex-start
    }
}

.abtauth {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.abtauth .profileblock {
    padding: 96px 64px 64px;
    background: linear-gradient(158deg, #f7f9f4 0%, #e8eee0 38%, #95B249 72%, #F1F3EE 100%);
    position: relative
}

.abtauth .profileblock .shapelayer {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden
}

.abtauth .profileblock .shapelayer .shapeA {
    position: absolute;
    top: -32px;
    right: 8%;
    width: 320px;
    height: 320px;
    border-radius: 48px;
    background: #95b24917;
    transform: rotate(-18deg)
}

.abtauth .profileblock .shapelayer .shapeB {
    position: absolute;
    bottom: 16px;
    left: 4%;
    width: 180px;
    height: 180px;
    border-radius: 48px;
    background: #a2b9871f;
    transform: rotate(11deg)
}

.abtauth .profileblock .shapelayer .shapeC {
    position: absolute;
    top: 40%;
    right: 22%;
    width: 90px;
    height: 90px;
    border-radius: 48px;
    background: #95b24912;
    transform: rotate(34deg)
}

.abtauth .profileblock .pgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: end;
    position: relative;
    z-index: 1
}

.abtauth .profileblock .pleft {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abtauth .profileblock .overline {
    display: block;
    font-size: 13px;
    letter-spacing: .12em;
    color: #95B249;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.2
}

.abtauth .profileblock .overline::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 2px;
    background: #95B249;
    vertical-align: middle;
    margin-right: 8px
}

.abtauth .profileblock .namehead {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1e2a10;
    font-weight: 800;
    margin: 0
}

.abtauth .profileblock .roledesc {
    font-size: 25px;
    line-height: 1.6;
    color: #3a4a20;
    font-weight: 400;
    margin: 0
}

.abtauth .profileblock .statrow {
    display: flex;
    flex-direction: row;
    gap: 32px;
    flex-wrap: wrap
}

.abtauth .profileblock .statitem {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.abtauth .profileblock .statnum {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #95B249;
    letter-spacing: -.01em
}

.abtauth .profileblock .statlabel {
    font-size: 13px;
    line-height: 1.6;
    color: #4a5c2a;
    letter-spacing: .06em
}

.abtauth .profileblock .pright {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: flex-start
}

.abtauth .profileblock .imgwrap {
    width: 100%;
    max-width: 480px;
    height: 520px;
    border-radius: 48px;
    overflow: hidden;
    box-shadow: 0 8px 60px -2px #95b2491a;
    animation: blockReveal .25s cubic-bezier(0.4, 0, 0.2, 1) both
}

@keyframes blockReveal {
    from {
        opacity: 0;
        transform: rotate(-1.5deg) translateY(16px)
    }

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

.abtauth .profileblock .imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block
}

.abtauth .profileblock .imgcaption {
    font-size: 13px;
    line-height: 1.6;
    color: #4a5c2a;
    letter-spacing: .04em;
    padding: 8px 16px;
    background: #f1f3eeb3;
    border-radius: 6px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px)
}

.abtauth .divline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 0 64px;
    margin: 0
}

.abtauth .divline .linefill {
    flex: 1;
    height: 1px;
    background: #d4dcc8
}

.abtauth .divline .linecenter {
    width: 10px;
    height: 10px;
    border-radius: 48px;
    background: #A2B987;
    flex-shrink: 0
}

.abtauth .storyblock {
    padding: 64px 64px 96px;
    background: #F1F3EE
}

.abtauth .storyblock .sgrid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 64px;
    align-items: start
}

.abtauth .storyblock .smain {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abtauth .storyblock .overline {
    display: block;
    font-size: 13px;
    letter-spacing: .12em;
    color: #95B249;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.2
}

.abtauth .storyblock .overline::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 2px;
    background: #95B249;
    vertical-align: middle;
    margin-right: 8px
}

.abtauth .storyblock .storyhd {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #1e2a10;
    font-weight: 700;
    margin: 0
}

.abtauth .storyblock .textcols {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px
}

.abtauth .storyblock .textcols .bodytxt {
    font-size: 13px;
    line-height: 1.9;
    color: #2e3c18;
    margin: 0
}

.abtauth .storyblock .textcols .sidetxt {
    font-size: 13px;
    line-height: 1.9;
    color: #4a5c2a;
    margin: 0
}

.abtauth .storyblock .accentphrase {
    font-size: 25px;
    line-height: 1.6;
    color: #2e3c18;
    font-weight: 400;
    margin: 0
}

.abtauth .storyblock .accentphrase .bracket {
    color: #95B249
}

.abtauth .storyblock .imgpair {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.abtauth .storyblock .imgcard {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 5px 28px -2px #95b24914;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.0, 0, 0.2, 1)
}

.abtauth .storyblock .imgcard:hover {
    box-shadow: 0 8px 60px -2px #95b2491a;
    transform: translateY(-4px)
}

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

.abtauth .storyblock .legendbox {
    border-radius: 6px;
    background: #fff;
    padding: 32px;
    box-shadow: 0 3px 3px -2px #95b24912;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abtauth .storyblock .legendbox .leghd {
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #95B249;
    font-weight: 600;
    line-height: 1.2;
    margin: 0
}

.abtauth .storyblock .legendbox .leglist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abtauth .storyblock .legendbox .leglist li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.abtauth .storyblock .legendbox .leglist .legdot {
    width: 8px;
    height: 8px;
    border-radius: 48px;
    background: #95B249;
    flex-shrink: 0;
    margin-top: 6px
}

.abtauth .storyblock .legendbox .leglist .legtxt {
    font-size: 13px;
    line-height: 1.9;
    color: #2e3c18
}

.abtauth .storyblock .legendbox .leglist .legtxt strong {
    color: #1e2a10;
    font-weight: 600
}

.abtauth .storyblock .diagramarea {
    border-radius: 6px;
    background: #fff;
    padding: 32px;
    box-shadow: 0 3px 3px -2px #95b24912;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.abtauth .storyblock .diagramarea .diahd {
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #95B249;
    font-weight: 600;
    line-height: 1.2;
    margin: 0
}

.abtauth .storyblock .diagramarea .timelinewrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    padding-left: 16px
}

.abtauth .storyblock .diagramarea .timelinewrap::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: linear-gradient(180deg, #95B249 0%, #A2B987 60%, #F1F3EE 100%);
    border-radius: 6px
}

.abtauth .storyblock .diagramarea .tlitem {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 8px 8px 16px;
    border-radius: 6px;
    transition: background .15s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative
}

.abtauth .storyblock .diagramarea .tlitem::before {
    content: '';
    position: absolute;
    left: -12px;
    top: 14px;
    width: 8px;
    height: 8px;
    border-radius: 48px;
    background: #95B249;
    border: 2px solid #F1F3EE
}

.abtauth .storyblock .diagramarea .tlitem:hover {
    background: #95b2490f
}

.abtauth .storyblock .diagramarea .tlyear {
    font-size: 13px;
    font-weight: 700;
    color: #95B249;
    line-height: 1.2;
    letter-spacing: .06em
}

.abtauth .storyblock .diagramarea .tldesc {
    font-size: 13px;
    line-height: 1.6;
    color: #2e3c18
}

.abtauth .storyblock .bottomrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-top: 32px
}

.abtauth .storyblock .bottomrow .imgfull {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 5px 28px -2px #95b24914
}

.abtauth .storyblock .bottomrow .imgfull img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
    display: block
}

.abtauth .storyblock .bottomrow .frostedcard {
    border-radius: 6px;
    background: #ffffff8c;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 3px 3px -2px #95b24912;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.abtauth .storyblock .bottomrow .frostedcard:hover {
    background: #ffffffd1;
    box-shadow: 0 5px 28px -2px #95b24914
}

.abtauth .storyblock .bottomrow .frostedcard .frhd {
    font-size: 25px;
    line-height: 1.2;
    color: #1e2a10;
    font-weight: 700;
    margin: 0
}

.abtauth .storyblock .bottomrow .frostedcard .frtxt {
    font-size: 13px;
    line-height: 1.9;
    color: #2e3c18;
    margin: 0
}

.abtauth .storyblock .bottomrow .frostedcard .frlink {
    display: inline-block;
    padding: 8px 32px;
    background: #95B249;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    border-radius: 6px;
    text-decoration: none;
    align-self: flex-start;
    box-shadow: 0 3px 3px -2px #95b24912;
    transition: padding .18s cubic-bezier(0.0, 0, 0.2, 1), background .15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.abtauth .storyblock .bottomrow .frostedcard .frlink:hover {
    background: #7a9438;
    padding: 8px 40px;
    box-shadow: 0 5px 28px -2px #95b24914
}

.abtauth .storyblock .bottomrow .frostedcard .frlink:focus {
    outline: 2px solid #95B249;
    outline-offset: 2px
}

.abtauth .storyblock .bottomrow .frostedcard .frlink:active {
    box-shadow: inset 0 2px 6px #95b2492e
}

@media (max-width: 900px) {
    .abtauth .profileblock {
        padding: 64px 32px
    }

    .abtauth .profileblock .pgrid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abtauth .profileblock .pright {
        align-items: center
    }

    .abtauth .profileblock .imgwrap {
        max-width: 100%;
        height: 360px
    }

    .abtauth .profileblock .namehead {
        font-size: 34px
    }

    .abtauth .storyblock {
        padding: 64px 32px
    }

    .abtauth .storyblock .sgrid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .abtauth .storyblock .textcols {
        grid-template-columns: 1fr
    }

    .abtauth .storyblock .bottomrow {
        grid-template-columns: 1fr
    }

    .abtauth .divline {
        padding: 0 32px
    }
}

@media (max-width: 600px) {
    .abtauth .profileblock {
        padding: 64px 16px 32px
    }

    .abtauth .profileblock .namehead {
        font-size: 25px
    }

    .abtauth .profileblock .statrow {
        gap: 16px
    }

    .abtauth .storyblock {
        padding: 32px 16px
    }

    .abtauth .storyblock .legendbox,
    .abtauth .storyblock .diagramarea {
        padding: 16px
    }

    .abtauth .storyblock .bottomrow .frostedcard {
        padding: 16px
    }

    .abtauth .divline {
        padding: 0 16px
    }
}

.rtMain {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.rtMain .divider {
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #95B249 40%, #A2B987 60%, transparent 100%);
    border: none;
    margin: 0
}

.rtMain ::selection {
    background: #95B249;
    color: #fff
}

.rtMain .overline {
    display: block;
    font-size: 13px;
    letter-spacing: .12em;
    color: #95B249;
    text-transform: uppercase;
    margin-bottom: 8px;
    line-height: 1.2
}

.rtMain .quotemark {
    font-size: 62px;
    line-height: 1.2;
    color: #A2B987;
    opacity: .18;
    font-weight: 700;
    pointer-events: none;
    user-select: none;
    display: block
}

.rtMain .bento {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px;
    padding: 64px 64px 32px
}

.rtMain .bentoImg {
    grid-column: 1;
    grid-row: 1 / 3;
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    border: 3px solid #F1F3EE;
    box-shadow: 0 5px 28px -2px #95b24914
}

.rtMain .bentoImg img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block
}

.rtMain .bentoImg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 80%, #141e0a8c 0%, #141e0a2e 55%, transparent 100%);
    pointer-events: none
}

.rtMain .bentoText {
    grid-column: 2;
    grid-row: 1;
    background: linear-gradient(160deg, #F1F3EE 0%, #e8eddf 60%, #dce6cc 100%);
    border-radius: 6px;
    padding: 32px;
    position: relative;
    box-shadow: 0 3px 3px -2px #95b24912;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

.rtMain .bentoText .quotemark {
    position: absolute;
    top: 8px;
    left: 16px;
    font-size: 62px;
    line-height: 1;
    color: #95B249;
    opacity: .13;
    pointer-events: none
}

.rtMain .bentoText h1 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #2a3318;
    margin: 0 0 16px;
    font-weight: 700
}

.rtMain .bentoText h1 span {
    color: #95B249
}

.rtMain .bentoText p {
    font-size: 13px;
    line-height: 1.9;
    color: #3d4a28;
    margin: 0
}

.rtMain .bentoMeta {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    flex-direction: row;
    gap: 16px
}

.rtMain .bentoMetaCard {
    flex: 1;
    background: #fff;
    border-radius: 6px;
    padding: 16px;
    box-shadow: 0 3px 3px -2px #95b24912;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .bentoMetaCard:hover {
    box-shadow: 0 5px 28px -2px #95b24914
}

.rtMain .bentoMetaCard .metaNum {
    font-size: 34px;
    font-weight: 700;
    color: #95B249;
    line-height: 1.2;
    letter-spacing: -.03em
}

.rtMain .bentoMetaCard .metaLabel {
    font-size: 13px;
    color: #5a6840;
    line-height: 1.6
}

.rtMain .postList {
    padding: 32px 64px 64px;
    background: linear-gradient(180deg, #fff 0%, #F1F3EE 60%, #e8eddf 100%)
}

.rtMain .postList .listHead {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 32px
}

.rtMain .postList .listHead h2 {
    font-size: 25px;
    font-weight: 700;
    color: #2a3318;
    line-height: 1.2;
    letter-spacing: -.01em;
    margin: 0
}

.rtMain .postList .listHead a {
    font-size: 13px;
    color: #95B249;
    text-decoration: none;
    letter-spacing: .06em;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .postList .listHead a:hover {
    color: #5a6840
}

.rtMain .postGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.rtMain .postCard {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 3px 3px -2px #95b24912;
    display: flex;
    flex-direction: column;
    transition: box-shadow .22s cubic-bezier(0.0, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1.5px solid #eef1e8
}

.rtMain .postCard:hover {
    box-shadow: 0 8px 60px -2px #95b2491a;
    transform: rotate(-0.5deg)
}

.rtMain .postCard .cardImgWrap {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
    border-bottom: 2px solid #F1F3EE
}

.rtMain .postCard .cardImgWrap img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .postCard:hover .cardImgWrap img {
    transform: scale(1.04)
}

.rtMain .postCard .cardBody {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.rtMain .postCard .cardTag {
    font-size: 13px;
    color: #95B249;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.2
}

.rtMain .postCard h3 {
    font-size: 25px;
    font-weight: 700;
    color: #2a3318;
    line-height: 1.2;
    margin: 0;
    letter-spacing: -.01em
}

.rtMain .postCard .cardDesc {
    font-size: 13px;
    color: #4a5630;
    line-height: 1.9;
    margin: 0;
    flex: 1
}

.rtMain .postCard .cardAuthor {
    font-size: 13px;
    color: #7a8c5a;
    line-height: 1.6;
    border-top: 1px solid #F1F3EE;
    padding-top: 8px;
    margin-top: 8px
}

.rtMain .postCard .cardLink {
    display: inline-block;
    background: #95B249;
    color: #fff;
    font-size: 13px;
    letter-spacing: .06em;
    padding: 8px 16px;
    border-radius: 6px;
    text-decoration: none;
    margin-top: 8px;
    align-self: flex-start;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), padding .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .postCard .cardLink:hover {
    background: #7a9438;
    padding-left: 24px;
    padding-right: 24px
}

.rtMain .scaleBlock {
    padding: 64px;
    background: #2a3318;
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: relative;
    overflow: hidden
}

.rtMain .scaleBlock::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, #95b2491f 0%, transparent 70%);
    pointer-events: none
}

.rtMain .scaleBlock .scaleHead {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 64px
}

.rtMain .scaleBlock .scaleHead h2 {
    font-size: 34px;
    font-weight: 700;
    color: #F1F3EE;
    line-height: 1.2;
    letter-spacing: -.02em;
    margin: 0;
    flex: 1
}

.rtMain .scaleBlock .scaleHead h2 span {
    color: #95B249
}

.rtMain .scaleBlock .scaleTxt {
    flex: 1;
    font-size: 13px;
    color: #A2B987;
    line-height: 1.9
}

.rtMain .scaleStats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px
}

.rtMain .statPill {
    background: #95b2491a;
    border: 1px solid #95b24940;
    border-radius: 6px;
    padding: 32px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .statPill:hover {
    background: #95b2492e
}

.rtMain .statPill .statVal {
    font-size: 62px;
    font-weight: 700;
    color: #95B249;
    line-height: 1;
    letter-spacing: -.04em
}

.rtMain .statPill .statDesc {
    font-size: 13px;
    color: #A2B987;
    line-height: 1.6;
    text-align: center
}

.rtMain .mostRead {
    padding: 64px;
    background: #F1F3EE;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 64px;
    align-items: start
}

.rtMain .mostRead .mrHead h2 {
    font-size: 25px;
    font-weight: 700;
    color: #2a3318;
    line-height: 1.2;
    letter-spacing: -.01em;
    margin: 0 0 16px
}

.rtMain .mrList {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 32px
}

.rtMain .mrItem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 3px 3px -2px #95b24912;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .mrItem:hover {
    box-shadow: 0 5px 28px -2px #95b24914;
    transform: rotate(0.4deg)
}

.rtMain .mrItem .mrNum {
    font-size: 34px;
    font-weight: 700;
    color: #A2B987;
    line-height: 1;
    letter-spacing: -.03em;
    min-width: 40px
}

.rtMain .mrItem .mrContent {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.rtMain .mrItem .mrContent h4 {
    font-size: 13px;
    font-weight: 700;
    color: #2a3318;
    line-height: 1.6;
    margin: 0
}

.rtMain .mrItem .mrContent p {
    font-size: 13px;
    color: #5a6840;
    line-height: 1.9;
    margin: 0
}

.rtMain .mrSide {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.rtMain .mrSide p {
    font-size: 13px;
    color: #4a5630;
    line-height: 1.9
}

.rtMain .mrSide .sideAccent {
    font-size: 25px;
    font-weight: 700;
    color: #95B249;
    line-height: 1.2;
    letter-spacing: -.01em
}

.rtMain .connectBlock {
    padding: 64px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.rtMain .connectBlock .connectHead {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: end
}

.rtMain .connectBlock .connectHead h2 {
    font-size: 25px;
    font-weight: 700;
    color: #2a3318;
    line-height: 1.2;
    letter-spacing: -.01em;
    margin: 0
}

.rtMain .connectBlock .connectHead p {
    font-size: 13px;
    color: #4a5630;
    line-height: 1.9;
    margin: 0
}

.rtMain .matrix {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 16px
}

.rtMain .matrixCell {
    border-radius: 6px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: box-shadow .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .matrixCell:hover {
    box-shadow: 0 5px 28px -2px #95b24914
}

.rtMain .matrixCell.mc1 {
    background: linear-gradient(135deg, #2a3318 0%, #3d4a28 100%)
}

.rtMain .matrixCell.mc2 {
    background: linear-gradient(135deg, #F1F3EE 0%, #e0e8d0 100%)
}

.rtMain .matrixCell.mc3 {
    background: linear-gradient(135deg, #e8eddf 0%, #F1F3EE 100%)
}

.rtMain .matrixCell.mc4 {
    background: linear-gradient(135deg, #95B249 0%, #7a9438 60%, #5a6840 100%)
}

.rtMain .matrixCell h4 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.2
}

.rtMain .matrixCell.mc1 h4 {
    color: #A2B987
}

.rtMain .matrixCell.mc2 h4 {
    color: #2a3318
}

.rtMain .matrixCell.mc3 h4 {
    color: #2a3318
}

.rtMain .matrixCell.mc4 h4 {
    color: #F1F3EE
}

.rtMain .matrixCell p {
    font-size: 13px;
    line-height: 1.9;
    margin: 0
}

.rtMain .matrixCell.mc1 p {
    color: #A2B987
}

.rtMain .matrixCell.mc2 p {
    color: #3d4a28
}

.rtMain .matrixCell.mc3 p {
    color: #3d4a28
}

.rtMain .matrixCell.mc4 p {
    color: #F1F3EE
}

.rtMain .matrixCell .mcLink {
    display: inline-block;
    font-size: 13px;
    text-decoration: none;
    border-radius: 6px;
    padding: 8px 16px;
    align-self: flex-start;
    transition: padding .18s cubic-bezier(0.4, 0, 0.2, 1), background .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .matrixCell.mc1 .mcLink {
    background: #95b24933;
    color: #95B249
}

.rtMain .matrixCell.mc1 .mcLink:hover {
    background: #95b24959;
    padding-left: 24px;
    padding-right: 24px
}

.rtMain .matrixCell.mc2 .mcLink {
    background: #95B249;
    color: #fff
}

.rtMain .matrixCell.mc2 .mcLink:hover {
    background: #7a9438;
    padding-left: 24px;
    padding-right: 24px
}

.rtMain .matrixCell.mc3 .mcLink {
    background: #2a3318;
    color: #A2B987
}

.rtMain .matrixCell.mc3 .mcLink:hover {
    background: #3d4a28;
    padding-left: 24px;
    padding-right: 24px
}

.rtMain .matrixCell.mc4 .mcLink {
    background: #fff3;
    color: #fff
}

.rtMain .matrixCell.mc4 .mcLink:hover {
    background: #ffffff59;
    padding-left: 24px;
    padding-right: 24px
}

.rtMain .subBlock {
    padding: 64px;
    background: linear-gradient(160deg, #F1F3EE 0%, #dce6cc 50%, #F1F3EE 100%);
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 64px;
    align-items: center
}

.rtMain .subBlock .subLeft {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.rtMain .subBlock h2 {
    font-size: 34px;
    font-weight: 700;
    color: #2a3318;
    line-height: 1.2;
    letter-spacing: -.02em;
    margin: 0
}

.rtMain .subBlock h2 span {
    color: #95B249
}

.rtMain .subBlock .subDesc {
    font-size: 13px;
    color: #3d4a28;
    line-height: 1.9
}

.rtMain .subBlock .subFreq {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap
}

.rtMain .subBlock .freqTag {
    background: #95b24926;
    border: 1px solid #95b2494d;
    border-radius: 48px;
    padding: 8px 16px;
    font-size: 13px;
    color: #5a6840;
    line-height: 1.2
}

.rtMain .subForm {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.rtMain .subForm input[type="email"] {
    width: 100%;
    padding: 16px;
    border: 1.5px solid #A2B987;
    border-radius: 6px;
    font-size: 13px;
    color: #2a3318;
    background: #fff;
    outline: none;
    box-sizing: border-box;
    transition: border-color .2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .subForm input[type="email"]::placeholder {
    font-style: italic;
    opacity: .55;
    color: #5a6840
}

.rtMain .subForm input[type="email"]:focus {
    border-color: #95B249;
    box-shadow: 0 3px 3px -2px #95b24912
}

.rtMain .subForm button[type="submit"] {
    background: #95B249;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 16px 32px;
    font-size: 13px;
    letter-spacing: .06em;
    cursor: pointer;
    align-self: flex-start;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), padding .18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .subForm button[type="submit"]:hover {
    background: #7a9438;
    padding-left: 48px;
    padding-right: 48px;
    box-shadow: 0 5px 28px -2px #95b24914
}

.rtMain .subForm button[type="submit"]:active {
    box-shadow: inset 0 2px 6px #95b2492e
}

.rtMain .territories {
    padding: 64px;
    background: #2a3318;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.rtMain .territories .terrHead {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between
}

.rtMain .territories .terrHead h2 {
    font-size: 25px;
    font-weight: 700;
    color: #F1F3EE;
    line-height: 1.2;
    letter-spacing: -.01em;
    margin: 0
}

.rtMain .terrGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.rtMain .terrCard {
    background: #f1f3ee0d;
    border: 1px solid #a2b98733;
    border-radius: 6px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: background .22s cubic-bezier(0.4, 0, 0.2, 1), transform .18s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .terrCard:hover {
    background: #95b2491f;
    transform: rotate(-0.4deg)
}

.rtMain .terrCard .terrIcon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center
}

.rtMain .terrCard .terrIcon svg {
    width: 32px;
    height: 32px;
    stroke: #95B249;
    fill: none;
    stroke-width: 1.5;
    transition: stroke .2s cubic-bezier(0.4, 0, 0.2, 1)
}

.rtMain .terrCard:hover .terrIcon svg {
    stroke: #A2B987
}

.rtMain .terrCard h4 {
    font-size: 13px;
    font-weight: 700;
    color: #F1F3EE;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.2
}

.rtMain .terrCard p {
    font-size: 13px;
    color: #A2B987;
    line-height: 1.9;
    margin: 0
}

.rtMain .terrCard a {
    font-size: 13px;
    color: #95B249;
    text-decoration: none;
    letter-spacing: .06em;
    transition: color .2s cubic-bezier(0.4, 0, 0.2, 1);
    align-self: flex-start
}

.rtMain .terrCard a:hover {
    color: #A2B987
}

@keyframes traceOutline {
    0% {
        stroke-dashoffset: 120
    }

    100% {
        stroke-dashoffset: 0
    }
}

.rtMain .animIcon svg {
    stroke-dasharray: 120;
    stroke-dashoffset: 120
}

.rtMain .terrCard:hover .animIcon svg {
    animation: traceOutline .28s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@media (max-width: 1200px) {
    .rtMain .bento {
        padding: 32px
    }

    .rtMain .scaleBlock,
    .rtMain .mostRead,
    .rtMain .connectBlock,
    .rtMain .subBlock,
    .rtMain .territories,
    .rtMain .postList {
        padding: 64px 32px
    }

    .rtMain .scaleStats {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 900px) {
    .rtMain .bento {
        grid-template-columns: 1fr;
        padding: 32px 16px
    }

    .rtMain .bentoImg {
        grid-column: 1;
        grid-row: 1
    }

    .rtMain .bentoText {
        grid-column: 1;
        grid-row: 2
    }

    .rtMain .bentoMeta {
        grid-column: 1;
        grid-row: 3
    }

    .rtMain .postGrid {
        grid-template-columns: 1fr 1fr
    }

    .rtMain .mostRead {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .rtMain .connectBlock .connectHead {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .rtMain .subBlock {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .rtMain .terrGrid {
        grid-template-columns: 1fr 1fr
    }

    .rtMain .scaleBlock .scaleHead {
        flex-direction: column;
        gap: 16px
    }

    .rtMain .scaleBlock,
    .rtMain .mostRead,
    .rtMain .connectBlock,
    .rtMain .subBlock,
    .rtMain .territories,
    .rtMain .postList {
        padding: 32px 16px
    }
}

@media (max-width: 600px) {
    .rtMain .postGrid {
        grid-template-columns: 1fr
    }

    .rtMain .scaleStats {
        grid-template-columns: 1fr 1fr
    }

    .rtMain .matrix {
        grid-template-columns: 1fr
    }

    .rtMain .terrGrid {
        grid-template-columns: 1fr
    }

    .rtMain .bentoMeta {
        flex-direction: column
    }

    .rtMain .bentoText h1 {
        font-size: 25px
    }

    .rtMain .subBlock h2 {
        font-size: 25px
    }

    .rtMain .scaleBlock .scaleHead h2 {
        font-size: 25px
    }
}

.blg {
    max-width: 1440px;
    margin: 0 auto;
    overflow-x: clip
}

.blg .pgband {
    padding: 64px 64px 0;
    background: linear-gradient(160deg, #F1F3EE 0%, #e8eddf 45%, #F1F3EE 100%);
    position: relative
}

.blg .pgband::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 48px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0,32 C120,8 200,48 360,24 C520,0 580,40 720,28 C860,16 940,44 1080,20 C1220,-4 1340,36 1440,18 L1440,48 L0,48 Z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat bottom center / 100% 100%
}

.blg .pgband .bandinner {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    position: relative
}

.blg .pgband .overline {
    display: block;
    width: 48px;
    height: 3px;
    background: #95B249;
    margin: 0 auto 16px;
    border-radius: 6px;
    animation: traceOutline .25s cubic-bezier(0.4, 0, 0.2, 1) forwards
}

@keyframes traceOutline {
    from {
        width: 0;
        opacity: 0
    }

    to {
        width: 48px;
        opacity: 1
    }
}

.blg .pgband .bandimg {
    width: 240px;
    height: 240px;
    border-radius: 6px;
    overflow: hidden;
    margin: 0 auto 32px;
    position: relative;
    box-shadow: 0 5px 28px -2px #95b24914
}

.blg .pgband .bandimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(100%) contrast(1.2);
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1);
    display: block
}

.blg .pgband .bandimg:hover img {
    transform: scale(1.04)
}

.blg .pgband .bandimg .imgoverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: #95B249
}

.blg .pgband h1 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1e2a10;
    margin: 0 0 16px
}

.blg .pgband .bandsub {
    font-size: 13px;
    line-height: 1.9;
    color: #4a5a30;
    margin: 0 0 32px;
    letter-spacing: .02em
}

.blg .pgband .deco {
    position: absolute;
    top: -8px;
    right: -32px;
    font-size: 62px;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 2px #95b2492e;
    pointer-events: none;
    user-select: none;
    letter-spacing: -.04em
}

.blg .postsgrid {
    padding: 64px;
    background: #fff
}

.blg .postsgrid .gridinner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.blg .postsgrid .pcard {
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 3px 3px -2px #95b24912 0 5px 28px -2px #95b24914;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s cubic-bezier(0.4, 0, 0.2, 1), transform .2s cubic-bezier(0.4, 0, 0.2, 1);
    animation: cardAppear .25s cubic-bezier(0.0, 0, 0.2, 1) both
}

.blg .postsgrid .pcard:hover {
    box-shadow: 0 8px 60px -2px #95b2491a;
    transform: translateY(-4px)
}

@keyframes cardAppear {
    from {
        opacity: 0;
        transform: translateY(12px)
    }

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

.blg .postsgrid .pcard .cimgwrap {
    width: 100%;
    height: 180px;
    overflow: hidden;
    position: relative;
    flex-shrink: 0
}

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

.blg .postsgrid .pcard:hover .cimgwrap img {
    transform: scale(1.06)
}

.blg .postsgrid .pcard .cimgwrap .hoverpat {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, #95b2494d 1px, transparent 1px);
    background-size: 16px 16px;
    opacity: 0;
    transition: opacity .2s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none
}

.blg .postsgrid .pcard:hover .cimgwrap .hoverpat {
    opacity: 1
}

.blg .postsgrid .pcard .cbody {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px
}

.blg .postsgrid .pcard .ctags {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap
}

.blg .postsgrid .pcard .ctag {
    font-size: 13px;
    line-height: 1.2;
    color: #4a5a30;
    background: #F1F3EE;
    border-radius: 6px;
    padding: 4px 8px;
    letter-spacing: .02em
}

.blg .postsgrid .pcard .ctag.theme {
    background: #95b2491f;
    color: #3d5010
}

.blg .postsgrid .pcard h2 {
    font-size: 25px;
    line-height: 1.2;
    color: #1e2a10;
    margin: 0;
    letter-spacing: -.01em
}

.blg .postsgrid .pcard .cdesc {
    font-size: 13px;
    line-height: 1.9;
    color: #4a5a30;
    margin: 0;
    flex: 1
}

.blg .postsgrid .pcard .cmeta {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 8px;
    border-top: 1px solid #F1F3EE;
    gap: 8px
}

.blg .postsgrid .pcard .cauthor {
    font-size: 13px;
    color: #4a5a30;
    line-height: 1.2
}

.blg .postsgrid .pcard .cstats {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center
}

.blg .postsgrid .pcard .cstats span {
    font-size: 13px;
    color: #7a8a60;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    line-height: 1.2
}

.blg .postsgrid .pcard .cstats .staticon {
    width: 14px;
    height: 14px;
    flex-shrink: 0
}

.blg .postsgrid .pcard .cdate {
    font-size: 13px;
    color: #7a8a60;
    line-height: 1.2
}

.blg .postsgrid .pcard .clink {
    display: inline-block;
    font-size: 13px;
    color: #fff;
    background: #95B249;
    border-radius: 6px;
    padding: 8px 16px;
    text-decoration: none;
    letter-spacing: .02em;
    line-height: 1.2;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), padding .15s cubic-bezier(0.4, 0, 0.2, 1);
    align-self: flex-start;
    margin-top: 8px
}

.blg .postsgrid .pcard .clink:hover {
    background: #7a9a38;
    padding: 8px 24px
}

.blg .postsgrid .pcard .clink:active {
    box-shadow: inset 0 2px 6px #95b2494d
}

.blg .metricsrow {
    padding: 64px;
    background: linear-gradient(135deg, #F1F3EE 0%, #e2ebd4 50%, #F1F3EE 100%);
    position: relative
}

.blg .metricsrow::before {
    content: '';
    display: block;
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 48px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0,18 C100,42 220,4 360,28 C500,52 620,8 760,24 C900,40 1020,4 1160,30 C1300,56 1380,12 1440,22 L1440,0 L0,0 Z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat top center / 100% 100%
}

.blg .metricsrow .metinner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 32px;
    max-width: 640px;
    margin: 0 auto
}

.blg .metricsrow .metitem {
    background: #fff;
    border-radius: 6px;
    padding: 32px;
    box-shadow: 0 3px 3px -2px #95b24912;
    position: relative;
    overflow: hidden
}

.blg .metricsrow .metitem::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #95B249, #A2B987);
    border-radius: 6px 6px 0 0;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.blg .metricsrow .metitem:hover::after {
    transform: scaleX(1)
}

.blg .metricsrow .metitem .mnum {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -.04em;
    display: block;
    margin-bottom: 8px
}

.blg .metricsrow .metitem .mnum .mint {
    color: #1e2a10
}

.blg .metricsrow .metitem .mnum .mfrac {
    color: #95B249
}

.blg .metricsrow .metitem .mlabel {
    font-size: 13px;
    line-height: 1.6;
    color: #4a5a30;
    letter-spacing: .02em
}

.blg .metricsrow .methead {
    grid-column: 1 / -1;
    text-align: center
}

.blg .metricsrow .methead .overline {
    display: block;
    width: 32px;
    height: 2px;
    background: #95B249;
    margin: 0 auto 16px;
    border-radius: 6px
}

.blg .metricsrow .methead h3 {
    font-size: 25px;
    line-height: 1.2;
    color: #1e2a10;
    margin: 0 0 8px;
    letter-spacing: -.01em
}

.blg .metricsrow .methead p {
    font-size: 13px;
    line-height: 1.9;
    color: #4a5a30;
    margin: 0
}

.blg .aboutstrip {
    padding: 64px;
    background: #fff
}

.blg .aboutstrip .stripinner {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 64px;
    align-items: start
}

.blg .aboutstrip .stripmain .overline {
    display: block;
    width: 32px;
    height: 2px;
    background: #95B249;
    margin-bottom: 16px;
    border-radius: 6px
}

.blg .aboutstrip .stripmain h3 {
    font-size: 25px;
    line-height: 1.2;
    color: #1e2a10;
    margin: 0 0 16px;
    letter-spacing: -.01em
}

.blg .aboutstrip .stripmain p {
    font-size: 13px;
    line-height: 1.9;
    color: #4a5a30;
    margin: 0 0 16px
}

.blg .aboutstrip .stripmain p:last-of-type {
    margin-bottom: 0
}

.blg .aboutstrip .stripmain .accent {
    color: #95B249
}

.blg .aboutstrip .stripside {
    background: #F1F3EE;
    border-radius: 6px;
    padding: 32px
}

.blg .aboutstrip .stripside h4 {
    font-size: 13px;
    line-height: 1.2;
    color: #1e2a10;
    margin: 0 0 16px;
    letter-spacing: .04em;
    text-transform: uppercase
}

.blg .aboutstrip .stripside ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.blg .aboutstrip .stripside ul li {
    font-size: 13px;
    line-height: 1.6;
    color: #4a5a30;
    padding: 8px;
    background: #fff;
    border-radius: 6px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px
}

.blg .aboutstrip .stripside ul li .liicon {
    width: 8px;
    height: 8px;
    border-radius: 48px;
    background: #95B249;
    flex-shrink: 0
}

.blg .sandpat {
    padding: 64px;
    position: relative;
    background: #F1F3EE
}

.blg .sandpat .patbg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    border-radius: 0
}

.blg .sandpat .patbg svg {
    width: 100%;
    height: 100%
}

.blg .sandpat .patinner {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
    text-align: center
}

.blg .sandpat .patinner .overline {
    display: block;
    width: 32px;
    height: 2px;
    background: #95B249;
    margin: 0 auto 16px;
    border-radius: 6px
}

.blg .sandpat .patinner h3 {
    font-size: 34px;
    line-height: 1.2;
    color: #1e2a10;
    margin: 0 0 16px;
    letter-spacing: -.02em
}

.blg .sandpat .patinner p {
    font-size: 13px;
    line-height: 1.9;
    color: #4a5a30;
    margin: 0 0 32px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto
}

.blg .sandpat .patinner .ctarow {
    display: flex;
    flex-direction: row;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap
}

.blg .sandpat .patinner .ctabtn {
    display: inline-block;
    font-size: 13px;
    color: #fff;
    background: #95B249;
    border-radius: 6px;
    padding: 16px 32px;
    text-decoration: none;
    letter-spacing: .02em;
    line-height: 1.2;
    box-shadow: 0 5px 28px -2px #95b24914;
    transition: background .2s cubic-bezier(0.4, 0, 0.2, 1), padding .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.blg .sandpat .patinner .ctabtn:hover {
    background: #7a9a38;
    padding: 16px 48px
}

.blg .sandpat .patinner .ctabtn:active {
    box-shadow: inset 0 2px 8px #95b2494d
}

.blg .sandpat .patinner .ctabtn.outline {
    background: transparent;
    color: #95B249;
    border: 2px solid #95B249
}

.blg .sandpat .patinner .ctabtn.outline:hover {
    background: #95b24914
}

@media (max-width: 900px) {
    .blg .pgband {
        padding: 32px 32px 0
    }

    .blg .postsgrid {
        padding: 64px 32px
    }

    .blg .postsgrid .gridinner {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px
    }

    .blg .metricsrow {
        padding: 64px 32px
    }

    .blg .aboutstrip {
        padding: 64px 32px
    }

    .blg .aboutstrip .stripinner {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .blg .sandpat {
        padding: 64px 32px
    }
}

@media (max-width: 600px) {
    .blg .pgband {
        padding: 32px 16px 0
    }

    .blg .pgband .deco {
        display: none
    }

    .blg .pgband h1 {
        font-size: 25px
    }

    .blg .postsgrid {
        padding: 32px 16px
    }

    .blg .postsgrid .gridinner {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .blg .metricsrow {
        padding: 32px 16px
    }

    .blg .metricsrow .metinner {
        grid-template-columns: 1fr
    }

    .blg .metricsrow .methead {
        grid-column: 1
    }

    .blg .aboutstrip {
        padding: 32px 16px
    }

    .blg .sandpat {
        padding: 32px 16px
    }

    .blg .sandpat .patinner h3 {
        font-size: 25px
    }
}

.successPage {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 32px;
    background: #F1F3EE
}

.successPage .innerWrap {
    max-width: 640px;
    width: 100%;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 5px 28px -2px #95b24914;
    padding: 64px;
    text-align: center
}

.successPage .iconMark {
    width: 64px;
    height: 64px;
    margin: 0 auto 32px;
    display: flex;
    align-items: center;
    justify-content: center
}

.successPage .iconMark svg {
    width: 64px;
    height: 64px
}

.successPage .overline {
    display: block;
    font-size: 13px;
    letter-spacing: .12em;
    color: #95B249;
    text-transform: uppercase;
    margin-bottom: 8px;
    line-height: 1.6
}

.successPage .headline {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #2a2e22;
    margin: 0 0 16px;
    font-weight: 700
}

.successPage .subtext {
    font-size: 13px;
    line-height: 1.9;
    color: #4a5240;
    margin: 0 0 32px
}

.successPage .subtext span {
    color: #95B249
}

.successPage .dividerLine {
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, #95B249, #A2B987, #F1F3EE);
    border-radius: 48px;
    margin: 0 auto 32px
}

.successPage .metaNote {
    font-size: 13px;
    line-height: 1.6;
    color: #6a7560;
    margin: 0 0 32px
}

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

.successPage .btnPrimary {
    display: inline-block;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .04em;
    background: #95B249;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 16px 32px;
    cursor: pointer;
    text-decoration: none;
    font-weight: 600;
    box-shadow: 0 3px 3px -2px #95b24912;
    transition: padding .2s cubic-bezier(0.4, 0, 0.2, 1), background .15s cubic-bezier(0.0, 0, 0.2, 1)
}

.successPage .btnPrimary:hover {
    background: #7d9a3a;
    padding: 16px 40px
}

.successPage .btnPrimary:focus {
    outline: 2px solid #95B249;
    outline-offset: 3px
}

.successPage .btnPrimary:active {
    box-shadow: inset 0 2px 6px #95b2492e
}

.successPage .btnSecondary {
    display: inline-block;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .04em;
    background: transparent;
    color: #2a2e22;
    border: 1.5px solid #A2B987;
    border-radius: 6px;
    padding: 16px 32px;
    cursor: pointer;
    text-decoration: none;
    font-weight: 500;
    transition: padding .25s cubic-bezier(0.4, 0, 0.2, 1), border-color .18s cubic-bezier(0.0, 0, 0.2, 1), color .18s cubic-bezier(0.0, 0, 0.2, 1)
}

.successPage .btnSecondary:hover {
    border-color: #95B249;
    color: #95B249;
    padding: 16px 40px
}

.successPage .btnSecondary:focus {
    outline: 2px solid #95B249;
    outline-offset: 3px
}

.successPage .btnSecondary:active {
    box-shadow: inset 0 2px 4px #a2b98724
}

.successPage .footNote {
    margin-top: 32px;
    font-size: 13px;
    line-height: 1.6;
    color: #8a9480
}

.successPage .footNote a {
    color: #95B249;
    text-decoration: none;
    border-bottom: 1px solid #95b2494d;
    transition: border-color .15s cubic-bezier(0.4, 0, 0.2, 1)
}

.successPage .footNote a:hover {
    border-color: #95B249
}

@media (max-width: 600px) {
    .successPage {
        padding: 64px 16px
    }

    .successPage .innerWrap {
        padding: 32px 16px
    }

    .successPage .headline {
        font-size: 25px
    }

    .successPage .actionGroup {
        flex-direction: column;
        align-items: stretch
    }

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