@import url('https://cdn.jsdelivr.net/npm/@fontsource/cormorant@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/cormorant@latest/400-italic.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/cormorant@latest/700.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/cormorant@latest/700-italic.css');

*,
*::before,
*::after {
    content: none;
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
}

.site-head {
    position: relative;
    background: #ffffff;
    border-bottom: 1px solid #D6BFA8;
    z-index: 100;
}

.site-head::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #AAAC2F 0%, #D6BFA8 60%, #EDE4DD 100%);
    display: block;
}

.head-upper {
    background: linear-gradient(135deg, #EDE4DD 0%, #ffffff 55%, #f5f2ee 100%);
    border-bottom: 1px solid rgba(170, 172, 47, 0.18);
    padding: 24px 48px;
    max-width: 100%;
}

.head-upper-shell {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 48px;
}

.brand-mount {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.brand-img-hold {
    width: 80px;
    height: 80px;
    background: rgba(237, 228, 221, 0.7);
    border-radius: 16px 0px 16px 0px;
    border: 1px solid rgba(170, 172, 47, 0.25);
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09), inset 0 1px 3px rgba(214, 191, 168, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.brand-img-hold img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    display: block;
}

.brand-text-stack {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.brand-name {
    font-family: 'Cormorant', serif;
    font-size: 37px;
    font-weight: 700;
    line-height: 1.1;
    color: #2a2a1e;
    letter-spacing: 0.01em;
    text-decoration: none;
    display: block;
}

.brand-tagline {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.4;
    color: #7a7a50;
    letter-spacing: 0.02em;
}

.head-contact-strip {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.head-phone {
    font-family: 'Cormorant', serif;
    font-size: 17px;
    font-weight: 700;
    color: #2a2a1e;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.head-phone:hover {
    color: #AAAC2F;
}

.head-phone:focus {
    outline: none;
    border-bottom: 4px solid #AAAC2F;
}

.head-email {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 400;
    color: #5a5a3a;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.25s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.head-email:hover {
    color: #AAAC2F;
}

.head-email:focus {
    outline: none;
    border-bottom: 4px solid #AAAC2F;
}

.head-nav-bar {
    background: #2a2a1e;
    padding: 0 48px;
}

.head-nav-shell {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
}

.head-nav-list {
    display: flex;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.head-nav-list li {
    display: flex;
    align-items: stretch;
    position: relative;
}

.head-nav-list li+li::before {
    display: block;
    width: 1px;
    background: rgba(214, 191, 168, 0.2);
    align-self: stretch;
    margin: 8px 0;
    flex-shrink: 0;
}

.head-nav-list li+li::before {
    content: '';
    width: 1px;
    background: rgba(214, 191, 168, 0.2);
    align-self: stretch;
    margin: 8px 0;
}

.head-nav-link {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #EDE4DD;
    text-decoration: none;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    min-height: 56px;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
}

.head-nav-link::after {
    position: absolute;
    bottom: 0;
    left: 24px;
    right: 24px;
    height: 2px;
    background: #AAAC2F;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.head-nav-link:hover {
    color: #AAAC2F;
    background: rgba(170, 172, 47, 0.08);
}

.head-nav-link:hover::after {
    transform: scaleX(1);
}

.head-nav-link:focus {
    outline: none;
    border-bottom: 4px solid #AAAC2F;
    color: #AAAC2F;
}

.head-nav-link[aria-current="page"] {
    color: #AAAC2F;
}

.head-nav-link[aria-current="page"]::after {
    transform: scaleX(1);
}

@media (max-width: 900px) {
    .head-upper {
        padding: 16px 24px;
    }

    .head-upper-shell {
        gap: 24px;
        flex-wrap: wrap;
    }

    .head-contact-strip {
        align-items: flex-start;
        margin-left: 0;
    }

    .head-nav-bar {
        padding: 0 24px;
    }

    .head-nav-link {
        padding: 16px 16px;
        font-size: 15px;
    }
}

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

    .brand-name {
        font-size: 37px;
    }

    .head-nav-bar {
        padding: 0 16px;
    }

    .head-nav-link {
        padding: 16px 8px;
        font-size: 15px;
        letter-spacing: 0.06em;
    }

    .head-contact-strip {
        display: none;
    }
}

.site-foot {
    background: #2a2a1e;
    border-top: 3px solid #AAAC2F;
}

.foot-main {
    max-width: 1100px;
    margin: 0 auto;
    padding: 48px 48px 24px;
    display: flex;
    align-items: flex-start;
    gap: 48px;
    flex-wrap: wrap;
}

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

.foot-logo-hold {
    width: 72px;
    height: 72px;
    background: rgba(237, 228, 221, 0.1);
    border-radius: 8px 0px 8px 0px;
    border: 1px solid rgba(214, 191, 168, 0.25);
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08), 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.foot-logo-hold img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    display: block;
}

.foot-contact-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.foot-contact-label {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #AAAC2F;
    line-height: 1.4;
}

.foot-addr {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 400;
    color: #b8b09a;
    line-height: 1.6;
    font-style: normal;
}

.foot-contact-link {
    font-family: 'Cormorant', serif;
    font-size: 17px;
    font-weight: 400;
    color: #EDE4DD;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: inline-block;
}

.foot-contact-link:hover {
    color: #AAAC2F;
}

.foot-contact-link:focus {
    outline: none;
    border-bottom: 4px solid #AAAC2F;
}

.foot-nav-col {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.foot-nav-label {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #AAAC2F;
    line-height: 1.4;
}

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

.foot-nav-list a {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 400;
    color: #b8b09a;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: inline-block;
}

.foot-nav-list a:hover {
    color: #EDE4DD;
}

.foot-nav-list a:focus {
    outline: none;
    border-bottom: 4px solid #AAAC2F;
}

.foot-bottom {
    max-width: 1100px;
    margin: 0 auto;
    padding: 16px 48px 24px;
    border-top: 1px solid rgba(214, 191, 168, 0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.foot-copy {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 400;
    color: #6a6450;
    line-height: 1.4;
}

@media (max-width: 900px) {
    .foot-main {
        padding: 48px 24px 24px;
        gap: 24px;
    }

    .foot-nav-col {
        margin-left: 0;
    }

    .foot-bottom {
        padding: 16px 24px 24px;
    }
}

@media (max-width: 600px) {
    .foot-main {
        padding: 48px 16px 24px;
    }

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

.ck-popup {
    position: fixed;
    top: 24px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 560px;
    max-width: calc(100% - 32px);
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10), 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    border: 1px solid rgba(170, 172, 47, 0.2);
    z-index: 4000;
    padding: 24px;
    display: none;
}

.ck-popup-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ck-desc {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 400;
    color: #2a2a1e;
    line-height: 1.6;
}

.ck-desc strong {
    font-weight: 700;
    color: #2a2a1e;
}

.ck-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.ck-btn {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    line-height: 1.4;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.ck-btn-accept {
    color: #AAAC2F;
}

.ck-btn-accept:hover {
    color: #7a7d20;
}

.ck-btn-accept:focus {
    outline: none;
    border-bottom: 4px solid #AAAC2F;
}

.ck-btn-decline {
    color: #5a5a3a;
}

.ck-btn-decline:hover {
    color: #2a2a1e;
}

.ck-btn-decline:focus {
    outline: none;
    border-bottom: 4px solid #2a2a1e;
}

.ck-policy-note {
    font-family: 'Cormorant', serif;
    font-size: 15px;
    font-weight: 400;
    font-style: italic;
    color: #7a7a50;
    line-height: 1.4;
}

.ck-policy-note a {
    color: #AAAC2F;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ck-policy-note a:hover {
    color: #7a7d20;
}

.ck-policy-note a:focus {
    outline: none;
    border-bottom: 4px solid #AAAC2F;
}

.policy-layout {
    max-width: 1100px;
    margin: 0 auto;
    padding: 96px 48px;
}

.policy-layout p {
    font-size: 17px;
    line-height: 1.6;
    color: #2a2a2e;
    margin-bottom: 24px;
}

.policy-layout strong,
.policy-layout b {
    font-weight: 700;
    color: #1e1e22;
}

.policy-layout em,
.policy-layout i {
    font-style: italic;
    color: #3a3a40;
}

.policy-layout table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 48px;
    font-size: 15px;
    line-height: 1.4;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    border-radius: 8px;
    overflow: hidden;
}

.policy-layout thead {
    background-color: #AAAC2F;
}

.policy-layout thead th {
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 16px 24px;
    text-align: left;
    border: none;
}

.policy-layout tbody tr {
    background-color: #ffffff;
    transition: background-color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.policy-layout tbody tr:nth-child(even) {
    background-color: #EDE4DD;
}

.policy-layout tbody tr:hover {
    background-color: #D6BFA8;
}

.policy-layout td {
    padding: 16px 24px;
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a2e;
    border-bottom: 1px solid rgba(214, 191, 168, 0.4);
    vertical-align: top;
}

.policy-layout tbody tr:last-child td {
    border-bottom: none;
}

.policy-layout hr {
    border: none;
    height: 2px;
    background: linear-gradient(90deg, #AAAC2F 0%, #D6BFA8 60%, transparent 100%);
    margin: 48px 0;
    border-radius: 3px;
    box-shadow: inset 0 1px 2px rgba(170, 172, 47, 0.12);
}

.policy-layout div {
    margin-bottom: 24px;
}

@media (max-width: 900px) {
    .policy-layout {
        padding: 48px 24px;
    }

    .policy-layout table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .policy-layout thead th,
    .policy-layout td {
        padding: 16px;
    }
}

@media (max-width: 600px) {
    .policy-layout {
        padding: 48px 16px;
    }

    .policy-layout p {
        font-size: 15px;
    }

    .policy-layout thead th {
        font-size: 15px;
        padding: 16px 8px;
    }

    .policy-layout td {
        font-size: 15px;
        padding: 16px 8px;
    }
}

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

.svc-det .pg-head {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    align-items: stretch;
    gap: 0;
    min-height: 0;
    background: #f5f2ee;
}

.svc-det .pg-head__img-left,
.svc-det .pg-head__img-right {
    position: relative;
    overflow: hidden;
    min-height: 420px;
}

.svc-det .pg-head__img-left img,
.svc-det .pg-head__img-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.6) sepia(0.3) brightness(0.92) hue-rotate(0deg);
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.svc-det .pg-head__img-left img {
    filter: saturate(0.4) sepia(0.5) brightness(0.88);
}

.svc-det .pg-head__img-right img {
    filter: saturate(0.5) sepia(0.2) brightness(0.9) contrast(1.05);
}

.svc-det .pg-head__img-left::after,
.svc-det .pg-head__img-right::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(170, 172, 47, 0.18) 0%, rgba(214, 191, 168, 0.22) 100%);
    pointer-events: none;
}

.svc-det .pg-head__dots {
    position: absolute;
    top: 16px;
    left: 16px;
    display: grid;
    grid-template-columns: repeat(4, 8px);
    gap: 8px;
    pointer-events: none;
    z-index: 1;
}

.svc-det .pg-head__dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(170, 172, 47, 0.35);
    display: block;
}

.svc-det .pg-head__dots span:nth-child(2),
.svc-det .pg-head__dots span:nth-child(5),
.svc-det .pg-head__dots span:nth-child(8) {
    background: rgba(214, 191, 168, 0.45);
}

.svc-det .pg-head__dots--right {
    top: auto;
    bottom: 16px;
    left: auto;
    right: 16px;
}

.svc-det .pg-head__mid {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 96px 48px;
    gap: 24px;
    position: relative;
    z-index: 2;
    background: #f5f2ee;
}

.svc-det .pg-head__tag {
    display: inline-block;
    font-size: 15px;
    line-height: 1.4;
    color: #AAAC2F;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border: 1.5px solid rgba(170, 172, 47, 0.35);
    border-radius: 3px;
    padding: 8px 16px;
    background: rgba(170, 172, 47, 0.06);
}

.svc-det .pg-head__h1 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #1e1c18;
    text-align: center;
    margin: 0;
}

.svc-det .pg-head__sub {
    font-size: 17px;
    line-height: 1.6;
    color: #4a4640;
    text-align: center;
    margin: 0;
    max-width: 380px;
}

.svc-det .pg-head__meta {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

.svc-det .pg-head__meta-item {
    font-size: 15px;
    line-height: 1.4;
    color: #6a6358;
}

.svc-det .pg-head__meta-item strong {
    color: #1e1c18;
    font-weight: 700;
}

.svc-det .pg-head__meta-sep {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #AAAC2F;
    display: inline-block;
}

.svc-det .pg-head__cta {
    display: inline-block;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
    color: #AAAC2F;
    border: 2px solid #AAAC2F;
    border-radius: 8px;
    padding: 16px 48px;
    text-decoration: none;
    background: transparent;
    transition: background 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    margin-top: 8px;
}

.svc-det .pg-head__cta:hover,
.svc-det .pg-head__cta:focus {
    background: #AAAC2F;
    color: #fff;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.25);
    outline: none;
}

.svc-det .pg-head__cta:focus-visible {
    outline: 3px solid #AAAC2F;
    outline-offset: 3px;
}

.svc-det .wave-div {
    display: block;
    width: 100%;
    line-height: 0;
    overflow: hidden;
}

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

.svc-det .body-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 48px;
}

.svc-det .detail-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
    padding: 96px 0;
}

.svc-det .det-left {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.svc-det .desc-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.svc-det .desc-block h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 700;
    color: #1e1c18;
    margin: 0;
    text-align: center;
}

.svc-det .desc-block h3 {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
    color: #1e1c18;
    margin: 0;
}

.svc-det .desc-block p {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3630;
    margin: 0;
}

.svc-det .desc-block p:nth-child(odd) {
    max-width: 90%;
}

.svc-det .desc-block p:nth-child(even) {
    max-width: 75%;
}

.svc-det .desc-block ol,
.svc-det .desc-block ul {
    margin: 0;
    padding-left: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.svc-det .desc-block li {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3630;
}

.svc-det .desc-block dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px 24px;
    margin: 0;
}

.svc-det .desc-block dt {
    font-size: 15px;
    font-weight: 700;
    color: #AAAC2F;
    line-height: 1.4;
}

.svc-det .desc-block dd {
    font-size: 15px;
    color: #3a3630;
    line-height: 1.4;
    margin: 0;
}

.svc-det .desc-block details {
    border: 1.5px solid rgba(170, 172, 47, 0.25);
    border-radius: 8px;
    padding: 16px;
}

.svc-det .desc-block summary {
    font-size: 17px;
    font-weight: 700;
    color: #1e1c18;
    cursor: pointer;
    line-height: 1.4;
}

.svc-det .notch-block {
    position: relative;
    padding-left: 24px;
}

.svc-det .notch-block::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 3px;
    background: #AAAC2F;
}

.svc-det .prog-block {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.svc-det .prog-block h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 700;
    color: #1e1c18;
    margin: 0;
    text-align: center;
}

.svc-det .prog-block h3 {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
    color: #1e1c18;
    margin: 0;
}

.svc-det .prog-block p {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3630;
    margin: 0;
}

.svc-det .prog-block small {
    font-size: 15px;
    line-height: 1.4;
    color: #6a6358;
}

.svc-det .prog-block abbr {
    text-decoration: underline dotted;
    cursor: help;
}

.svc-det .prog-block ul,
.svc-det .prog-block ol {
    margin: 0;
    padding-left: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.svc-det .prog-block li {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3630;
}

.svc-det .prog-block dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px 24px;
    margin: 0;
}

.svc-det .prog-block dt {
    font-size: 15px;
    font-weight: 700;
    color: #AAAC2F;
    line-height: 1.4;
}

.svc-det .prog-block dd {
    font-size: 15px;
    color: #3a3630;
    line-height: 1.4;
    margin: 0;
}

.svc-det .prog-block blockquote {
    margin: 0;
    padding: 16px 24px;
    background: rgba(237, 228, 221, 0.55);
    border-radius: 8px;
    font-size: 17px;
    line-height: 1.6;
    color: #3a3630;
    font-style: italic;
}

.svc-det .prog-block cite {
    display: block;
    font-size: 15px;
    color: #AAAC2F;
    font-style: normal;
    margin-top: 8px;
}

.svc-det .prog-block figure {
    margin: 0;
}

.svc-det .prog-block figcaption {
    font-size: 15px;
    color: #6a6358;
    line-height: 1.4;
    margin-top: 8px;
}

.svc-det .prog-block details {
    border: 1.5px solid rgba(170, 172, 47, 0.25);
    border-radius: 8px;
    padding: 16px;
}

.svc-det .prog-block summary {
    font-size: 17px;
    font-weight: 700;
    color: #1e1c18;
    cursor: pointer;
    line-height: 1.4;
}

.svc-det .img-annot {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
}

.svc-det .img-annot img {
    width: 100%;
    display: block;
    object-fit: cover;
    border-radius: 16px;
}

.svc-det .annot-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

.svc-det .annot-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 8px;
    background: rgba(237, 228, 221, 0.4);
    transition: box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.svc-det .annot-item:hover {
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    transform: translateY(-2px) scale(1.01);
}

.svc-det .annot-num {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #AAAC2F;
    min-width: 48px;
    text-align: center;
}

.svc-det .annot-text h5 {
    font-size: 15px;
    font-weight: 700;
    color: #1e1c18;
    line-height: 1.4;
    margin: 0 0 8px;
}

.svc-det .annot-text p {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4640;
    margin: 0;
}

.svc-det .det-right {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 24px;
}

.svc-det .price-card {
    background: #fff;
    border-radius: 16px;
    border: 1.5px solid rgba(170, 172, 47, 0.2);
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    padding: 48px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.svc-det .price-card__price {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #1e1c18;
    text-align: center;
}

.svc-det .price-card__pricedes {
    font-size: 15px;
    line-height: 1.4;
    color: #6a6358;
    text-align: center;
}

.svc-det .price-card__note {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4640;
    text-align: center;
    padding: 8px 16px;
    background: rgba(237, 228, 221, 0.5);
    border-radius: 8px;
}

.svc-det .price-card__row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(214, 191, 168, 0.3);
}

.svc-det .price-card__row:last-of-type {
    border-bottom: none;
}

.svc-det .price-card__label {
    font-size: 15px;
    color: #6a6358;
    line-height: 1.4;
}

.svc-det .price-card__val {
    font-size: 15px;
    font-weight: 700;
    color: #1e1c18;
    line-height: 1.4;
}

.svc-det .price-card__seats {
    font-size: 15px;
    font-weight: 700;
    color: #AAAC2F;
    text-align: center;
    padding: 8px 16px;
    border: 1.5px solid rgba(170, 172, 47, 0.3);
    border-radius: 8px;
}

.svc-det .price-card__btn {
    display: block;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    color: #AAAC2F;
    border: 2px solid #AAAC2F;
    border-radius: 8px;
    padding: 16px 24px;
    text-decoration: none;
    background: transparent;
    transition: background 0.2s cubic-bezier(0.68, -0.55, 0.27, 1.55), color 0.2s cubic-bezier(0.68, -0.55, 0.27, 1.55), box-shadow 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
    cursor: pointer;
}

.svc-det .price-card__btn:hover,
.svc-det .price-card__btn:focus {
    background: #AAAC2F;
    color: #fff;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.18);
    outline: none;
}

.svc-det .price-card__btn:focus-visible {
    outline: 3px solid #AAAC2F;
    outline-offset: 3px;
}

.svc-det .spec-table-wrap {
    border-radius: 8px;
    overflow: hidden;
    border: 1.5px solid rgba(214, 191, 168, 0.35);
    box-shadow: 2px 1px 3px -2px rgba(214, 191, 168, 0.08);
}

.svc-det .spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.4;
}

.svc-det .spec-table th {
    background: rgba(170, 172, 47, 0.12);
    color: #1e1c18;
    font-weight: 700;
    padding: 16px;
    text-align: left;
}

.svc-det .spec-table td {
    padding: 16px;
    color: #3a3630;
    border-top: 1px solid rgba(214, 191, 168, 0.25);
}

.svc-det .spec-table tr:nth-child(even) td {
    background: rgba(237, 228, 221, 0.3);
}

.svc-det .spec-table .cell-hi {
    background: rgba(170, 172, 47, 0.15);
    color: #1e1c18;
    font-weight: 700;
}

.svc-det .spec-table .cell-med {
    background: rgba(214, 191, 168, 0.3);
    color: #3a3630;
}

.svc-det .spec-table .cell-lo {
    background: rgba(237, 228, 221, 0.6);
    color: #6a6358;
}

.svc-det .dashed-path {
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.svc-det .bg-img-sec {
    position: relative;
    overflow: hidden;
}

.svc-det .bg-img-sec__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.svc-det .bg-img-sec__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
}

.svc-det .bg-img-sec__overlay {
    position: absolute;
    inset: 0;
    background: rgba(20, 18, 14, 0.88);
    z-index: 1;
}

.svc-det .bg-img-sec__inner {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin: 0 auto;
    padding: 96px 48px;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.svc-det .bg-img-sec__h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 300;
    color: #EDE4DD;
    margin: 0;
    text-align: center;
}

.svc-det .bg-img-sec__h2 strong {
    font-weight: 800;
    color: #AAAC2F;
}

.svc-det .metrics-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.svc-det .metric-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1.5px solid rgba(170, 172, 47, 0.25);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: center;
    transition: background 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.svc-det .metric-card:hover {
    background: rgba(170, 172, 47, 0.12);
    transform: translateY(-3px) scale(1.02);
}

.svc-det .metric-card__num {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #AAAC2F;
}

.svc-det .metric-card__label {
    font-size: 15px;
    line-height: 1.4;
    color: #D6BFA8;
}

.svc-det .shake-el {
    animation: svc-shake 0.35s cubic-bezier(0.68, -0.55, 0.27, 1.55) 2.8s 1 both;
}

@keyframes svc-shake {
    0% {
        transform: translateX(0);
    }

    20% {
        transform: translateX(-5px);
    }

    40% {
        transform: translateX(5px);
    }

    60% {
        transform: translateX(-4px);
    }

    80% {
        transform: translateX(3px);
    }

    100% {
        transform: translateX(0);
    }
}

@media (max-width: 900px) {
    .svc-det .pg-head {
        grid-template-columns: 1fr;
    }

    .svc-det .pg-head__img-left,
    .svc-det .pg-head__img-right {
        display: none;
    }

    .svc-det .pg-head__mid {
        padding: 48px 24px;
    }

    .svc-det .pg-head__h1 {
        font-size: 37px;
    }

    .svc-det .detail-grid {
        grid-template-columns: 1fr;
        padding: 48px 0;
    }

    .svc-det .det-right {
        position: static;
    }

    .svc-det .body-wrap {
        padding: 0 24px;
    }

    .svc-det .metrics-row {
        grid-template-columns: 1fr;
    }

    .svc-det .bg-img-sec__inner {
        padding: 48px 24px;
    }
}

@media (max-width: 600px) {
    .svc-det .pg-head__h1 {
        font-size: 37px;
    }

    .svc-det .pg-head__mid {
        padding: 48px 16px;
    }

    .svc-det .body-wrap {
        padding: 0 16px;
    }

    .svc-det .price-card {
        padding: 24px 16px;
    }

    .svc-det .bg-img-sec__inner {
        padding: 48px 16px;
    }

    .svc-det .detail-grid {
        gap: 24px;
    }
}

.lrn-prog {
    width: 100%;
    overflow-x: hidden;
}

.lrn-prog .pg-strip {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.lrn-prog .pg-strip__img-rail {
    width: 100%;
    height: 220px;
    position: relative;
    overflow: hidden;
}

.lrn-prog .pg-strip__img-rail::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(237, 228, 221, 0.18) 0%, rgba(237, 228, 221, 0.82) 100%);
    pointer-events: none;
}

.lrn-prog .pg-strip__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    will-change: transform;
    transform: translateY(0px);
}

.lrn-prog .pg-strip__bracket {
    position: absolute;
    top: 12px;
    width: 28px;
    height: 28px;
    pointer-events: none;
    z-index: 2;
}

.lrn-prog .pg-strip__bracket--tl {
    left: 24px;
    border-top: 2px solid #AAAC2F;
    border-left: 2px solid #AAAC2F;
}

.lrn-prog .pg-strip__bracket--tr {
    right: 24px;
    border-top: 2px solid #AAAC2F;
    border-right: 2px solid #AAAC2F;
}

.lrn-prog .pg-strip__text {
    max-width: 1100px;
    margin: 0 auto;
    padding: 48px 48px 96px;
    position: relative;
}

.lrn-prog .pg-strip__text::before {
    content: '';
    position: absolute;
    left: 48px;
    top: 0;
    width: 48px;
    height: 3px;
    background: #AAAC2F;
}

.lrn-prog .pg-strip__eyebrow {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #AAAC2F;
    margin: 0 0 16px;
}

.lrn-prog .pg-strip__h1 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #1b1b18;
    margin: 0 0 24px;
    max-width: 680px;
}

.lrn-prog .pg-strip__sub {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3830;
    max-width: 520px;
    margin: 0;
}

.lrn-prog .pg-strip__arrow-deco {
    position: absolute;
    right: 48px;
    bottom: 48px;
    width: 20px;
    height: 36px;
    opacity: 0.22;
    pointer-events: none;
}

.lrn-prog .pg-strip__arrow-deco::before,
.lrn-prog .pg-strip__arrow-deco::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    background: #AAAC2F;
}

.lrn-prog .pg-strip__arrow-deco::before {
    top: 0;
    height: 22px;
}

.lrn-prog .pg-strip__arrow-deco::after {
    bottom: 0;
    width: 10px;
    height: 10px;
    background: none;
    border-right: 2px solid #AAAC2F;
    border-bottom: 2px solid #AAAC2F;
    transform: translateX(-50%) rotate(45deg);
}

.lrn-prog .divider-a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 0;
}

.lrn-prog .divider-a__line {
    width: 40px;
    height: 1px;
    background: #D6BFA8;
}

.lrn-prog .divider-a__dot {
    width: 6px;
    height: 6px;
    background: #AAAC2F;
    transform: rotate(45deg);
}

.lrn-prog .prog-detail {
    background: #EDE4DD;
    position: relative;
    overflow: hidden;
}

.lrn-prog .prog-detail__band {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #AAAC2F 0%, #D6BFA8 100%);
    pointer-events: none;
}

.lrn-prog .prog-detail__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 96px 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.lrn-prog .prog-detail__col-text {}

.lrn-prog .prog-detail__label {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #7a7a28;
    margin: 0 0 16px;
}

.lrn-prog .prog-detail__h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 700;
    color: #1b1b18;
    margin: 0 0 24px;
    text-align: center;
}

.lrn-prog .prog-detail__para {
    font-size: 17px;
    line-height: 1.6;
    color: #2e2c27;
    margin: 0 0 16px;
}

.lrn-prog .prog-detail__para--narrow {
    max-width: 360px;
}

.lrn-prog .prog-detail__para--wide {
    max-width: 480px;
}

.lrn-prog .prog-detail__col-vis {
    position: relative;
}

.lrn-prog .prog-detail__img-frame {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
}

.lrn-prog .prog-detail__img-frame::before {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 2px rgba(170, 172, 47, 0.15);
    border-radius: 8px;
    z-index: 2;
    pointer-events: none;
}

.lrn-prog .prog-detail__img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.lrn-prog .prog-detail__stat-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 24px;
}

.lrn-prog .prog-detail__stat {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08);
    transition: box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.lrn-prog .prog-detail__stat:hover {
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    transform: translateY(-2px) scale(1.02);
}

.lrn-prog .prog-detail__stat-num {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #AAAC2F;
    display: block;
}

.lrn-prog .prog-detail__stat-desc {
    font-size: 15px;
    line-height: 1.4;
    color: #3a3830;
    display: block;
    margin-top: 8px;
}

.lrn-prog .divider-b {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 0;
    background: #EDE4DD;
}

.lrn-prog .divider-b__line {
    width: 60px;
    height: 2px;
    background: linear-gradient(to right, #EDE4DD, #D6BFA8);
}

.lrn-prog .divider-b__shape {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #D6BFA8;
}

.lrn-prog .team-panel {
    background: #fff;
    position: relative;
}

.lrn-prog .team-panel__bg-anim {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.lrn-prog .team-panel__bg-anim::before {
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(170, 172, 47, 0.06) 0%, rgba(214, 191, 168, 0.04) 60%, transparent 100%);
    animation: lightshift 8s ease-in-out infinite alternate;
    top: -100px;
    left: -100px;
}

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

    100% {
        transform: translate(300px, 200px);
    }
}

.lrn-prog .team-panel__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 96px 48px;
    position: relative;
    z-index: 1;
}

.lrn-prog .team-panel__head {
    text-align: center;
    margin-bottom: 48px;
}

.lrn-prog .team-panel__h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 300;
    color: #1b1b18;
    margin: 0 0 16px;
    text-align: center;
}

.lrn-prog .team-panel__h2 strong {
    font-weight: 800;
}

.lrn-prog .team-panel__intro {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3830;
    max-width: 560px;
    margin: 0 auto;
}

.lrn-prog .team-panel__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.lrn-prog .team-card {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 2px 1px 3px -2px rgba(214, 191, 168, 0.08);
    background: #EDE4DD;
    transition: box-shadow 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
    outline: none;
}

.lrn-prog .team-card:focus-within {
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09), 0 0 0 3px #AAAC2F;
}

.lrn-prog .team-card:hover {
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
    transform: translateY(-4px) scale(1.01);
}

.lrn-prog .team-card__portrait {
    width: 100%;
    aspect-ratio: 5/7;
    object-fit: cover;
    object-position: center;
    display: block;
}

.lrn-prog .team-card__body {
    padding: 16px;
}

.lrn-prog .team-card__name {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
    color: #1b1b18;
    margin: 0 0 8px;
}

.lrn-prog .team-card__role {
    font-size: 15px;
    line-height: 1.4;
    color: #7a7a28;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 8px;
}

.lrn-prog .team-card__bio {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3830;
    margin: 0;
}

.lrn-prog .team-panel__modules {
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.lrn-prog .mod-item {
    background: #EDE4DD;
    border-radius: 8px;
    padding: 24px;
    position: relative;
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08);
    transition: box-shadow 0.25s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.25s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.lrn-prog .mod-item:hover {
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    transform: scale(1.015);
}

.lrn-prog .mod-item__num {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: rgba(170, 172, 47, 0.15);
    position: absolute;
    top: 8px;
    right: 16px;
    pointer-events: none;
    user-select: none;
}

.lrn-prog .mod-item__h4 {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
    color: #1b1b18;
    margin: 0 0 8px;
}

.lrn-prog .mod-item__desc {
    font-size: 15px;
    line-height: 1.6;
    color: #2e2c27;
    margin: 0;
}

.lrn-prog .team-panel__cta-row {
    margin-top: 48px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    justify-content: center;
}

.lrn-prog .btn-ghost {
    display: inline-block;
    padding: 16px 48px;
    border-radius: 3px;
    border: 2px solid #AAAC2F;
    background: transparent;
    color: #7a7a28;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08);
}

.lrn-prog .btn-ghost:hover,
.lrn-prog .btn-ghost:focus {
    background: #AAAC2F;
    color: #fff;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    outline: none;
}

.lrn-prog .btn-ghost:active {
    background: #8a8c25;
    border-color: #8a8c25;
    color: #fff;
}

.lrn-prog .team-panel__img-vis {
    margin-top: 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
    position: relative;
}

.lrn-prog .team-panel__img-vis img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center;
    display: block;
}

.lrn-prog .team-panel__img-vis::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 16px;
    box-shadow: inset 0 0 0 2px rgba(170, 172, 47, 0.12);
    pointer-events: none;
}

@media (max-width: 900px) {
    .lrn-prog .prog-detail__inner {
        grid-template-columns: 1fr;
        padding: 48px 24px;
    }

    .lrn-prog .team-panel__grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .lrn-prog .team-panel__modules {
        grid-template-columns: 1fr;
    }

    .lrn-prog .pg-strip__text {
        padding: 48px 24px 96px;
    }

    .lrn-prog .pg-strip__text::before {
        left: 24px;
    }

    .lrn-prog .pg-strip__arrow-deco {
        right: 24px;
    }

    .lrn-prog .team-panel__inner {
        padding: 48px 24px;
    }
}

@media (max-width: 600px) {
    .lrn-prog .pg-strip__h1 {
        font-size: 37px;
    }

    .lrn-prog .pg-strip__img-rail {
        height: 120px;
    }

    .lrn-prog .team-panel__grid {
        grid-template-columns: 1fr;
    }

    .lrn-prog .prog-detail__stat-row {
        grid-template-columns: 1fr;
    }

    .lrn-prog .prog-detail__img {
        height: 200px;
    }

    .lrn-prog .team-panel__cta-row {
        flex-direction: column;
        gap: 16px;
    }

    .lrn-prog .team-panel__img-vis {
        display: none;
    }
}

@media (min-width: 1200px) {
    .lrn-prog .prog-detail__inner {
        gap: 96px;
    }
}

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

.abt-us ::selection {
    background: #2a2a1a;
    color: #EDE4DD;
}

.abt-us .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.abt-us .title-blk {
    padding: 48px 0 96px;
    position: relative;
    border-top: 2px solid #AAAC2F;
}

.abt-us .title-blk::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #AAAC2F 0%, #D6BFA8 100%);
}

.abt-us .title-blk .pg-wrap {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
}

.abt-us .title-blk__text {
    flex: 1;
    min-width: 0;
}

.abt-us .eyebrow {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #AAAC2F;
    margin-bottom: 16px;
    line-height: 1.4;
}

.abt-us .title-blk__h1 {
    font-size: 51px;
    font-weight: 800;
    line-height: 1.1;
    color: #1b1b0e;
    margin: 0 0 24px;
    overflow: hidden;
}

.abt-us .title-blk__h1 .word {
    display: inline-block;
    opacity: 0;
    transform: translateY(32px);
    animation: word-rise 0.28s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.abt-us .title-blk__h1 .word:nth-child(1) {
    animation-delay: 0.05s;
}

.abt-us .title-blk__h1 .word:nth-child(2) {
    animation-delay: 0.13s;
}

.abt-us .title-blk__h1 .word:nth-child(3) {
    animation-delay: 0.21s;
}

.abt-us .title-blk__h1 .word:nth-child(4) {
    animation-delay: 0.29s;
}

.abt-us .title-blk__h1 .word:nth-child(5) {
    animation-delay: 0.37s;
}

.abt-us .title-blk__h1 .word:nth-child(6) {
    animation-delay: 0.45s;
}

@keyframes word-rise {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.abt-us .title-blk__img-strip {
    width: 220px;
    flex-shrink: 0;
    position: relative;
}

.abt-us .title-blk__img-strip::before {
    content: '';
    position: absolute;
    top: -8px;
    right: -8px;
    width: 100%;
    height: 100%;
    border: 2px solid #AAAC2F;
    border-radius: 16px;
    z-index: 0;
}

.abt-us .title-blk__img-strip img {
    width: 220px;
    height: 340px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    display: block;
    position: relative;
    z-index: 1;
    mix-blend-mode: multiply;
    filter: contrast(1.08) saturate(0.85);
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
}

.abt-us .title-blk__img-strip::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(160deg, rgba(214, 191, 168, 0.35) 0%, rgba(237, 228, 221, 0.18) 100%);
    border-radius: 16px;
    z-index: 2;
    pointer-events: none;
}

.abt-us .div-arrows {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 0;
    background: #fff;
}

.abt-us .div-arrows .arr {
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid #D6BFA8;
    opacity: 0.7;
}

.abt-us .div-arrows .arr.dim {
    opacity: 0.3;
}

.abt-us .div-arrows .arr.bright {
    border-left-color: #AAAC2F;
    opacity: 0.9;
}

.abt-us .story-sec {
    background: linear-gradient(135deg, #f5f3ee 0%, #ede8e0 100%);
    padding: 96px 0 48px;
    position: relative;
}

.abt-us .story-sec::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(170, 172, 47, 0.07) 1px, transparent 1px);
    background-size: 22px 22px;
    pointer-events: none;
}

.abt-us .story-sec .pg-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.abt-us .story-sec__left {
    position: relative;
}

.abt-us .story-sec__img-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.abt-us .story-sec__img-wrap img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 8px;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.abt-us .story-sec__img-wrap:hover img {
    transform: scale(1.03);
}

.abt-us .story-sec__corner {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    overflow: hidden;
    pointer-events: none;
}

.abt-us .story-sec__corner::before {
    content: '';
    position: absolute;
    top: -30px;
    right: -30px;
    width: 60px;
    height: 60px;
    background: #AAAC2F;
    transform: rotate(45deg);
}

.abt-us .story-sec__right {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.abt-us .sec-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #AAAC2F;
    line-height: 1.4;
}

.abt-us .story-sec__h2 {
    font-size: 37px;
    font-weight: 800;
    line-height: 1.1;
    color: #1b1b0e;
    margin: 0;
    text-align: center;
}

.abt-us .story-sec__h2 span {
    font-weight: 300;
    color: #5a5a3a;
}

.abt-us .story-p {
    font-size: 17px;
    line-height: 1.6;
    color: #2e2e1a;
    margin: 0;
}

.abt-us .story-p.narrow {
    max-width: 340px;
}

.abt-us .metrics-sec {
    background: #1b1b0e;
    padding: 96px 0;
    position: relative;
}

.abt-us .metrics-sec .pg-wrap {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.abt-us .metrics-sec__top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
}

.abt-us .metrics-sec__intro {
    flex: 1;
}

.abt-us .metrics-sec__h2 {
    font-size: 37px;
    font-weight: 800;
    line-height: 1.1;
    color: #EDE4DD;
    margin: 0 0 16px;
    text-align: center;
}

.abt-us .metrics-sec__h2 em {
    font-style: normal;
    font-weight: 300;
    color: #AAAC2F;
}

.abt-us .metrics-p {
    font-size: 17px;
    line-height: 1.6;
    color: #c8c4b0;
    margin: 0;
}

.abt-us .metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.abt-us .metric-card {
    background: rgba(237, 228, 221, 0.06);
    border: 1px solid rgba(170, 172, 47, 0.2);
    border-radius: 8px;
    padding: 24px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: inset 0 1px 0 rgba(170, 172, 47, 0.08);
}

.abt-us .metric-card:hover {
    border-color: rgba(170, 172, 47, 0.6);
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09), inset 0 1px 0 rgba(170, 172, 47, 0.15);
}

.abt-us .metric-card__before {
    font-size: 15px;
    color: #888870;
    line-height: 1.4;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}

.abt-us .metric-card__arrow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.abt-us .metric-card__val {
    font-size: 37px;
    font-weight: 800;
    line-height: 1.1;
    color: #EDE4DD;
}

.abt-us .metric-card__val.after {
    color: #AAAC2F;
}

.abt-us .metric-card__arr-icon {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 10px solid #AAAC2F;
    flex-shrink: 0;
}

.abt-us .metric-card__desc {
    font-size: 15px;
    color: #a8a890;
    line-height: 1.4;
    margin-top: 8px;
}

.abt-us .metrics-sec__img-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
}

.abt-us .metrics-img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    display: block;
    filter: saturate(0.7) brightness(0.85);
    transition: filter 0.25s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.25s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.abt-us .metrics-img:hover {
    filter: saturate(1) brightness(1);
    transform: scale(1.02);
}

.abt-us .team-sec {
    background: #fff;
    padding: 48px 0 96px;
    position: relative;
}

.abt-us .team-sec::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #EDE4DD 0%, #AAAC2F 50%, #EDE4DD 100%);
}

.abt-us .team-sec .pg-wrap {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.abt-us .team-sec__head {
    text-align: center;
}

.abt-us .team-sec__h2 {
    font-size: 37px;
    font-weight: 800;
    line-height: 1.1;
    color: #1b1b0e;
    margin: 0 0 16px;
}

.abt-us .team-sec__h2 span {
    font-weight: 300;
}

.abt-us .team-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 48px;
    align-items: start;
}

.abt-us .team-person {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.abt-us .team-portrait {
    width: 120px;
    height: 168px;
    object-fit: cover;
    object-position: center;
    border-radius: 28px;
    display: block;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
}

.abt-us .team-person__name {
    font-size: 17px;
    font-weight: 700;
    color: #1b1b0e;
    line-height: 1.4;
    text-align: center;
    margin: 0;
}

.abt-us .team-person__role {
    font-size: 15px;
    color: #AAAC2F;
    font-weight: 600;
    text-align: center;
    line-height: 1.4;
    margin: 0;
}

.abt-us .team-detail {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.abt-us .team-detail__h3 {
    font-size: 17px;
    font-weight: 700;
    color: #1b1b0e;
    line-height: 1.4;
    margin: 0 0 8px;
}

.abt-us .team-p {
    font-size: 17px;
    line-height: 1.6;
    color: #2e2e1a;
    margin: 0;
}

.abt-us .team-p.narrow {
    max-width: 380px;
}

.abt-us .focus-items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 8px;
}

.abt-us .focus-item {
    background: #EDE4DD;
    border-radius: 8px;
    padding: 16px;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08);
}

.abt-us .focus-item:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
}

.abt-us .focus-item::after {
    content: '';
    position: absolute;
    top: -20px;
    right: -20px;
    width: 44px;
    height: 44px;
    background: #AAAC2F;
    transform: rotate(45deg);
    opacity: 0.18;
}

.abt-us .focus-item__label {
    font-size: 15px;
    font-weight: 700;
    color: #1b1b0e;
    line-height: 1.4;
    margin-bottom: 8px;
}

.abt-us .focus-item__desc {
    font-size: 15px;
    color: #4a4a2e;
    line-height: 1.6;
    margin: 0;
}

.abt-us .contact-strip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    padding: 24px;
    background: linear-gradient(135deg, #EDE4DD 0%, #D6BFA8 100%);
    border-radius: 16px;
    flex-wrap: wrap;
    box-shadow: 2px 6px 14px -2px rgba(214, 191, 168, 0.09);
}

.abt-us .contact-strip__label {
    font-size: 15px;
    font-weight: 700;
    color: #1b1b0e;
    line-height: 1.4;
    flex-shrink: 0;
}

.abt-us .contact-strip__link {
    font-size: 17px;
    color: #1b1b0e;
    text-decoration: none;
    line-height: 1.4;
    border-bottom: 1px solid rgba(170, 172, 47, 0.4);
    transition: color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
    padding-bottom: 2px;
}

.abt-us .contact-strip__link:hover {
    color: #AAAC2F;
    border-color: #AAAC2F;
}

.abt-us .contact-strip__sep {
    width: 4px;
    height: 4px;
    background: #AAAC2F;
    border-radius: 50%;
    flex-shrink: 0;
}

@media (max-width: 900px) {
    .abt-us .title-blk__img-strip {
        display: none;
    }

    .abt-us .story-sec .pg-wrap {
        grid-template-columns: 1fr;
    }

    .abt-us .story-sec__left {
        display: none;
    }

    .abt-us .metrics-grid {
        grid-template-columns: 1fr 1fr;
    }

    .abt-us .metrics-sec__img-row {
        grid-template-columns: 1fr 1fr;
    }

    .abt-us .metrics-img:last-child {
        display: none;
    }

    .abt-us .team-layout {
        grid-template-columns: 1fr;
    }

    .abt-us .team-person {
        flex-direction: row;
        align-items: center;
        gap: 24px;
    }
}

@media (max-width: 600px) {
    .abt-us .title-blk__h1 {
        font-size: 37px;
    }

    .abt-us .story-sec__h2,
    .abt-us .metrics-sec__h2,
    .abt-us .team-sec__h2 {
        font-size: 37px;
    }

    .abt-us .metrics-grid {
        grid-template-columns: 1fr;
    }

    .abt-us .metrics-sec__img-row {
        grid-template-columns: 1fr;
    }

    .abt-us .metrics-img {
        display: none;
    }

    .abt-us .focus-items {
        grid-template-columns: 1fr;
    }

    .abt-us .contact-strip {
        flex-direction: column;
        align-items: flex-start;
    }

    .abt-us .contact-strip__sep {
        display: none;
    }

    .abt-us .metrics-sec__top {
        flex-direction: column;
    }
}

.srvs-pg {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background: #fff;
}

.srvs-pg .pg-bound {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.srvs-pg ::selection {
    background: #2a2a1a;
    color: #EDE4DD;
}

.srvs-pg .dot-div {
    border: none;
    border-top: 2px dotted #D6BFA8;
    margin: 0;
}

.srvs-pg .stroke-deco {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: absolute;
}

.srvs-pg .stroke-deco span {
    display: block;
    height: 2px;
    background: #AAAC2F;
    border-radius: 3px;
}

.srvs-pg .pg-title-blk {
    position: relative;
    padding: 96px 0 48px;
    background: linear-gradient(160deg, #EDE4DD 0%, #fff 60%);
    animation: bg-shift 6s ease-in-out infinite alternate;
}

@keyframes bg-shift {
    0% {
        background: linear-gradient(160deg, #EDE4DD 0%, #fff 60%);
    }

    100% {
        background: linear-gradient(160deg, #D6BFA8 0%, #EDE4DD 40%, #fff 70%);
    }
}

.srvs-pg .pg-title-blk .deco-corner {
    position: absolute;
    top: 48px;
    right: 48px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.srvs-pg .pg-title-blk .deco-corner span {
    display: block;
    height: 2px;
    background: #AAAC2F;
    border-radius: 3px;
    opacity: 0.6;
}

.srvs-pg .pg-title-blk .deco-corner span:nth-child(1) {
    width: 48px;
}

.srvs-pg .pg-title-blk .deco-corner span:nth-child(2) {
    width: 32px;
}

.srvs-pg .pg-title-blk .deco-corner span:nth-child(3) {
    width: 40px;
}

.srvs-pg .pg-title-blk .deco-corner span:nth-child(4) {
    width: 24px;
}

.srvs-pg .pg-title-blk .notch-accent {
    display: inline-block;
    width: 4px;
    height: 48px;
    background: #AAAC2F;
    border-radius: 3px;
    vertical-align: middle;
    margin-right: 16px;
}

.srvs-pg .pg-title-blk .title-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.srvs-pg .pg-title-blk .pg-h1 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 800;
    color: #1e1e10;
    text-align: center;
    letter-spacing: -0.5px;
}

.srvs-pg .pg-title-blk .pg-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a20;
    text-align: center;
    max-width: 620px;
    margin: 0 auto;
}

.srvs-pg .cards-strip {
    padding: 48px 0 96px;
    background: #fff;
}

.srvs-pg .cards-strip .strip-lbl {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #AAAC2F;
    text-align: center;
    margin-bottom: 48px;
}

.srvs-pg .svc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.srvs-pg .svc-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
}

.srvs-pg .svc-card:hover {
    transform: translateY(-4px) scale(1.01);
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
}

.srvs-pg .svc-card .card-img-wrap {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    position: relative;
}

.srvs-pg .svc-card .card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs-pg .svc-card:hover .card-img-wrap img {
    transform: scale(1.04);
}

.srvs-pg .svc-card .card-tag-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px 16px 0;
}

.srvs-pg .svc-card .c-tag {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    color: #AAAC2F;
    background: #f5f5e8;
    border-radius: 8px;
    padding: 4px 8px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.srvs-pg .svc-card .c-level {
    font-size: 15px;
    line-height: 1.4;
    color: #6a6a40;
    background: #EDE4DD;
    border-radius: 8px;
    padding: 4px 8px;
}

.srvs-pg .svc-card .card-body {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.srvs-pg .svc-card .card-ttl {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
    color: #1e1e10;
}

.srvs-pg .svc-card .card-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a20;
    flex: 1;
}

.srvs-pg .svc-card .card-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding-top: 8px;
    border-top: 1px solid #EDE4DD;
}

.srvs-pg .svc-card .meta-item {
    font-size: 15px;
    line-height: 1.4;
    color: #6a6a40;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}

.srvs-pg .svc-card .meta-dot {
    width: 6px;
    height: 6px;
    border-radius: 8px;
    background: #AAAC2F;
    display: inline-block;
}

.srvs-pg .svc-card .card-price-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: #f9f7f0;
    border-top: 1px solid #EDE4DD;
}

.srvs-pg .svc-card .price-val {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 800;
    color: #1e1e10;
}

.srvs-pg .svc-card .price-term {
    font-size: 15px;
    line-height: 1.4;
    color: #6a6a40;
}

.srvs-pg .svc-card .price-note {
    font-size: 15px;
    line-height: 1.4;
    color: #AAAC2F;
    font-weight: 600;
}

.srvs-pg .svc-card .seats-badge {
    font-size: 15px;
    line-height: 1.4;
    color: #8a3a10;
    background: #fdf0e8;
    border-radius: 8px;
    padding: 4px 8px;
    font-weight: 600;
}

.srvs-pg .svc-card .card-cta {
    display: block;
    margin: 0 16px 16px;
    padding: 12px 24px;
    border: 2px solid #AAAC2F;
    border-radius: 8px;
    background: transparent;
    color: #AAAC2F;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs-pg .svc-card .card-cta:hover {
    background: #AAAC2F;
    color: #fff;
}

.srvs-pg .svc-card .card-cta:focus {
    outline: 2px solid #AAAC2F;
    outline-offset: 2px;
}

.srvs-pg .pricing-strip {
    padding: 96px 0 48px;
    background: linear-gradient(180deg, #EDE4DD 0%, #fff 100%);
    position: relative;
}

.srvs-pg .pricing-strip .sec-head {
    text-align: center;
    margin-bottom: 48px;
}

.srvs-pg .pricing-strip .sec-h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1e1e10;
    margin-bottom: 16px;
}

.srvs-pg .pricing-strip .sec-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a20;
    max-width: 560px;
    margin: 0 auto;
}

.srvs-pg .price-tbl-wrap {
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 2px 12px 40px -2px rgba(214, 191, 168, 0.10);
}

.srvs-pg .price-tbl {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.srvs-pg .price-tbl thead tr {
    background: #1e1e10;
}

.srvs-pg .price-tbl thead th {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    color: #EDE4DD;
    padding: 16px 24px;
    text-align: left;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.srvs-pg .price-tbl thead th:first-child {
    border-radius: 0;
}

.srvs-pg .price-tbl tbody tr {
    border-bottom: 1px solid #EDE4DD;
    transition: background 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs-pg .price-tbl tbody tr:last-child {
    border-bottom: none;
}

.srvs-pg .price-tbl tbody tr:hover {
    background: #f5f5e8;
}

.srvs-pg .price-tbl tbody td {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a20;
    padding: 16px 24px;
    vertical-align: middle;
}

.srvs-pg .price-tbl tbody td:first-child {
    font-weight: 700;
    color: #1e1e10;
}

.srvs-pg .price-tbl .tbl-tag {
    display: inline-block;
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
    color: #AAAC2F;
    background: #f5f5e8;
    border-radius: 8px;
    padding: 2px 8px;
}

.srvs-pg .price-tbl .tbl-price {
    font-weight: 800;
    color: #1e1e10;
    font-size: 17px;
}

.srvs-pg .price-tbl .tbl-seats {
    color: #8a3a10;
    font-weight: 600;
}

.srvs-pg .feat-strip {
    padding: 96px 0;
    background: #fff;
    position: relative;
}

.srvs-pg .feat-strip .feat-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px;
    margin-bottom: 96px;
}

.srvs-pg .feat-strip .feat-row:last-child {
    margin-bottom: 0;
}

.srvs-pg .feat-strip .feat-row.rev {
    flex-direction: row-reverse;
}

.srvs-pg .feat-strip .feat-img-col {
    flex: 0 0 45%;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
}

.srvs-pg .feat-strip .feat-img-col img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 16px;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs-pg .feat-strip .feat-img-col:hover img {
    transform: scale(1.03);
}

.srvs-pg .feat-strip .feat-txt-col {
    flex: 1;
    position: relative;
    padding-left: 16px;
}

.srvs-pg .feat-strip .feat-notch {
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: #AAAC2F;
    border-radius: 3px;
}

.srvs-pg .feat-strip .feat-h3 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1e1e10;
    margin-bottom: 16px;
}

.srvs-pg .feat-strip .feat-p {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a20;
    margin-bottom: 16px;
}

.srvs-pg .feat-strip .feat-p.narrow {
    max-width: 380px;
}

.srvs-pg .mentors-strip {
    padding: 96px 0;
    background: linear-gradient(180deg, #EDE4DD 0%, #fff 100%);
    position: relative;
}

.srvs-pg .mentors-strip .sec-head {
    text-align: center;
    margin-bottom: 48px;
}

.srvs-pg .mentors-strip .sec-h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1e1e10;
    margin-bottom: 16px;
}

.srvs-pg .mentors-strip .sec-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a20;
    max-width: 540px;
    margin: 0 auto;
}

.srvs-pg .mentors-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.srvs-pg .mentor-card {
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs-pg .mentor-card:hover {
    transform: translateY(-4px);
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
}

.srvs-pg .mentor-card.bg-a {
    background: #f5f5e8;
}

.srvs-pg .mentor-card.bg-b {
    background: #EDE4DD;
}

.srvs-pg .mentor-card.bg-c {
    background: #fff;
    border: 1px solid #EDE4DD;
}

.srvs-pg .mentor-card .port-wrap {
    aspect-ratio: 4/5;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}

.srvs-pg .mentor-card .port-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.srvs-pg .mentor-card .mentor-info {
    padding: 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.srvs-pg .mentor-card .m-name {
    font-size: 17px;
    line-height: 1.4;
    font-weight: 800;
    color: #1e1e10;
}

.srvs-pg .mentor-card .m-role {
    font-size: 15px;
    line-height: 1.4;
    color: #AAAC2F;
    font-weight: 700;
}

.srvs-pg .mentor-card .m-bio {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a20;
}

.srvs-pg .mentor-card.no-port .port-wrap {
    display: none;
}

.srvs-pg .mentor-card.no-port {
    justify-content: center;
}

.srvs-pg .faq-strip {
    padding: 96px 0;
    background: #fff;
    position: relative;
}

.srvs-pg .faq-strip .sec-head {
    text-align: center;
    margin-bottom: 48px;
}

.srvs-pg .faq-strip .sec-h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 800;
    color: #1e1e10;
    margin-bottom: 16px;
}

.srvs-pg .faq-strip .sec-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a20;
    max-width: 520px;
    margin: 0 auto;
}

.srvs-pg .faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 800px;
    margin: 0 auto;
}

.srvs-pg .faq-item {
    border: 1px solid #EDE4DD;
    border-radius: 8px;
    overflow: hidden;
}

.srvs-pg .faq-item summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    cursor: pointer;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
    color: #1e1e10;
    background: #fff;
    list-style: none;
    transition: background 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
    gap: 16px;
}

.srvs-pg .faq-item summary::-webkit-details-marker {
    display: none;
}

.srvs-pg .faq-item summary:hover {
    background: #f5f5e8;
}

.srvs-pg .faq-item summary .faq-arrow {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.srvs-pg .faq-item summary .faq-arrow svg {
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.srvs-pg .faq-item[open] summary .faq-arrow svg {
    transform: rotate(180deg);
}

.srvs-pg .faq-item[open] summary {
    background: #f5f5e8;
}

.srvs-pg .faq-ans {
    padding: 16px 24px;
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a20;
    background: #fff;
    border-top: 1px solid #EDE4DD;
}

@media (max-width: 900px) {
    .srvs-pg .svc-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .srvs-pg .mentors-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .srvs-pg .feat-strip .feat-row,
    .srvs-pg .feat-strip .feat-row.rev {
        flex-direction: column;
    }

    .srvs-pg .feat-strip .feat-img-col {
        flex: none;
        width: 100%;
    }

    .srvs-pg .pg-title-blk .pg-h1 {
        font-size: 37px;
    }

    .srvs-pg .pg-title-blk .deco-corner {
        display: none;
    }
}

@media (max-width: 600px) {
    .srvs-pg .svc-grid {
        grid-template-columns: 1fr;
    }

    .srvs-pg .mentors-grid {
        grid-template-columns: 1fr;
    }

    .srvs-pg .feat-strip .feat-img-col img {
        display: none;
    }

    .srvs-pg .price-tbl-wrap {
        overflow-x: auto;
    }

    .srvs-pg .pg-title-blk {
        padding: 48px 0 24px;
    }

    .srvs-pg .pg-title-blk .pg-h1 {
        font-size: 37px;
    }

    .srvs-pg .pricing-strip .sec-h2,
    .srvs-pg .mentors-strip .sec-h2,
    .srvs-pg .faq-strip .sec-h2,
    .srvs-pg .feat-strip .feat-h3 {
        font-size: 37px;
    }
}

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

.dbt .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

::selection {
    background: #2a2a1a;
    color: #EDE4DD;
    font-weight: 700;
}

.dbt .atm-spot {
    position: absolute;
    border-radius: 28px;
    filter: blur(60px);
    opacity: 0.18;
    pointer-events: none;
    z-index: 0;
}

.dbt .ttl-blk {
    position: relative;
    padding: 96px 0 48px;
    background: #f5f2ee;
    overflow: hidden;
}

.dbt .ttl-blk .atm-spot--a {
    width: 340px;
    height: 220px;
    background: #AAAC2F;
    top: -40px;
    left: -60px;
}

.dbt .ttl-blk .atm-spot--b {
    width: 280px;
    height: 200px;
    background: #D6BFA8;
    bottom: 20px;
    right: -40px;
}

.dbt .ttl-img-band {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto 48px;
    padding: 0 24px;
    border-radius: 16px;
    overflow: hidden;
    height: 320px;
}

.dbt .ttl-img-band img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.6) brightness(0.85) hue-rotate(0deg);
    display: block;
    border-radius: 16px;
    transition: filter 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .ttl-img-band:hover img {
    filter: saturate(1) brightness(0.9);
}

.dbt .ttl-img-band::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    background: linear-gradient(160deg, rgba(170, 172, 47, 0.22) 0%, rgba(214, 191, 168, 0.18) 100%);
    pointer-events: none;
}

.dbt .ttl-txt {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.dbt .ttl-txt h1 {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 700;
    color: #1e1e12;
    text-align: center;
    margin: 0 0 24px;
    letter-spacing: -0.5px;
}

.dbt .ttl-pts {
    display: flex;
    flex-direction: row;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dbt .ttl-pts li {
    font-size: 17px;
    line-height: 1.4;
    color: #3a3a22;
    background: #fff;
    border: 1.5px solid #D6BFA8;
    border-radius: 8px;
    padding: 16px 24px;
    max-width: 300px;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    transition: box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .ttl-pts li:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
}

.dbt .ttl-pts li strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #AAAC2F;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}

.dbt .diff-blk {
    background: #fff;
    padding: 96px 0 48px;
    position: relative;
}

.dbt .diff-blk::before {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #AAAC2F 0%, #EDE4DD 100%);
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.dbt .diff-grid {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 48px;
    align-items: start;
}

.dbt .diff-left h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 300;
    color: #1e1e12;
    margin: 0 0 24px;
    text-align: center;
}

.dbt .diff-left h2 em {
    font-style: normal;
    font-weight: 700;
}

.dbt .diff-para {
    font-size: 17px;
    line-height: 1.6;
    color: #2e2e1a;
    margin: 0 0 16px;
}

.dbt .diff-para--narrow {
    max-width: 380px;
    font-size: 15px;
    color: #4a4a2e;
}

.dbt .diff-right {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dbt .diff-card {
    background: #EDE4DD;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08);
    transition: box-shadow 0.28s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.28s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    position: relative;
}

.dbt .diff-card::before {
    content: "";
    display: block;
    width: 32px;
    height: 3px;
    background: #AAAC2F;
    border-radius: 3px;
    margin-bottom: 16px;
}

.dbt .diff-card:hover {
    transform: translateX(4px) scale(1.01);
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
}

.dbt .diff-card h4 {
    font-size: 15px;
    font-weight: 700;
    color: #1e1e12;
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.dbt .diff-card p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a22;
    margin: 0;
}

.dbt .diff-img-wrap {
    border-radius: 16px;
    overflow: hidden;
    margin-top: 24px;
    height: 220px;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
}

.dbt .diff-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.65) brightness(0.88);
    display: block;
    transition: filter 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .diff-img-wrap:hover img {
    filter: saturate(1) brightness(0.92);
    transform: scale(1.03);
}

.dbt .rdns-blk {
    background: #EDE4DD;
    padding: 96px 0;
    position: relative;
}

.dbt .rdns-blk::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #D6BFA8 50%, transparent 100%);
}

.dbt .rdns-head {
    text-align: center;
    margin-bottom: 48px;
}

.dbt .rdns-head h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 700;
    color: #1e1e12;
    margin: 0 0 16px;
}

.dbt .rdns-head p {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a22;
    max-width: 540px;
    margin: 0 auto;
}

.dbt .rdns-layout {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
    align-items: start;
}

.dbt .rdns-col--pros,
.dbt .rdns-col--cons {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dbt .rdns-col-lbl {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    margin-bottom: 8px;
}

.dbt .rdns-col--pros .rdns-col-lbl {
    color: #7a7e1a;
}

.dbt .rdns-col--cons .rdns-col-lbl {
    color: #8a6a4a;
}

.dbt .rdns-item {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: #2e2e1a;
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .rdns-item:hover {
    transform: scale(1.02);
}

.dbt .rdns-ind {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    flex-shrink: 0;
    margin-top: 5px;
}

.dbt .rdns-ind--ok {
    background: #AAAC2F;
}

.dbt .rdns-ind--ng {
    background: #D6BFA8;
}

.dbt .rdns-img-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dbt .rdns-img-col .img-frm {
    border-radius: 16px;
    overflow: hidden;
    height: 260px;
    box-shadow: 2px 6px 14px -2px rgba(214, 191, 168, 0.09);
}

.dbt .rdns-img-col .img-frm img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.6) brightness(0.87);
    display: block;
    transition: filter 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .rdns-img-col .img-frm:hover img {
    filter: saturate(1) brightness(0.92);
}

.dbt .rdns-note {
    background: #AAAC2F;
    border-radius: 8px;
    padding: 16px;
    font-size: 15px;
    line-height: 1.4;
    color: #fff;
    font-weight: 700;
}

.dbt .appr-blk {
    background: #fff;
    padding: 96px 0;
    position: relative;
}

.dbt .appr-blk .bg-accent {
    position: absolute;
    inset: 0;
    background-image: url("./project_gallery/06-05-post-thumbnail-24.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    opacity: 0.07;
    pointer-events: none;
    z-index: 0;
    filter: saturate(0.4);
}

.dbt .appr-blk .pg-wrap {
    position: relative;
    z-index: 1;
}

.dbt .appr-head {
    text-align: center;
    margin-bottom: 48px;
}

.dbt .appr-head h2 {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 300;
    color: #1e1e12;
    margin: 0 0 16px;
}

.dbt .appr-head h2 strong {
    font-weight: 700;
}

.dbt .appr-head p {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a22;
    max-width: 500px;
    margin: 0 auto;
}

.dbt .appr-irreg {
    display: grid;
    grid-template-columns: 2fr 1fr 3fr;
    gap: 24px;
    align-items: stretch;
    margin-bottom: 48px;
}

.dbt .appr-step {
    background: #f5f2ee;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08);
    transition: box-shadow 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .appr-step:hover {
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
    transform: translateY(-4px) scale(1.01);
}

.dbt .appr-step--accent {
    background: linear-gradient(135deg, #AAAC2F 0%, #c8ca50 100%);
}

.dbt .appr-step--accent .step-num,
.dbt .appr-step--accent h4,
.dbt .appr-step--accent p {
    color: #fff;
}

.dbt .step-num {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 700;
    color: #AAAC2F;
    opacity: 0.35;
}

.dbt .appr-step h4 {
    font-size: 15px;
    font-weight: 700;
    color: #1e1e12;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin: 0;
}

.dbt .appr-step p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a22;
    margin: 0;
}

.dbt .appr-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start;
}

.dbt .appr-profiles {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
}

.dbt .prof-card {
    flex: 1;
    background: #EDE4DD;
    border-radius: 16px;
    padding: 24px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    box-shadow: 2px 6px 14px -2px rgba(214, 191, 168, 0.09);
    transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .prof-card:hover {
    transform: translateY(-4px);
}

.dbt .prof-img {
    width: 80px;
    height: 100px;
    border-radius: 16px;
    overflow: hidden;
    flex-shrink: 0;
}

.dbt .prof-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.65) brightness(0.9);
    display: block;
    transition: filter 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .prof-card:hover .prof-img img {
    filter: saturate(1) brightness(0.95);
}

.dbt .prof-info {
    text-align: center;
}

.dbt .prof-info strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #1e1e12;
    margin-bottom: 8px;
}

.dbt .prof-info p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a22;
    margin: 0;
}

.dbt .appr-txt-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dbt .appr-txt-col p {
    font-size: 17px;
    line-height: 1.6;
    color: #2e2e1a;
    margin: 0;
}

.dbt .appr-txt-col p:nth-child(even) {
    max-width: 380px;
    font-size: 15px;
    color: #4a4a2e;
}

.dbt .appr-metric-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}

.dbt .metric-pill {
    background: #EDE4DD;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-width: 120px;
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08), inset 0 1px 3px rgba(170, 172, 47, 0.08);
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .metric-pill:hover {
    transform: scale(1.04);
}

.dbt .metric-pill .m-val {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 700;
    color: #AAAC2F;
}

.dbt .metric-pill .m-lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #3a3a22;
}

.dbt .appr-img-wide {
    border-radius: 16px;
    overflow: hidden;
    height: 200px;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
}

.dbt .appr-img-wide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.6) brightness(0.87);
    display: block;
    transition: filter 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dbt .appr-img-wide:hover img {
    filter: saturate(1) brightness(0.92);
}

@keyframes rot-in {
    from {
        opacity: 0;
        transform: rotate(-5deg) translateY(16px);
    }

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

.dbt .ttl-txt h1 {
    animation: rot-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.dbt .ttl-pts li:nth-child(1) {
    animation: rot-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s both;
}

.dbt .ttl-pts li:nth-child(2) {
    animation: rot-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.18s both;
}

.dbt .ttl-pts li:nth-child(3) {
    animation: rot-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.26s both;
}

@media (max-width: 900px) {
    .dbt .diff-grid {
        grid-template-columns: 1fr;
    }

    .dbt .rdns-layout {
        grid-template-columns: 1fr 1fr;
    }

    .dbt .rdns-img-col {
        display: none;
    }

    .dbt .appr-irreg {
        grid-template-columns: 1fr 1fr;
    }

    .dbt .appr-irreg .appr-step:nth-child(2) {
        grid-column: span 1;
    }

    .dbt .appr-bottom {
        grid-template-columns: 1fr;
    }

    .dbt .ttl-img-band {
        height: 220px;
    }
}

@media (max-width: 600px) {
    .dbt .ttl-txt h1 {
        font-size: 37px;
    }

    .dbt .ttl-pts {
        flex-direction: column;
        align-items: stretch;
    }

    .dbt .ttl-pts li {
        max-width: 100%;
    }

    .dbt .ttl-img-band {
        height: 160px;
    }

    .dbt .diff-grid {
        grid-template-columns: 1fr;
    }

    .dbt .rdns-layout {
        grid-template-columns: 1fr;
    }

    .dbt .rdns-img-col {
        display: none;
    }

    .dbt .appr-irreg {
        grid-template-columns: 1fr;
    }

    .dbt .appr-bottom {
        grid-template-columns: 1fr;
    }

    .dbt .appr-profiles {
        flex-direction: column;
    }

    .dbt .appr-metric-row {
        flex-direction: column;
    }
}

.ct-us {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background: #fff;
}

.ct-us .pg-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.ct-us ::selection {
    background: #2a2a1a;
    color: #EDE4DD;
    font-weight: 700;
}

.ct-us .reach-band {
    padding: 96px 0 48px;
    background: #fff;
    position: relative;
}

.ct-us .reach-band::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(105deg, #AAAC2F 0%, #D6BFA8 60%, #EDE4DD 100%);
}

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

.ct-us .reach-left {
    position: relative;
}

.ct-us .reach-anchor {
    position: absolute;
    top: -24px;
    left: -48px;
    font-size: 220px;
    line-height: 1.1;
    color: transparent;
    -webkit-text-stroke: 1.5px #EDE4DD;
    font-weight: 700;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    letter-spacing: -8px;
}

.ct-us .reach-label {
    font-size: 15px;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #AAAC2F;
    font-weight: 600;
    margin-bottom: 16px;
    position: relative;
    z-index: 1;
}

.ct-us .reach-head {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 700;
    color: #1b1b10;
    margin: 0 0 24px;
    position: relative;
    z-index: 1;
}

.ct-us .reach-head span {
    color: #AAAC2F;
    font-weight: 300;
}

.ct-us .reach-desc {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a28;
    max-width: 420px;
    margin-bottom: 48px;
    position: relative;
    z-index: 1;
}

.ct-us .reach-desc p {
    margin: 0 0 16px;
}

.ct-us .reach-desc p:last-child {
    margin-bottom: 0;
}

.ct-us .dots-path {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    margin-bottom: 48px;
    position: relative;
    z-index: 1;
}

.ct-us .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #AAAC2F;
    opacity: 0.9;
}

.ct-us .dot.sm {
    width: 5px;
    height: 5px;
    opacity: 0.5;
}

.ct-us .dot.xs {
    width: 3px;
    height: 3px;
    opacity: 0.3;
}

.ct-us .contact-facts {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    z-index: 1;
}

.ct-us .fact-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
}

.ct-us .fact-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #EDE4DD;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 2px 1px 3px -2px rgba(170, 172, 47, 0.08);
    transition: background 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ct-us .fact-row:hover .fact-icon {
    background: #AAAC2F;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
}

.ct-us .fact-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #AAAC2F;
    stroke-width: 1.8;
    transition: stroke 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ct-us .fact-row:hover .fact-icon svg {
    stroke: #fff;
}

.ct-us .fact-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ct-us .fact-lbl {
    font-size: 15px;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #8a8a6a;
    font-weight: 600;
}

.ct-us .fact-val {
    font-size: 17px;
    line-height: 1.4;
    color: #1b1b10;
    font-weight: 500;
}

.ct-us .fact-val a {
    color: #1b1b10;
    text-decoration: none;
    transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ct-us .fact-val a:hover {
    color: #AAAC2F;
}

.ct-us .reach-img-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
}

.ct-us .reach-img-wrap img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
    filter: saturate(0.85) contrast(1.05);
}

.ct-us .reach-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(165deg, rgba(170, 172, 47, 0.18) 0%, rgba(214, 191, 168, 0.22) 100%);
    pointer-events: none;
}

.ct-us .img-grain {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    opacity: 0.35;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
    background-size: 180px 180px;
    mix-blend-mode: overlay;
}

.ct-us .img-badge {
    position: absolute;
    bottom: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    padding: 16px;
    z-index: 3;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
}

.ct-us .img-badge-val {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 700;
    color: #AAAC2F;
}

.ct-us .img-badge-lbl {
    font-size: 15px;
    line-height: 1.4;
    color: #3a3a28;
}

.ct-us .form-band {
    padding: 96px 0;
    background: linear-gradient(158deg, #EDE4DD 0%, #f5f0ea 100%);
    position: relative;
    clip-path: polygon(0 0, 100% 32px, 100% 100%, 0 100%);
}

.ct-us .form-band-checked {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        linear-gradient(rgba(170, 172, 47, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(170, 172, 47, 0.06) 1px, transparent 1px);
    background-size: 28px 28px;
}

.ct-us .form-grid {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 1;
}

.ct-us .form-meta {
    padding-top: 48px;
}

.ct-us .form-meta-head {
    font-size: 37px;
    line-height: 1.1;
    font-weight: 700;
    color: #1b1b10;
    margin: 0 0 16px;
}

.ct-us .form-meta-head span {
    font-weight: 300;
    color: #6a6a3a;
}

.ct-us .form-meta-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #3a3a28;
    margin-bottom: 48px;
}

.ct-us .form-meta-sub p {
    margin: 0 0 16px;
    max-width: 340px;
}

.ct-us .form-meta-sub p.narrow {
    max-width: 260px;
}

.ct-us .form-meta-sub p:last-child {
    margin-bottom: 0;
}

.ct-us .prog-link {
    display: inline-block;
    font-size: 15px;
    line-height: 1.4;
    color: #AAAC2F;
    text-decoration: none;
    border-bottom: 1.5px solid #AAAC2F;
    padding-bottom: 2px;
    font-weight: 600;
    transition: color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ct-us .prog-link:hover {
    color: #7a7d20;
    border-color: #7a7d20;
}

.ct-us .form-card {
    background: #fff;
    border-radius: 16px;
    padding: 48px;
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10), inset 0 1px 0 rgba(170, 172, 47, 0.12);
}

.ct-us .form-card form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ct-us .field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ct-us .field-grp {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ct-us .field-grp label {
    font-size: 15px;
    line-height: 1.4;
    color: #3a3a28;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ct-us .field-grp input[type="text"],
.ct-us .field-grp input[type="email"] {
    width: 100%;
    padding: 16px;
    border: 1.5px solid #D6BFA8;
    border-radius: 8px;
    font-size: 17px;
    line-height: 1.4;
    color: #1b1b10;
    background: #fff;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: inset 0 1px 3px rgba(214, 191, 168, 0.18);
}

.ct-us .field-grp input[type="text"]:focus,
.ct-us .field-grp input[type="email"]:focus {
    border-color: #AAAC2F;
    box-shadow: 0 0 0 3px rgba(170, 172, 47, 0.12), inset 0 1px 3px rgba(170, 172, 47, 0.08);
}

.ct-us .field-grp input::placeholder {
    color: #b0a890;
    font-size: 15px;
}

.ct-us .checks-grp {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ct-us .checks-grp legend {
    font-size: 15px;
    line-height: 1.4;
    color: #3a3a28;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    display: block;
}

.ct-us .checks-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.ct-us .chk-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px;
    border: 1.5px solid #D6BFA8;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    background: #fff;
}

.ct-us .chk-item:hover {
    border-color: #AAAC2F;
    background: rgba(170, 172, 47, 0.04);
}

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

.ct-us .chk-item span {
    font-size: 15px;
    line-height: 1.4;
    color: #3a3a28;
}

.ct-us .privacy-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #EDE4DD;
    border-radius: 8px;
}

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

.ct-us .privacy-row label {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a28;
}

.ct-us .privacy-row label a {
    color: #AAAC2F;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ct-us .privacy-row label a:hover {
    color: #7a7d20;
}

.ct-us .submit-btn {
    align-self: flex-start;
    padding: 16px 48px;
    border: 2px solid #AAAC2F;
    border-radius: 3px;
    background: transparent;
    color: #AAAC2F;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: background 0.28s cubic-bezier(0.68, -0.55, 0.27, 1.55), color 0.28s cubic-bezier(0.68, -0.55, 0.27, 1.55), transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ct-us .submit-btn:hover {
    background: #AAAC2F;
    color: #fff;
    transform: scale(1.03);
}

.ct-us .submit-btn:focus {
    outline: 3px solid rgba(170, 172, 47, 0.4);
    outline-offset: 3px;
}

.ct-us .submit-btn:active {
    transform: scale(0.98);
}

@keyframes card-flip-in {
    0% {
        transform: rotateY(90deg);
        opacity: 0;
    }

    100% {
        transform: rotateY(0deg);
        opacity: 1;
    }
}

.ct-us .chk-item {
    animation: card-flip-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.ct-us .chk-item:nth-child(1) {
    animation-delay: 0.05s;
}

.ct-us .chk-item:nth-child(2) {
    animation-delay: 0.12s;
}

.ct-us .chk-item:nth-child(3) {
    animation-delay: 0.19s;
}

.ct-us .chk-item:nth-child(4) {
    animation-delay: 0.26s;
}

.ct-us .chk-item:nth-child(5) {
    animation-delay: 0.33s;
}

.ct-us .chk-item:nth-child(6) {
    animation-delay: 0.40s;
}

.ct-us .focus-reveal {
    position: relative;
}

.ct-us .focus-reveal::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #EDE4DD;
    border-radius: 8px;
    z-index: 2;
    pointer-events: none;
    transition: opacity 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    opacity: 1;
}

.ct-us .focus-reveal:focus-within::before {
    opacity: 0;
}

.ct-us .focus-reveal-hint {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    pointer-events: none;
    font-size: 15px;
    line-height: 1.4;
    color: #8a8a6a;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: opacity 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    opacity: 1;
}

.ct-us .focus-reveal:focus-within .focus-reveal-hint {
    opacity: 0;
}

@media (max-width: 900px) {
    .ct-us .reach-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .ct-us .reach-img-wrap {
        display: none;
    }

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

    .ct-us .form-meta {
        padding-top: 16px;
    }

    .ct-us .reach-anchor {
        font-size: 140px;
        left: -16px;
    }
}

@media (max-width: 600px) {
    .ct-us .reach-band {
        padding: 48px 0 48px;
    }

    .ct-us .reach-head {
        font-size: 37px;
    }

    .ct-us .form-band {
        clip-path: polygon(0 0, 100% 16px, 100% 100%, 0 100%);
        padding: 48px 0;
    }

    .ct-us .form-card {
        padding: 24px;
    }

    .ct-us .field-row {
        grid-template-columns: 1fr;
    }

    .ct-us .checks-list {
        grid-template-columns: 1fr;
    }

    .ct-us .reach-anchor {
        display: none;
    }

    .ct-us .form-meta-head {
        font-size: 37px;
    }
}

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

.success-pg .success-wrap {
    max-width: 1100px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}

.success-pg .success-icon-ring {
    width: 88px;
    height: 88px;
    border-radius: 28px;
    background: linear-gradient(148deg, #EDE4DD 0%, #D6BFA8 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 6px 14px -2px rgba(170, 172, 47, 0.09);
    flex-shrink: 0;
}

.success-pg .success-icon-ring svg {
    display: block;
}

.success-pg .success-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}

.success-pg .success-label {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #AAAC2F;
    font-weight: 600;
}

.success-pg .success-heading {
    font-size: 51px;
    line-height: 1.1;
    font-weight: 700;
    color: #1b1b18;
    margin: 0;
}

.success-pg .success-sub {
    font-size: 17px;
    line-height: 1.6;
    color: #3d3b35;
    max-width: 520px;
    margin: 0;
}

.success-pg .success-divider {
    width: 48px;
    height: 3px;
    border-radius: 3px;
    background: #AAAC2F;
}

.success-pg .success-detail {
    font-size: 15px;
    line-height: 1.6;
    color: #5a5850;
    max-width: 440px;
    margin: 0;
}

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

.success-pg .btn-primary {
    display: inline-block;
    padding: 16px 48px;
    border-radius: 8px;
    border: 2px solid #AAAC2F;
    background: transparent;
    color: #AAAC2F;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.success-pg .btn-primary:hover,
.success-pg .btn-primary:focus-visible {
    background: #AAAC2F;
    color: #fff;
    box-shadow: 2px 12px 40px -2px rgba(170, 172, 47, 0.10);
    transform: translateY(-2px) scale(1.03);
    outline: none;
}

.success-pg .btn-primary:active {
    transform: translateY(0) scale(0.99);
}

.success-pg .btn-ghost {
    display: inline-block;
    padding: 16px 48px;
    border-radius: 8px;
    border: 2px solid #D6BFA8;
    background: transparent;
    color: #7a6f63;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.success-pg .btn-ghost:hover,
.success-pg .btn-ghost:focus-visible {
    border-color: #b8a08a;
    color: #3d3b35;
    transform: translateY(-1px) scale(1.02);
    outline: none;
}

.success-pg .success-note {
    padding: 24px 48px;
    border-radius: 16px;
    background: #EDE4DD;
    max-width: 560px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 2px 1px 3px -2px rgba(214, 191, 168, 0.08), 2px 6px 14px -2px rgba(214, 191, 168, 0.09);
}

.success-pg .success-note__title {
    font-size: 15px;
    font-weight: 700;
    color: #1b1b18;
    margin: 0;
}

.success-pg .success-note__text {
    font-size: 15px;
    line-height: 1.6;
    color: #4a4640;
    margin: 0;
}

.success-pg .success-note__contact {
    font-size: 15px;
    color: #AAAC2F;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.success-pg .success-note__contact:hover {
    color: #888a1f;
}

@media (max-width: 600px) {
    .success-pg {
        padding: 48px 16px;
    }

    .success-pg .success-heading {
        font-size: 37px;
    }

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

    .success-pg .btn-primary,
    .success-pg .btn-ghost {
        text-align: center;
        padding: 16px 24px;
    }

    .success-pg .success-note {
        padding: 24px;
    }
}