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

html {
    scroll-behavior: auto;
}

body {
    margin: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.topbar {
    background: linear-gradient(90deg, #C4507E 0%, #D699A8 100%);
    padding: 8px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

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

.topbar-link {
    color: #ffffff;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: opacity 0.25s ease-out;
}

.topbar-link:hover {
    opacity: 0.8;
}

.topbar-link:focus {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
    transform: scale(1.02);
}

.topbar-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    color: #ffffff;
}

.topbar-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 48px;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
    flex-shrink: 0;
}

.siteheader {
    position: relative;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
    z-index: 100;
}

.brandrow {
    max-width: 1024px;
    margin: 0 auto;
    padding: 16px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(196, 80, 126, 0.12);
}

.brandunit {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.brandunit:focus {
    outline: 2px solid #C4507E;
    outline-offset: 4px;
    border-radius: 8px;
    transform: scale(1.02);
}

.logoshell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 48px;
    border: 1px solid rgba(196, 80, 126, 0.35);
    background: #ffffff;
    box-shadow: 1px 2px 6px 0 rgba(196, 80, 126, 0.07), inset 0 1px 2px rgba(255, 255, 255, 0.9), inset 0 -1px 2px rgba(196, 80, 126, 0.08);
    flex-shrink: 0;
    overflow: hidden;
    padding: 4px;
}

.logoshell img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block;
}

.brandname {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1b0a12;
    background: linear-gradient(135deg, #C4507E 0%, #8b2050 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.brandtagline {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    color: #5a3045;
}

.navrow {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 32px;
}

.navlist {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.navlist li {
    position: relative;
}

.navitem {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 16px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 16px;
    line-height: 1.5;
    color: #3a1525;
    text-decoration: none;
    border-radius: 8px;
    transition: color 0.28s ease-out, background 0.35s ease-out;
    white-space: nowrap;
    min-height: 44px;
}

.navitem:hover {
    color: #C4507E;
    background: rgba(196, 80, 126, 0.07);
}

.navitem:focus {
    outline: 2px solid #C4507E;
    outline-offset: 2px;
    transform: scale(1.02);
}

.navitem.active {
    color: #C4507E;
    font-weight: 700;
}

.navitem.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    background: linear-gradient(90deg, #C4507E, #D699A8);
    border-radius: 8px;
}

.navicon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.sitefooter {
    background: #1b0a12;
    position: relative;
}

.footeraccent {
    height: 4px;
    background: linear-gradient(90deg, #C4507E 0%, #D699A8 60%, #F4E2E4 100%);
}

.footerbody {
    max-width: 1024px;
    margin: 0 auto;
    padding: 48px 32px 32px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 48px;
    align-items: start;
}

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

.footerbrandunit {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.footerbrandunit:focus {
    outline: 2px solid #C4507E;
    outline-offset: 4px;
    border-radius: 8px;
    transform: scale(1.02);
}

.footerlogoshell {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 48px;
    border: 1px solid rgba(196, 80, 126, 0.5);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 1px 2px 6px 0 rgba(196, 80, 126, 0.07);
    flex-shrink: 0;
    overflow: hidden;
    padding: 4px;
}

.footerlogoshell img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: block;
}

.footerbrandname {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.2;
    color: #F4E2E4;
}

.footerdesc {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.7;
    color: #c8a0b0;
    max-width: 320px;
}

.footeraddress {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.7;
    color: #c8a0b0;
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.footeraddress-label {
    font-size: 14px;
    font-weight: 700;
    color: #F4E2E4;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.footercontactlink {
    color: #D699A8;
    text-decoration: none;
    transition: color 0.28s ease-out;
    display: flex;
    align-items: center;
    gap: 8px;
}

.footercontactlink:hover {
    color: #F4E2E4;
}

.footercontactlink:focus {
    outline: 2px solid #C4507E;
    outline-offset: 2px;
    transform: scale(1.02);
}

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

.footerpolicies-label {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    font-weight: 700;
    color: #F4E2E4;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.footerpolicylink {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.7;
    color: #D699A8;
    text-decoration: none;
    transition: color 0.32s ease-out;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 4px 0;
}

.footerpolicylink:hover {
    color: #F4E2E4;
}

.footerpolicylink:focus {
    outline: 2px solid #C4507E;
    outline-offset: 2px;
    transform: scale(1.02);
}

.footerbottom {
    max-width: 1024px;
    margin: 0 auto;
    padding: 16px 32px 32px;
    border-top: 1px solid rgba(196, 80, 126, 0.15);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.footercopy {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    color: #7a4a5a;
}

.footerdomain {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    color: #7a4a5a;
}

.cookiepopup {
    position: fixed;
    top: auto;
    bottom: 32px;
    right: 32px;
    width: 340px;
    max-width: calc(100vw - 48px);
    background: #ffffff;
    border-radius: 34px;
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10), 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
    z-index: 1500;
    border: 1px solid rgba(196, 80, 126, 0.15);
    overflow: hidden;
    transition: transform 0.42s ease-out, opacity 0.42s ease-out;
}

.cookiepopup.offscreen {
    transform: translateY(calc(100% + 48px));
    opacity: 0;
}

.cookiepopup-inner {
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cookiepopup-desc {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.7;
    color: #3a1525;
}

.cookiepopup-settings {
    display: none;
    flex-direction: column;
    gap: 12px;
}

.cookiepopup-settings.visible {
    display: flex;
}

.cookiepopup-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: #F4E2E4;
    border-radius: 8px;
}

.cookiepopup-togglelabel {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    color: #3a1525;
    flex: 1;
}

.cookiepopup-togglelabel span {
    display: block;
    font-size: 14px;
    color: #7a4a5a;
    line-height: 1.5;
}

.cookiepopup-switch {
    position: relative;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
}

.cookiepopup-switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.cookiepopup-switchtrack {
    position: absolute;
    inset: 0;
    background: #D699A8;
    border-radius: 48px;
    cursor: pointer;
    transition: background 0.28s ease-out;
}

.cookiepopup-switchtrack::before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    background: #ffffff;
    border-radius: 48px;
    transition: transform 0.28s ease-out;
}

.cookiepopup-switch input:checked+.cookiepopup-switchtrack {
    background: #C4507E;
}

.cookiepopup-switch input:checked+.cookiepopup-switchtrack::before {
    transform: translateX(18px);
}

.cookiepopup-switch input:focus+.cookiepopup-switchtrack {
    outline: 2px solid #C4507E;
    outline-offset: 2px;
}

.cookiepopup-required {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    color: #7a4a5a;
    padding: 12px 16px;
    background: #F4E2E4;
    border-radius: 8px;
}

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

.cookiepopup-btn {
    flex: 1;
    min-width: 80px;
    padding: 12px 16px;
    border-radius: 8px;
    border: 1.5px solid #C4507E;
    background: transparent;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    color: #C4507E;
    cursor: pointer;
    min-height: 44px;
    transition: background 0.28s ease-out, color 0.28s ease-out, box-shadow 0.35s ease-out;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.cookiepopup-btn:hover {
    background: rgba(196, 80, 126, 0.08);
    box-shadow: inset 0 0 0 1px #C4507E;
}

.cookiepopup-btn:focus {
    outline: 2px solid #C4507E;
    outline-offset: 2px;
    transform: scale(1.02);
}

.cookiepopup-btn.primary {
    background: #C4507E;
    color: #ffffff;
}

.cookiepopup-btn.primary:hover {
    background: #a8375f;
    box-shadow: inset 0 0 0 1px #a8375f;
}

.cookiepopup-settingslink {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    line-height: 1.5;
    color: #C4507E;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.28s ease-out;
    align-self: flex-start;
}

.cookiepopup-settingslink:hover {
    color: #a8375f;
}

.cookiepopup-settingslink:focus {
    outline: 2px solid #C4507E;
    outline-offset: 2px;
    transform: scale(1.02);
}

.settingsfab {
    position: fixed;
    bottom: 32px;
    left: 32px;
    width: 44px;
    height: 44px;
    border-radius: 48px;
    background: #C4507E;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
    z-index: 1400;
    transition: background 0.28s ease-out, box-shadow 0.35s ease-out;
}

.settingsfab:hover {
    background: #a8375f;
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10);
}

.settingsfab:focus {
    outline: 2px solid #C4507E;
    outline-offset: 3px;
    transform: scale(1.02);
}

.settingsfab svg {
    width: 20px;
    height: 20px;
    fill: #ffffff;
}

@media (max-width: 768px) {
    .topbar {
        padding: 8px 16px;
        flex-wrap: wrap;
        gap: 8px;
    }

    .topbar-contact {
        flex-wrap: wrap;
        gap: 8px;
    }

    .brandrow {
        padding: 16px;
        flex-wrap: wrap;
        gap: 12px;
    }

    .navrow {
        padding: 0 16px;
    }

    .navitem {
        padding: 12px 12px;
        font-size: 14px;
    }

    .footerbody {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 32px 16px 16px;
    }

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

    .cookiepopup {
        bottom: 16px;
        right: 16px;
        left: 16px;
        width: auto;
        max-width: none;
    }

    .settingsfab {
        bottom: 16px;
        left: 16px;
    }

    .brandtagline {
        display: none;
    }
}

@media (max-width: 360px) {
    .topbar-contact {
        display: none;
    }

    .navitem {
        padding: 12px 8px;
        font-size: 14px;
    }
}

@media (min-width: 1440px) {
    .topbar {
        padding: 8px 48px;
    }
}

.rules-block {
    max-width: 1024px;
    margin: 0 auto;
    padding: 48px 32px;
    color: #2a1f26;
}

.rules-block h1 {
    font-size: 46px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 32px;
    margin-top: 0;
    color: #1a0d15;
}

.rules-block h2 {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.015em;
    margin-top: 48px;
    margin-bottom: 16px;
    color: #1a0d15;
}

.rules-block h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.01em;
    margin-top: 32px;
    margin-bottom: 12px;
    color: #2a1f26;
}

.rules-block h4 {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 32px;
    margin-bottom: 8px;
    color: #2a1f26;
}

.rules-block h5 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 16px;
    margin-bottom: 8px;
    color: #2a1f26;
}

.rules-block h6 {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-top: 16px;
    margin-bottom: 8px;
    color: #C4507E;
}

.rules-block p {
    font-size: 16px;
    line-height: 1.7;
    margin-top: 0;
    margin-bottom: 16px;
    color: #2a1f26;
}

.rules-block ul,
.rules-block ol {
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 32px;
}

.rules-block ul {
    list-style: none;
    padding-left: 16px;
}

.rules-block ul li {
    position: relative;
    padding-left: 16px;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 8px;
    color: #2a1f26;
}

.rules-block ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 48px;
    background-color: #C4507E;
}

.rules-block ol {
    list-style: none;
    counter-reset: policy-counter;
    padding-left: 16px;
}

.rules-block ol li {
    position: relative;
    padding-left: 24px;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 8px;
    color: #2a1f26;
    counter-increment: policy-counter;
}

.rules-block ol li::before {
    content: counter(policy-counter) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 14px;
    font-weight: 700;
    color: #C4507E;
    line-height: 1.7;
}

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

.rules-block ul ul li::before {
    background-color: #D699A8;
    width: 4px;
    height: 4px;
    top: 12px;
}

.rules-block em,
.rules-block i {
    font-style: italic;
    color: #3d2333;
}

.rules-block a {
    color: #C4507E;
    text-decoration: underline;
    text-decoration-color: rgba(196, 80, 126, 0.35);
    text-underline-offset: 3px;
    transition: color 0.25s ease-out, text-decoration-color 0.35s ease-out;
}

.rules-block a:hover {
    color: #9e3060;
    text-decoration-color: rgba(158, 48, 96, 0.7);
}

.rules-block a:visited {
    color: #a3426b;
}

.rules-block table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 32px;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 1px 2px 6px 0 rgba(196, 80, 126, 0.07);
    border-radius: 8px;
    overflow: hidden;
}

.rules-block thead {
    background-color: #C4507E;
}

.rules-block thead th {
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 12px 16px;
    text-align: left;
    border: none;
}

.rules-block tbody tr {
    border-bottom: 1px solid #F4E2E4;
    transition: background-color 0.25s ease-out;
}

.rules-block tbody tr:last-child {
    border-bottom: none;
}

.rules-block tbody tr:nth-child(even) {
    background-color: rgba(244, 226, 228, 0.35);
}

.rules-block tbody tr:hover {
    background-color: rgba(214, 153, 168, 0.15);
}

.rules-block td {
    padding: 12px 16px;
    color: #2a1f26;
    font-size: 14px;
    line-height: 1.5;
    vertical-align: top;
    border: none;
}

.rules-block th {
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
}

.rules-block div {
    font-size: 16px;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .rules-block {
        padding: 32px 16px;
    }

    .rules-block h1 {
        font-size: 33px;
    }

    .rules-block h2 {
        font-size: 24px;
        margin-top: 32px;
    }

    .rules-block h3 {
        font-size: 19px;
        margin-top: 32px;
    }

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

@media (max-width: 360px) {
    .rules-block {
        padding: 16px 12px;
    }

    .rules-block h1 {
        font-size: 24px;
    }

    .rules-block h2 {
        font-size: 19px;
    }

    .rules-block h3 {
        font-size: 16px;
    }

    .rules-block p,
    .rules-block ul li,
    .rules-block ol li,
    .rules-block td,
    .rules-block div {
        font-size: 14px;
    }
}

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

.dbt .edt {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px;
}

@keyframes clipReveal {
    from {
        clip-path: inset(0 100% 0 0);
    }

    to {
        clip-path: inset(0 0% 0 0);
    }
}

@keyframes imgZoom {
    from {
        transform: scale(1.08);
    }

    to {
        transform: scale(1);
    }
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

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

.dbt ::selection {
    background: #111;
    color: #fff;
}

.dbt .titblk {
    padding-top: 48px;
    padding-bottom: 48px;
    position: relative;
}

.dbt .titblk .edt {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
}

.dbt .titblk .titleft {
    flex: 1 1 0;
    min-width: 0;
    animation: fadeUp 0.45s ease-out both;
}

.dbt .titblk .titrightimg {
    flex: 0 0 420px;
    max-width: 420px;
    position: relative;
}

.dbt .titblk .titrightimg .imgframe {
    border-radius: 34px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4/3;
    position: relative;
}

.dbt .titblk .titrightimg .imgframe img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: imgZoom 1.2s ease-out both;
    filter: saturate(1.1) brightness(0.97) sepia(0.08);
}

.dbt .titblk .titrightimg .decoval {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 80px;
    height: 80px;
    border-radius: 48px;
    background: #C4507E;
    opacity: 0.13;
    pointer-events: none;
}

.dbt .titblk .titrightimg .decoval2 {
    position: absolute;
    bottom: -12px;
    left: -12px;
    width: 48px;
    height: 48px;
    border-radius: 34px;
    background: #D699A8;
    opacity: 0.18;
    pointer-events: none;
}

.dbt .titblk .titlabel {
    font-size: 14px;
    color: #C4507E;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
    text-transform: uppercase;
    animation: fadeUp 0.35s ease-out both;
}

.dbt .titblk .tith1 {
    font-size: 62px;
    line-height: 1.2;
    font-weight: 800;
    color: #1b1b2e;
    letter-spacing: -0.03em;
    margin-bottom: 16px;
    animation: clipReveal 0.45s ease-out both 0.1s;
}

.dbt .titblk .tith1 .accentword {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    background-image: linear-gradient(135deg, #C4507E, #D699A8);
}

.dbt .titblk .titlink {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    padding: 12px 32px;
    background: #C4507E;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    border: 2px solid #C4507E;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
    transition: background 0.25s ease-out, box-shadow 0.38s ease-out, border-color 0.25s ease-out;
    position: relative;
}

.dbt .titblk .titlink:hover {
    background: #a83868;
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10);
    border-color: #fff;
    outline: 2px solid #C4507E;
    outline-offset: 2px;
}

.dbt .titblk .titlink:focus {
    outline: 3px solid #C4507E;
    outline-offset: 3px;
}

.dbt .titblk .titlink svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dbt .prereqsec {
    background: #F4E2E4;
    padding-top: 48px;
    padding-bottom: 48px;
}

.dbt .prereqsec .edt {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start;
}

.dbt .prereqsec .prehead {
    position: sticky;
    top: 32px;
}

.dbt .prereqsec .prehead .accentline {
    width: 36px;
    height: 3px;
    background: #C4507E;
    border-radius: 8px;
    margin-bottom: 12px;
}

.dbt .prereqsec .prehead h2 {
    font-size: 33px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b2e;
    letter-spacing: -0.02em;
}

.dbt .prereqsec .prelist {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dbt .prereqsec .prelist .preitem {
    padding-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(196, 80, 126, 0.18);
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
}

.dbt .prereqsec .prelist .preitem:first-child {
    border-top: 1px solid rgba(196, 80, 126, 0.18);
}

.dbt .prereqsec .prelist .preitem .prenum {
    font-size: 33px;
    font-weight: 800;
    color: #D699A8;
    line-height: 1.2;
    min-width: 40px;
}

.dbt .prereqsec .prelist .preitem .pretxt h4 {
    font-size: 16px;
    font-weight: 700;
    color: #1b1b2e;
    margin-bottom: 4px;
}

.dbt .prereqsec .prelist .preitem .pretxt p {
    font-size: 14px;
    line-height: 1.7;
    color: #3a3a4a;
    text-align: justify;
}

.dbt .adaptsec {
    padding-top: 48px;
    padding-bottom: 48px;
    background: #fff;
}

.dbt .adaptsec .edt {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.dbt .adaptsec .adaptrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: center;
}

.dbt .adaptsec .adaptimg {
    border-radius: 34px;
    overflow: hidden;
    aspect-ratio: 16/10;
}

.dbt .adaptsec .adaptimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: imgZoom 1.4s ease-out both;
    transition: transform 0.45s ease-out;
}

.dbt .adaptsec .adaptimg:hover img {
    transform: scale(1.04);
}

.dbt .adaptsec .adapttxt .accentline {
    width: 36px;
    height: 3px;
    background: #C4507E;
    border-radius: 8px;
    margin-bottom: 12px;
}

.dbt .adaptsec .adapttxt h2 {
    font-size: 33px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b2e;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
}

.dbt .adaptsec .adapttxt p {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a4a;
    text-align: justify;
}

.dbt .adaptsec .adapttxt .adaptbold {
    font-weight: 700;
    color: #C4507E !important;
}

.dbt .adaptsec .adaptfour {
    display: grid;
    grid-template-columns: 1fr 2fr 2fr 1fr;
    gap: 16px;
    margin-top: 16px;
}

.dbt .adaptsec .adaptfour .afcard {
    background: #F4E2E4;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 1px 2px 6px 0 rgba(196, 80, 126, 0.07);
}

.dbt .adaptsec .adaptfour .afcard.wide {
    background: #fff;
    border: 1.5px solid #D699A8;
}

.dbt .adaptsec .adaptfour .afcard h5 {
    font-size: 14px;
    font-weight: 700;
    color: #C4507E;
    margin-bottom: 4px;
}

.dbt .adaptsec .adaptfour .afcard p {
    font-size: 14px;
    line-height: 1.5;
    color: #3a3a4a;
}

.dbt .scalesec {
    padding-top: 48px;
    padding-bottom: 48px;
    position: relative;
    background: #1b1b2e;
    overflow: hidden;
}

.dbt .scalesec .bgblur {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.dbt .scalesec .bgblur img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.13;
    filter: blur(6px);
    display: block;
}

.dbt .scalesec .edt {
    position: relative;
    z-index: 1;
}

.dbt .scalesec .scalehead .accentline {
    width: 36px;
    height: 3px;
    background: #C4507E;
    border-radius: 8px;
    margin-bottom: 12px;
}

.dbt .scalesec .scalehead h2 {
    font-size: 46px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.03em;
    margin-bottom: 8px;
}

.dbt .scalesec .scalehead p {
    font-size: 16px;
    line-height: 1.7;
    color: #D699A8;
    max-width: 600px;
    text-align: justify;
}

.dbt .scalesec .statgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 32px;
}

.dbt .scalesec .statcard {
    background: rgba(244, 226, 228, 0.07);
    border: 1px solid rgba(214, 153, 168, 0.22);
    border-radius: 8px;
    padding: 32px 16px;
    text-align: left;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
    animation: clipReveal 0.38s ease-out both;
}

.dbt .scalesec .statcard .stnum {
    font-size: 46px;
    font-weight: 800;
    color: #C4507E;
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.dbt .scalesec .statcard .stlabel {
    font-size: 14px;
    color: #F4E2E4;
    line-height: 1.5;
    margin-top: 8px;
}

.dbt .commitsec {
    padding-top: 48px;
    padding-bottom: 48px;
    background: #F4E2E4;
}

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

.dbt .commitsec .commitlft .accentline {
    width: 36px;
    height: 3px;
    background: #C4507E;
    border-radius: 8px;
    margin-bottom: 12px;
}

.dbt .commitsec .commitlft h2 {
    font-size: 33px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b2e;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
}

.dbt .commitsec .commitlft p {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a4a;
    text-align: justify;
    margin-bottom: 16px;
}

.dbt .commitsec .steplist {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dbt .commitsec .steplist .stepitem {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
    padding-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(196, 80, 126, 0.15);
}

.dbt .commitsec .steplist .stepitem:first-child {
    border-top: 1px solid rgba(196, 80, 126, 0.15);
}

.dbt .commitsec .steplist .stepitem .stepnum {
    min-width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #C4507E;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.dbt .commitsec .steplist .stepitem .steptxt h5 {
    font-size: 16px;
    font-weight: 700;
    color: #1b1b2e;
    margin-bottom: 4px;
}

.dbt .commitsec .steplist .stepitem .steptxt p {
    font-size: 14px;
    line-height: 1.7;
    color: #3a3a4a;
    margin-bottom: 4px;
}

.dbt .commitsec .steplist .stepitem .steptime {
    font-size: 14px;
    color: #C4507E;
    font-weight: 600;
}

.dbt .commitsec .commitrgt {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dbt .commitsec .commitrgt .commitimg {
    border-radius: 34px;
    overflow: hidden;
    aspect-ratio: 3/4;
}

.dbt .commitsec .commitrgt .commitimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: imgZoom 1.3s ease-out both;
}

.dbt .fitsec {
    padding-top: 48px;
    padding-bottom: 48px;
    background: #fff;
}

.dbt .fitsec .edt {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.dbt .fitsec .fithead .accentline {
    width: 36px;
    height: 3px;
    background: #C4507E;
    border-radius: 8px;
    margin-bottom: 12px;
}

.dbt .fitsec .fithead h2 {
    font-size: 33px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b2e;
    letter-spacing: -0.02em;
}

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

.dbt .fitsec .fitcard {
    border-radius: 8px;
    padding: 32px 16px;
    background: #F4E2E4;
    box-shadow: 1px 2px 6px 0 rgba(196, 80, 126, 0.07);
    transition: box-shadow 0.38s ease-out, transform 0.28s ease-out;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dbt .fitsec .fitcard:hover {
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10);
    transform: translateY(-4px);
}

.dbt .fitsec .fitcard .fiticon {
    width: 36px;
    height: 36px;
    margin-bottom: 8px;
}

.dbt .fitsec .fitcard h4 {
    font-size: 16px;
    font-weight: 700;
    color: #1b1b2e;
}

.dbt .fitsec .fitcard p {
    font-size: 14px;
    line-height: 1.7;
    color: #3a3a4a;
    text-align: justify;
}

.dbt .casesec {
    padding-top: 48px;
    padding-bottom: 48px;
    background: #fff;
    border-top: 1px solid #F4E2E4;
}

.dbt .casesec .edt {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.dbt .casesec .caselft .accentline {
    width: 36px;
    height: 3px;
    background: #C4507E;
    border-radius: 8px;
    margin-bottom: 12px;
}

.dbt .casesec .caselft h2 {
    font-size: 33px;
    line-height: 1.2;
    font-weight: 700;
    color: #1b1b2e;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
}

.dbt .casesec .caselft .caseq {
    font-size: 46px;
    font-weight: 800;
    color: #C4507E;
    opacity: 0.18;
    line-height: 1;
    margin-bottom: -16px;
    display: block;
}

.dbt .casesec .caselft blockquote {
    font-size: 19px;
    line-height: 1.7;
    color: #1b1b2e;
    font-weight: 600;
    text-align: justify;
    margin-bottom: 16px;
}

.dbt .casesec .caselft p {
    font-size: 16px;
    line-height: 1.7;
    color: #3a3a4a;
    text-align: justify;
    margin-bottom: 12px;
}

.dbt .casesec .caselft .caseauthor {
    font-size: 14px;
    color: #C4507E;
    font-weight: 700;
}

.dbt .casesec .casergt {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dbt .casesec .casergt .caseimg {
    border-radius: 34px;
    overflow: hidden;
    aspect-ratio: 4/3;
}

.dbt .casesec .casergt .caseimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: imgZoom 1.5s ease-out both;
}

.dbt .casesec .casergt .casemeta {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dbt .casesec .casergt .casemetaitem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #3a3a4a;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(196, 80, 126, 0.13);
}

.dbt .casesec .casergt .casemetaitem .mlab {
    font-weight: 700;
    color: #1b1b2e;
}

@media (max-width: 1024px) {
    .dbt .titblk .titrightimg {
        flex: 0 0 320px;
        max-width: 320px;
    }

    .dbt .titblk .tith1 {
        font-size: 46px;
    }

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

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

@media (max-width: 768px) {
    .dbt .titblk .edt {
        flex-direction: column;
    }

    .dbt .titblk .titrightimg {
        display: none;
    }

    .dbt .titblk .tith1 {
        font-size: 33px;
    }

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

    .dbt .prereqsec .prehead {
        position: static;
    }

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

    .dbt .adaptsec .adaptimg {
        display: none;
    }

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

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

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

    .dbt .commitsec .commitrgt {
        display: none;
    }

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

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

    .dbt .casesec .casergt .caseimg {
        display: none;
    }
}

@media (max-width: 360px) {
    .dbt .edt {
        padding-left: 16px;
        padding-right: 16px;
    }

    .dbt .titblk .tith1 {
        font-size: 24px;
    }

    .dbt .scalesec .scalehead h2 {
        font-size: 33px;
    }
}

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

.ctus .scanlines {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    background: repeating-linear-gradient(to bottom,
            transparent,
            transparent 3px,
            rgba(196, 80, 126, 0.018) 3px,
            rgba(196, 80, 126, 0.018) 4px);
    animation: scanDrift 12s linear infinite;
}

@keyframes scanDrift {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 0 80px;
    }
}

.ctus .pgintro {
    background: #fff;
    padding: 64px 16px 48px;
    position: relative;
    z-index: 1;
}

.ctus .pgintro-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
}

.ctus .pgintro-text {
    flex: 1 1 0;
    min-width: 0;
}

.ctus .pgintro-img {
    flex: 0 0 420px;
    max-width: 420px;
    position: relative;
}

.ctus .imgwrap {
    position: relative;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10);
}

.ctus .imgwrap img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease-out;
}

.ctus .imgwrap:hover img {
    transform: scale(1.04);
}

.ctus .imgwrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 20%, rgba(244, 226, 228, 0.55) 0%, transparent 70%);
    pointer-events: none;
    border-radius: 34px;
}

.ctus .imgcorner {
    position: absolute;
    width: 28px;
    height: 28px;
    pointer-events: none;
}

.ctus .imgcorner.tl {
    top: -6px;
    left: -6px;
    border-top: 2px solid #C4507E;
    border-left: 2px solid #C4507E;
    border-radius: 8px 0 0 0;
}

.ctus .imgcorner.br {
    bottom: -6px;
    right: -6px;
    border-bottom: 2px solid #C4507E;
    border-right: 2px solid #C4507E;
    border-radius: 0 0 8px 0;
}

.ctus .accentline {
    display: block;
    width: 40px;
    height: 2px;
    background: #C4507E;
    margin-bottom: 12px;
}

.ctus .pgintro-text h1 {
    font-size: 46px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #1b1016;
    margin: 0 0 8px;
}

.ctus .pgintro-text h1 span {
    font-size: 33px;
    display: block;
    color: #C4507E;
    letter-spacing: -0.01em;
}

.ctus .subcaption {
    display: block;
    font-size: 14px;
    letter-spacing: 0.18em;
    color: #9a6070;
    text-transform: uppercase;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(196, 80, 126, 0.18);
    padding-bottom: 8px;
}

.ctus .pgintro-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #2e1a22;
    text-align: justify;
    margin: 0 0 16px;
}

.ctus .directinfo {
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ctus .ditem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #fdf5f7;
    border-radius: 8px;
    box-shadow: 1px 2px 6px 0 rgba(196, 80, 126, 0.07);
    text-decoration: none;
    transition: box-shadow 0.25s ease-out, background 0.28s ease-out;
}

.ctus .ditem:hover {
    background: #f9eaef;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
}

.ctus .dicon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #C4507E;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ctus .dicon svg {
    width: 18px;
    height: 18px;
    fill: #fff;
}

.ctus .dlabel {
    font-size: 14px;
    color: #9a6070;
    display: block;
    line-height: 1.2;
}

.ctus .dval {
    font-size: 16px;
    color: #1b1016;
    display: block;
    font-weight: 600;
    line-height: 1.5;
}

.ctus .formblock {
    background: linear-gradient(160deg, #F4E2E4 0%, rgba(244, 226, 228, 0.18) 100%);
    padding: 64px 16px;
    position: relative;
    z-index: 1;
}

.ctus .formblock-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 48px;
    align-items: start;
}

.ctus .formlabel-col {
    position: relative;
}

.ctus .formlabel-col h2 {
    font-size: 33px;
    line-height: 1.2;
    color: #1b1016;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
}

.ctus .formlabel-col p {
    font-size: 16px;
    line-height: 1.7;
    color: #2e1a22;
    text-align: justify;
    margin: 0 0 16px;
}

.ctus .formcurl {
    position: absolute;
    bottom: -32px;
    right: -16px;
    width: 80px;
    height: 80px;
    opacity: 0.12;
    pointer-events: none;
}

.ctus .aform {
    background: #fff;
    border-radius: 34px;
    padding: 32px;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
}

.ctus .aform fieldset {
    border: none;
    margin: 0 0 24px;
    padding: 0;
}

.ctus .aform legend {
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #9a6070;
    margin-bottom: 12px;
    display: block;
}

.ctus .finput {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid #e8d0d8;
    border-radius: 8px;
    font-size: 16px;
    color: #1b1016;
    background: #fdf8f9;
    box-sizing: border-box;
    transition: border-color 0.25s ease-out, box-shadow 0.32s ease-out;
    outline: none;
}

.ctus .finput::placeholder {
    color: #c4a0ae;
}

.ctus .finput:focus {
    border-color: #C4507E;
    box-shadow: 1px 2px 6px 0 rgba(196, 80, 126, 0.07);
}

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

.ctus .radiolabel {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    border: 1.5px solid #e8d0d8;
    background: #fdf8f9;
    cursor: pointer;
    font-size: 16px;
    color: #2e1a22;
    transition: border-color 0.28s ease-out, background 0.25s ease-out;
    line-height: 1.5;
}

.ctus .radiolabel:hover {
    border-color: #C4507E;
    background: #fdf0f3;
}

.ctus .radiolabel input[type="radio"] {
    accent-color: #C4507E;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    cursor: pointer;
}

.ctus .privacyrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
}

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

.ctus .privacytext {
    font-size: 14px;
    color: #5c3344;
    line-height: 1.7;
}

.ctus .privacytext a {
    color: #C4507E;
    text-decoration: underline;
    transition: color 0.25s ease-out;
}

.ctus .privacytext a:hover {
    color: #a03464;
}

.ctus .submitbtn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: #C4507E;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 48px;
    cursor: pointer;
    position: relative;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
    transition: background 0.28s ease-out, box-shadow 0.32s ease-out;
}

.ctus .submitbtn::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 48px;
    border: 1.5px solid rgba(255, 255, 255, 0);
    transition: border-color 0.35s ease-out;
    pointer-events: none;
}

.ctus .submitbtn:hover {
    background: #a03464;
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10);
}

.ctus .submitbtn:hover::after {
    border-color: rgba(255, 255, 255, 0.35);
}

.ctus .submitbtn:focus {
    outline: 2px solid #C4507E;
    outline-offset: 3px;
}

.ctus .submitbtn svg {
    width: 18px;
    height: 18px;
    fill: #fff;
    flex-shrink: 0;
}

.ctus .altcontact {
    background: #fff;
    padding: 64px 16px 80px;
    position: relative;
    z-index: 1;
}

.ctus .altcontact-inner {
    max-width: 1024px;
    margin: 0 auto;
}

.ctus .altcontact-inner h2 {
    font-size: 24px;
    line-height: 1.2;
    color: #1b1016;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
}

.ctus .altcontact-inner .subcaption {
    margin-bottom: 32px;
}

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

.ctus .zone {
    border-radius: 34px;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ctus .zone.pink {
    background: #C4507E;
    color: #fff;
}

.ctus .zone.light {
    background: #F4E2E4;
    color: #1b1016;
}

.ctus .zone.mid {
    background: #D699A8;
    color: #1b1016;
}

.ctus .zonehead {
    font-size: 14px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.75;
    line-height: 1.2;
}

.ctus .zonevalue {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    word-break: break-word;
}

.ctus .zone.pink .zonevalue {
    color: #fff;
}

.ctus .zone.light .zonevalue {
    color: #1b1016;
}

.ctus .zone.mid .zonevalue {
    color: #1b1016;
}

.ctus .zonesub {
    font-size: 14px;
    line-height: 1.7;
    opacity: 0.82;
}

.ctus .zonelink {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.25s ease-out;
}

.ctus .zone.pink .zonelink {
    color: #fff;
}

.ctus .zone.light .zonelink,
.ctus .zone.mid .zonelink {
    color: #1b1016;
}

.ctus .zonelink:hover {
    opacity: 0.7;
}

.ctus .zonelink svg {
    width: 14px;
    height: 14px;
}

.ctus .zone.pink .zonelink svg {
    fill: #fff;
}

.ctus .zone.light .zonelink svg,
.ctus .zone.mid .zonelink svg {
    fill: #1b1016;
}

.ctus .shakeme {
    animation: gentleShake 6s 3s ease-out infinite;
}

@keyframes gentleShake {

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

    90% {
        transform: translateX(-3px);
    }

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

    94% {
        transform: translateX(-2px);
    }

    96% {
        transform: translateX(2px);
    }

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

@media (max-width: 1024px) {
    .ctus .pgintro-inner {
        flex-direction: column;
        gap: 32px;
    }

    .ctus .pgintro-img {
        flex: none;
        max-width: 100%;
        width: 100%;
    }

    .ctus .formblock-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .ctus .zonegrid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .ctus .pgintro-text h1 {
        font-size: 33px;
    }

    .ctus .pgintro-text h1 span {
        font-size: 24px;
    }

    .ctus .zonegrid {
        grid-template-columns: 1fr;
    }

    .ctus .pgintro-img {
        display: none;
    }

    .ctus .aform {
        padding: 24px 16px;
    }
}

@media (max-width: 360px) {
    .ctus .pgintro {
        padding: 32px 12px 32px;
    }

    .ctus .formblock {
        padding: 32px 12px;
    }

    .ctus .altcontact {
        padding: 32px 12px 48px;
    }

    .ctus .submitbtn {
        padding: 12px 24px;
        font-size: 14px;
    }
}

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

.abtus .pg-schema {
    display: none;
}

.abtus .titleblk {
    background: #fff;
    border-bottom: 3px solid #C4507E;
    padding: 48px 32px 64px;
    position: relative;
}

.abtus .titleblk-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
}

.abtus .titleblk-text {
    flex: 0 0 60%;
}

.abtus .titleblk-accent {
    display: block;
    width: 48px;
    height: 3px;
    background: #C4507E;
    margin-bottom: 16px;
}

.abtus .titleblk-text h1 {
    font-size: 62px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #1b1b1b;
    margin: 0 0 16px;
    font-weight: 800;
}

.abtus .titleblk-text p {
    font-size: 19px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 0;
    max-width: 520px;
}

.abtus .titleblk-img {
    flex: 0 0 38%;
    display: flex;
    align-items: flex-end;
}

.abtus .titleblk-img img {
    width: 100%;
    max-width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
}

@media (max-width: 768px) {
    .abtus .titleblk-img {
        display: none;
    }

    .abtus .titleblk-text {
        flex: 0 0 100%;
    }

    .abtus .titleblk-text h1 {
        font-size: 46px;
    }
}

@media (max-width: 360px) {
    .abtus .titleblk-text h1 {
        font-size: 33px;
    }

    .abtus .titleblk {
        padding: 32px 16px 48px;
    }
}

.abtus .storysec {
    background: #F4E2E4;
    padding: 48px 32px;
    position: relative;
    overflow: hidden;
}

.abtus .storysec::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(#C4507E22 1px, transparent 1px),
        linear-gradient(90deg, #C4507E22 1px, transparent 1px),
        linear-gradient(#D699A833 1px, transparent 1px),
        linear-gradient(90deg, #D699A833 1px, transparent 1px);
    background-size: 40px 40px, 40px 40px, 8px 8px, 8px 8px;
    pointer-events: none;
}

.abtus .storysec-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 40fr 60fr;
    gap: 48px;
    position: relative;
}

.abtus .storysec-img {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.abtus .storysec-img img {
    width: 100%;
    max-width: 100%;
    height: 320px;
    object-fit: cover;
    border-radius: 34px;
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10);
}

.abtus .storysec-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
}

.abtus .storysec-body h2 {
    font-size: 33px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1b1b1b;
    margin: 0;
    font-weight: 700;
}

.abtus .storysec-body h2::before {
    content: '';
    display: block;
    width: 36px;
    height: 3px;
    background: #C4507E;
    margin-bottom: 12px;
}

.abtus .storysec-body p {
    font-size: 16px;
    line-height: 1.7;
    color: #2e2e2e;
    margin: 0;
    text-align: justify;
}

.abtus .storysec-body p strong {
    font-weight: 700;
    color: #C4507E;
}

.abtus .storysec-stats {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 8px;
}

.abtus .stat-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.abtus .stat-num {
    font-size: 33px;
    font-weight: 800;
    color: #C4507E;
    line-height: 1.2;
}

.abtus .stat-label {
    font-size: 14px;
    line-height: 1.5;
    color: #4a4a4a;
}

@media (max-width: 768px) {
    .abtus .storysec-inner {
        grid-template-columns: 1fr;
    }

    .abtus .storysec-img {
        display: none;
    }
}

@media (max-width: 360px) {
    .abtus .storysec {
        padding: 32px 16px;
    }

    .abtus .storysec-stats {
        flex-direction: column;
        gap: 16px;
    }
}

.abtus .teamsec {
    background: #fff;
    padding: 48px 32px;
}

.abtus .teamsec-inner {
    max-width: 1024px;
    margin: 0 auto;
}

.abtus .teamsec-inner h2 {
    font-size: 33px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1b1b1b;
    margin: 0 0 32px;
    font-weight: 700;
}

.abtus .teamsec-inner h2::before {
    content: '';
    display: block;
    width: 36px;
    height: 3px;
    background: #C4507E;
    margin-bottom: 12px;
}

.abtus .team-layout {
    display: grid;
    grid-template-columns: 60fr 40fr;
    gap: 48px;
    align-items: start;
}

.abtus .team-members {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.abtus .team-member {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 0;
    border-bottom: 1px solid #D699A8;
}

.abtus .team-member:last-child {
    border-bottom: none;
}

.abtus .member-name {
    font-size: 19px;
    font-weight: 700;
    color: #1b1b1b;
    line-height: 1.2;
}

.abtus .member-role {
    font-size: 14px;
    color: #C4507E;
    font-weight: 600;
    line-height: 1.5;
}

.abtus .member-desc {
    font-size: 14px;
    line-height: 1.7;
    color: #3a3a3a;
    margin: 4px 0 0;
    text-align: justify;
}

.abtus .team-img-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.abtus .team-img-col img {
    width: 100%;
    max-width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
}

.abtus .team-note {
    font-size: 14px;
    line-height: 1.7;
    color: #3a3a3a;
    padding: 12px 16px;
    border-radius: 8px;
    background: #F4E2E4;
    border-top: 3px solid #C4507E;
    text-align: justify;
}

@media (max-width: 768px) {
    .abtus .team-layout {
        grid-template-columns: 1fr;
    }

    .abtus .team-img-col {
        display: none;
    }
}

@media (max-width: 360px) {
    .abtus .teamsec {
        padding: 32px 16px;
    }
}

.abtus .approachsec {
    background: #1b1b1b;
    padding: 48px 32px;
    position: relative;
}

.abtus .approachsec-inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.abtus .approach-text h2 {
    font-size: 33px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0 0 16px;
    font-weight: 700;
}

.abtus .approach-text h2::before {
    content: '';
    display: block;
    width: 36px;
    height: 3px;
    background: #C4507E;
    margin-bottom: 12px;
}

.abtus .approach-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #d0d0d0;
    margin: 0 0 16px;
    text-align: justify;
}

.abtus .approach-text p:last-child {
    margin-bottom: 0;
}

.abtus .approach-pillars {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.abtus .pillar-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 8px;
    background: rgba(196, 80, 126, 0.08);
    border: 1px solid rgba(196, 80, 126, 0.22);
    transition: background 0.35s ease-out, border-color 0.25s ease-out;
    cursor: default;
}

.abtus .pillar-item:hover {
    background: rgba(196, 80, 126, 0.16);
    border-color: rgba(196, 80, 126, 0.5);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), inset 0 -1px 0 rgba(196, 80, 126, 0.18);
}

.abtus .pillar-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #C4507E;
    display: flex;
    align-items: center;
    justify-content: center;
}

.abtus .pillar-icon svg {
    width: 18px;
    height: 18px;
    fill: #fff;
}

.abtus .pillar-body h4 {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px;
    line-height: 1.2;
}

.abtus .pillar-body p {
    font-size: 14px;
    line-height: 1.5;
    color: #b0b0b0;
    margin: 0;
}

@media (max-width: 768px) {
    .abtus .approachsec-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .abtus .approachsec {
        padding: 32px 16px;
    }
}

.abtus .shake-anim {
    animation: abtShake 0.4s ease-out 2.2s 1;
}

@keyframes abtShake {
    0% {
        transform: translateX(0);
    }

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

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

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

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

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

.abtus .divider-wave {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    height: 28px;
    background: #fff;
}

.abtus .divider-wave svg {
    display: block;
    width: 100%;
    height: 28px;
}

.abtus .divider-wave2 {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    height: 28px;
    background: #F4E2E4;
}

.abtus .divider-wave2 svg {
    display: block;
    width: 100%;
    height: 28px;
}

.abtus .divider-dark {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    height: 28px;
    background: #fff;
}

.abtus .divider-dark svg {
    display: block;
    width: 100%;
    height: 28px;
}

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

.successPage .successCard {
    max-width: 1024px;
    width: 100%;
    background: #F4E2E4;
    border-radius: 34px;
    padding: 48px;
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    text-align: center;
}

.successPage .successIcon {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
}

.successPage .successIcon circle {
    fill: #C4507E;
}

.successPage .successIcon path {
    stroke: #fff;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.successPage .successHeading {
    font-size: 46px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1b0a12;
    margin: 0;
}

.successPage .successHeading span {
    color: #C4507E;
}

.successPage .successBody {
    font-size: 19px;
    line-height: 1.7;
    color: #2e1520;
    max-width: 560px;
    margin: 0;
    text-align: center;
}

.successPage .successAccent {
    font-weight: 700;
    color: #C4507E;
}

.successPage .successDivider {
    width: 64px;
    height: 3px;
    background: linear-gradient(90deg, #C4507E, transparent);
    border-radius: 8px;
}

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

.successPage .successBtnPrimary {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #C4507E;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    padding: 12px 32px;
    border-radius: 8px;
    border: 2px solid #C4507E;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 1px 6px 20px 0 rgba(196, 80, 126, 0.09);
    transition: background-color 0.25s ease-out, box-shadow 0.35s ease-out, border-color 0.25s ease-out;
    position: relative;
}

.successPage .successBtnPrimary::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 6px;
    border: 1.5px solid rgba(255, 255, 255, 0);
    transition: border-color 0.28s ease-out;
    pointer-events: none;
}

.successPage .successBtnPrimary:hover {
    background: #a83868;
    border-color: #a83868;
    box-shadow: 1px 9px 36px 0 rgba(196, 80, 126, 0.10);
}

.successPage .successBtnPrimary:hover::after {
    border-color: rgba(255, 255, 255, 0.35);
}

.successPage .successBtnPrimary:focus-visible {
    outline: 3px solid #C4507E;
    outline-offset: 3px;
}

.successPage .successBtnSecondary {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #C4507E;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    padding: 12px 32px;
    border-radius: 8px;
    border: 2px solid #D699A8;
    cursor: pointer;
    text-decoration: none;
    transition: border-color 0.32s ease-out, color 0.25s ease-out, box-shadow 0.38s ease-out;
    position: relative;
}

.successPage .successBtnSecondary::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 6px;
    border: 1.5px solid rgba(196, 80, 126, 0);
    transition: border-color 0.3s ease-out;
    pointer-events: none;
}

.successPage .successBtnSecondary:hover {
    border-color: #C4507E;
    box-shadow: 1px 2px 6px 0 rgba(196, 80, 126, 0.07);
}

.successPage .successBtnSecondary:hover::after {
    border-color: rgba(196, 80, 126, 0.2);
}

.successPage .successBtnSecondary:focus-visible {
    outline: 3px solid #C4507E;
    outline-offset: 3px;
}

.successPage .successBtnIcon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.successPage .successNote {
    font-size: 14px;
    line-height: 1.5;
    color: #7a3a52;
    margin: 0;
}

@media (max-width: 768px) {
    .successPage .successCard {
        padding: 32px 16px;
        gap: 16px;
    }

    .successPage .successHeading {
        font-size: 33px;
    }

    .successPage .successBody {
        font-size: 16px;
    }

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

    .successPage .successBtnPrimary,
    .successPage .successBtnSecondary {
        justify-content: center;
    }
}

@media (max-width: 360px) {
    .successPage .successHeading {
        font-size: 24px;
    }
}