html {
    box-sizing: border-box
}

body {
    margin: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'Archivo', sans-serif;
    background: #F6F3EE;
    color: #2a2622
}

.brand-zone {
    background: linear-gradient(135deg, #B2664F 0%, #DCD2B9 100%);
    padding: 64px 32px;
    position: relative
}

.brand-zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="#ffffff14"/></svg>') repeat;
    background-size: 32px 32px;
    pointer-events: none
}

.top-bar {
    background: #fff;
    border-bottom: 2px solid #DCD2B9;
    box-shadow: 1px 2px 3px -2px #b2664f0d 1px 6px 25px -2px #b2664f1c
}

.nav-container {
    max-width: 1366px;
    margin: 0 auto;
    padding: 16px 32px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px
}

.nav-link {
    padding: 8px 16px;
    text-decoration: none;
    color: #2a2622;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 400;
    border: 1px solid transparent;
    border-radius: 5px;
    position: relative;
    overflow: hidden;
    display: inline-block
}

.nav-link:hover {
    border-color: #B2664F;
    background: #b2664f0a
}

.nav-link:focus {
    outline: 2px solid #B2664F;
    outline-offset: 2px
}

.logo-box {
    max-width: 1366px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1
}

.hex-frame {
    background: #fff;
    padding: 16px;
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    box-shadow: 1px 8px 40px -2px #b2664f21;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.brand-logo {
    width: 75px;
    height: 75px;
    object-fit: contain;
    display: block
}

.brand-statement {
    max-width: 1366px;
    margin: 32px auto 0;
    text-align: center;
    position: relative;
    z-index: 1
}

.brand-name {
    font-size: 60px;
    line-height: 1.15;
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px;
    text-shadow: 1px 2px 3px #2a262226;
    letter-spacing: -.02em
}

.brand-tagline {
    font-size: 32px;
    line-height: 1.4;
    font-weight: 400;
    color: #fff;
    margin: 0;
    opacity: .95
}

.ft-area {
    background: linear-gradient(180deg, #DCD2B9 0%, #B2664F 100%);
    padding: 96px 32px 64px;
    position: relative;
    margin-top: 96px
}

.ft-area::before {
    content: '';
    position: absolute;
    top: -64px;
    left: 0;
    right: 0;
    height: 64px;
    background: linear-gradient(to bottom, #f6f3ee00 0%, #DCD2B9 100%)
}

.ft-grid {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 64px
}

.ft-brand-space {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.ft-logo-container {
    background: #fff;
    padding: 16px;
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    box-shadow: 1px 8px 40px -2px #2a262221;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start
}

.ft-brand-logo {
    width: 70px;
    height: 70px;
    object-fit: contain;
    display: block
}

.ft-company-info {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.ft-company-name {
    font-size: 44px;
    line-height: 1.15;
    font-weight: 700;
    color: #fff;
    margin: 0
}

.ft-description {
    font-size: 16px;
    line-height: 1.65;
    color: #ffffffeb;
    margin: 0;
    max-width: 520px
}

.ft-contact-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px
}

.ft-contact-label {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    color: #fff;
    margin: 0
}

.ft-contact-value {
    font-size: 16px;
    line-height: 1.4;
    color: #ffffffeb;
    text-decoration: none
}

.ft-contact-value:hover {
    text-decoration: underline
}

.ft-nav-space {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.ft-nav-heading {
    font-size: 32px;
    line-height: 1.15;
    font-weight: 700;
    color: #fff;
    margin: 0
}

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

.ft-nav-link {
    font-size: 16px;
    line-height: 1.4;
    color: #ffffffeb;
    text-decoration: none;
    padding: 8px 0;
    border-bottom: 1px solid #fff3;
    transition-property: color, border-color;
    transition-duration: .5s;
    transition-timing-function: ease-in-out
}

.ft-nav-link:hover {
    color: #fff;
    border-bottom-color: #fff9
}

.ft-nav-link:focus {
    outline: 2px solid #fff;
    outline-offset: 4px
}

.ft-bottom-bar {
    max-width: 1366px;
    margin: 64px auto 0;
    padding-top: 32px;
    border-top: 2px solid #ffffff4d;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px
}

.ft-copyright {
    font-size: 16px;
    line-height: 1.4;
    color: #ffffffd9;
    margin: 0
}

.ft-year {
    font-weight: 700
}

.ft-service-links {
    display: flex;
    gap: 16px;
    flex-wrap: wrap
}

.ft-service-link {
    font-size: 16px;
    line-height: 1.4;
    color: #ffffffd9;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 5px;
    transition-property: background-color, color;
    transition-duration: .55s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ft-service-link:hover {
    background-color: #ffffff26;
    color: #fff
}

.ft-service-link:focus {
    outline: 2px solid #fff;
    outline-offset: 2px
}

.consent-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 3px solid #B2664F;
    box-shadow: 1px 8px 40px -2px #b2664f21;
    z-index: 1000;
    display: none;
    opacity: 0;
    transition-property: opacity;
    transition-duration: .5s;
    transition-timing-function: ease-in-out
}

.consent-banner.visible {
    opacity: 1
}

.consent-inner {
    max-width: 1366px;
    margin: 0 auto;
    padding: 16px 32px
}

.consent-main-view {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap
}

.consent-text-box {
    flex: 1;
    min-width: 280px
}

.consent-headline {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    color: #2a2622;
    margin: 0 0 8px
}

.consent-description {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2622;
    margin: 0
}

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

.consent-btn {
    padding: 8px 32px;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    border: 2px solid #B2664F;
    border-radius: 5px;
    cursor: pointer;
    font-family: 'Archivo', sans-serif;
    transition-property: background-color, color, transform;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
    text-transform: lowercase;
    min-width: 120px
}

.consent-accept {
    background: #B2664F;
    color: #fff
}

.consent-accept:hover {
    background: #9a5642;
    transform: translateY(-1px)
}

.consent-accept:focus {
    outline: 2px solid #B2664F;
    outline-offset: 4px
}

.consent-reject {
    background: transparent;
    color: #B2664F
}

.consent-reject:hover {
    background: #b2664f14;
    transform: translateY(-1px)
}

.consent-reject:focus {
    outline: 2px solid #B2664F;
    outline-offset: 4px
}

.consent-settings-link {
    font-size: 16px;
    line-height: 1.4;
    color: #B2664F;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    padding: 8px 16px;
    font-family: 'Archivo', sans-serif;
    transition-property: color;
    transition-duration: .45s;
    transition-timing-function: ease-in-out
}

.consent-settings-link:hover {
    color: #9a5642
}

.consent-settings-link:focus {
    outline: 2px solid #B2664F;
    outline-offset: 2px
}

.consent-detail-view {
    display: none;
    padding-top: 32px
}

.consent-categories {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px
}

.consent-category {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #F6F3EE;
    border-radius: 5px;
    border: 1px solid #DCD2B9
}

.consent-checkbox {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: #B2664F
}

.consent-checkbox:disabled {
    cursor: not-allowed;
    opacity: .5
}

.consent-category-label {
    flex: 1;
    font-size: 16px;
    line-height: 1.4;
    color: #2a2622;
    cursor: pointer
}

.consent-category-label.required {
    font-weight: 700
}

.consent-detail-actions {
    display: flex;
    gap: 16px;
    justify-content: flex-end;
    flex-wrap: wrap
}

.consent-back {
    background: transparent;
    color: #B2664F;
    border: 2px solid #B2664F
}

.consent-back:hover {
    background: #b2664f14
}

.consent-save {
    background: #B2664F;
    color: #fff
}

.consent-save:hover {
    background: #9a5642
}

.consent-optout-notice {
    margin-top: 32px;
    padding: 16px;
    background: #b2664f0f;
    border-left: 4px solid #B2664F;
    border-radius: 5px
}

.consent-optout-text {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2622;
    margin: 0 0 16px
}

.consent-optout-control {
    display: flex;
    align-items: center;
    gap: 16px
}

.consent-optout-label {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    color: #2a2622;
    cursor: pointer
}

.consent-policy-link {
    font-size: 16px;
    line-height: 1.4;
    color: #B2664F;
    margin-top: 16px;
    display: inline-block
}

.consent-policy-link:hover {
    text-decoration: none
}

@media (max-width: 1024px) {
    .ft-grid {
        grid-template-columns: 1fr;
        gap: 64px
    }

    .brand-name {
        font-size: 44px
    }

    .brand-tagline {
        font-size: 32px
    }
}

@media (max-width: 768px) {
    .nav-container {
        justify-content: center;
        padding: 16px
    }

    .brand-zone {
        padding: 32px 16px
    }

    .brand-name {
        font-size: 32px
    }

    .brand-tagline {
        font-size: 16px
    }

    .ft-area {
        padding: 64px 16px 32px
    }

    .ft-company-name {
        font-size: 32px
    }

    .ft-nav-heading {
        font-size: 32px
    }

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

    .consent-main-view {
        flex-direction: column;
        align-items: flex-start
    }

    .consent-actions {
        width: 100%;
        flex-direction: column
    }

    .consent-btn {
        width: 100%
    }

    .consent-detail-actions {
        flex-direction: column
    }

    .nav-link {
        transition: none
    }

    .ft-nav-link {
        transition: none
    }

    .ft-service-link {
        transition: none
    }

    .consent-settings-link {
        transition: none
    }

    .consent-btn {
        transition: none
    }

    .consent-banner {
        transition: none
    }
}

@media (max-width: 320px) {
    .brand-zone {
        padding: 32px 8px
    }

    .nav-container {
        padding: 8px
    }

    .ft-area {
        padding: 64px 8px 32px
    }

    .consent-inner {
        padding: 16px
    }
}

@media (min-width: 1440px) {
    .brand-zone {
        padding: 96px 32px
    }

    .ft-area {
        padding: 96px 32px
    }
}

.legal-content {
    max-width: 1366px;
    margin: 0 auto;
    padding: 64px 16px;
    background: #F6F3EE
}

@media (min-width: 768px) {
    .legal-content {
        padding: 96px 32px
    }
}

.legal-content p {
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 16px;
    color: #1a0f0a
}

.legal-content p:last-child {
    margin-bottom: 0
}

.legal-content strong,
.legal-content b {
    font-weight: 700;
    color: #0f0805
}

.legal-content em,
.legal-content i {
    font-style: italic
}

.legal-content ul,
.legal-content ol {
    margin: 0 0 32px;
    padding-left: 32px
}

.legal-content ul {
    list-style-type: disc
}

.legal-content ol {
    list-style-type: decimal
}

.legal-content li {
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 8px;
    color: #1a0f0a
}

.legal-content li:last-child {
    margin-bottom: 0
}

.legal-content ul ul,
.legal-content ol ol,
.legal-content ul ol,
.legal-content ol ul {
    margin: 8px 0 0
}

.legal-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    background: #fff;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 1px 2px 3px -2px #b2664f0d 1px 6px 25px -2px #b2664f1c
}

.legal-content thead {
    background: #B2664F
}

.legal-content th {
    padding: 16px;
    text-align: left;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 1.4
}

.legal-content tbody tr {
    border-bottom: 1px solid #DCD2B9
}

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

.legal-content td {
    padding: 16px;
    font-size: 16px;
    line-height: 1.65;
    color: #1a0f0a
}

@media (min-width: 768px) {

    .legal-content th,
    .legal-content td {
        padding: 16px 32px
    }
}

.legal-content hr {
    border: none;
    height: 1px;
    background: #DCD2B9;
    margin: 64px 0
}

.legal-content div {
    margin-bottom: 32px
}

.legal-content div:last-child {
    margin-bottom: 0
}

.post-detail {
    background: #F6F3EE;
    min-height: 100vh
}

.post-detail__title-wrap {
    background: linear-gradient(127deg, #B2664F 0%, #8B5240 100%);
    padding: 96px 16px;
    position: relative;
    overflow: hidden
}

.post-detail__title-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><rect width="100" height="100" fill="none"/><path d="M0 0L100 100M100 0L0 100" stroke="#ffffff08" stroke-width="1"/></svg>');
    background-size: 64px 64px;
    opacity: .4
}

.post-detail__title-inner {
    max-width: 1366px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.post-detail__meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 0 32px;
    align-items: center
}

.post-detail__tag {
    background: #ffffff26;
    color: #F6F3EE;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: .02em;
    backdrop-filter: blur(8px)
}

.post-detail__category {
    background: #dcd2b940;
    color: #fff;
    padding: 8px 16px;
    border-radius: 40px;
    font-size: 16px;
    line-height: 1.4
}

.post-detail__h1 {
    font-size: 60px;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 32px;
    font-weight: 700
}

.post-detail__subtitle {
    font-size: 32px;
    line-height: 1.4;
    color: #DCD2B9;
    margin: 0 0 32px;
    font-weight: 400
}

.post-detail__info-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: center
}

.post-detail__author-name {
    font-size: 16px;
    line-height: 1.4;
    color: #F6F3EE
}

.post-detail__publish-date {
    font-size: 16px;
    line-height: 1.4;
    color: #DCD2B9
}

.post-detail__readtime {
    font-size: 16px;
    line-height: 1.4;
    color: #DCD2B9
}

.post-detail__like-count {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #F6F3EE
}

.post-detail__like-icon {
    width: 20px;
    height: 20px;
    fill: #DCD2B9
}

.post-detail__content-section {
    padding: 96px 16px;
    background: #fff
}

.post-detail__content-container {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 64px
}

.post-detail__image-frame {
    position: relative;
    border: 1px solid #DCD2B9;
    border-radius: 5px;
    overflow: hidden;
    background: #F6F3EE;
    box-shadow: 1px 6px 25px -2px #b2664f1c 1px 8px 40px -2px #b2664f21
}

.post-detail__image-frame::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #B2664F 0%, #DCD2B9 100%)
}

.post-detail__featured-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover
}

.post-detail__article-body {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a
}

.post-detail__article-body p {
    margin: 0 0 32px
}

.post-detail__article-body h2 {
    font-size: 44px;
    line-height: 1.15;
    color: #B2664F;
    margin: 64px 0 32px;
    padding-left: 16px;
    border-left: 4px solid #B2664F;
    font-weight: 700
}

.post-detail__article-body h3 {
    font-size: 32px;
    line-height: 1.4;
    color: #8B5240;
    margin: 32px 0 16px;
    padding-left: 16px;
    border-left: 4px solid #DCD2B9;
    font-weight: 600
}

.post-detail__article-body code {
    background: #F6F3EE;
    color: #B2664F;
    padding: 8px;
    border-radius: 5px;
    font-family: monospace;
    font-size: 16px;
    border: 1px solid #DCD2B9
}

.post-detail__article-body ol {
    margin: 0 0 32px;
    padding-left: 32px
}

.post-detail__article-body li {
    margin: 0 0 8px
}

.post-detail__article-body table {
    width: 100%;
    margin: 0 0 32px;
    border-collapse: collapse;
    border: 1px solid #DCD2B9;
    background: #fff;
    box-shadow: 1px 2px 3px -2px #b2664f0d
}

.post-detail__article-body th {
    background: #B2664F;
    color: #fff;
    padding: 16px;
    text-align: left;
    font-weight: 600;
    border: 1px solid #8B5240
}

.post-detail__article-body td {
    padding: 16px;
    border: 1px solid #DCD2B9
}

.post-detail__article-body tbody tr:nth-child(even) {
    background: #F6F3EE
}

.post-detail__article-body tfoot {
    background: #DCD2B9;
    font-weight: 600
}

.post-detail__article-body caption {
    padding: 16px;
    font-weight: 600;
    color: #B2664F;
    text-align: left
}

.post-detail__article-body blockquote {
    margin: 32px 0;
    padding: 32px;
    background: linear-gradient(135deg, #F6F3EE 0%, #fff 100%);
    border-left: 4px solid #B2664F;
    border-radius: 5px;
    font-style: italic;
    color: #4a4a4a;
    box-shadow: 1px 2px 3px -2px #b2664f0d
}

.post-detail__article-body time {
    color: #B2664F;
    font-weight: 600
}

.post-detail__interaction-zone {
    padding: 64px 16px;
    background: radial-gradient(circle at 23% 67%, #F6F3EE 0%, #fff 48%, #F6F3EE 100%)
}

.post-detail__interaction-container {
    max-width: 1366px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.post-detail__metrics-panel {
    background: #fff;
    border: 1px solid #DCD2B9;
    border-radius: 5px;
    padding: 32px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 32px;
    box-shadow: 1px 6px 25px -2px #b2664f1c;
    position: relative
}

.post-detail__metrics-panel::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background: #B2664F
}

.post-detail__metric-item {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.post-detail__metric-label {
    font-size: 16px;
    line-height: 1.4;
    color: #6a6a6a;
    text-transform: uppercase;
    letter-spacing: .05em
}

.post-detail__metric-value {
    font-size: 44px;
    line-height: 1.15;
    color: #B2664F;
    font-weight: 700;
    display: flex;
    align-items: baseline;
    gap: 8px
}

.post-detail__metric-unit {
    font-size: 16px;
    line-height: 1.4;
    color: #8B5240;
    font-weight: 400
}

.post-detail__action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center
}

.post-detail__copy-btn {
    background: #B2664F;
    color: #fff;
    border: none;
    padding: 16px 32px;
    border-radius: 40px;
    font-size: 16px;
    line-height: 1.4;
    cursor: pointer;
    transition: background .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 1px 2px 3px -2px #b2664f0d 1px 6px 25px -2px #b2664f1c;
    position: relative;
    overflow: hidden
}

.post-detail__copy-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, #fff3 50%, transparent 100%);
    transition: left .6s ease-in-out
}

.post-detail__copy-btn:hover {
    background: #8B5240;
    transform: translateY(-2px)
}

.post-detail__copy-btn:hover::before {
    left: 100%
}

.post-detail__copy-btn:active {
    transform: translateY(0)
}

.post-detail__visual-divider {
    padding: 96px 16px;
    background: #B2664F;
    position: relative;
    overflow: hidden
}

.post-detail__visual-divider::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at 78% 34%, #dcd2b926 0%, transparent 45%)
}

.post-detail__divider-content {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 64px;
    position: relative;
    z-index: 1
}

.post-detail__insight-card {
    background: #ffffff14;
    backdrop-filter: blur(16px);
    border: 1px solid #dcd2b94d;
    border-radius: 5px;
    padding: 32px;
    transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out;
    position: relative
}

.post-detail__insight-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background: #dcd2b980
}

.post-detail__insight-card:hover {
    transform: translateY(-8px);
    box-shadow: 1px 8px 40px -2px #b2664f21
}

.post-detail__insight-number {
    font-size: 70px;
    line-height: 1.15;
    color: #DCD2B9;
    font-weight: 700;
    margin: 0 0 16px;
    display: flex;
    align-items: baseline;
    gap: 8px
}

.post-detail__insight-suffix {
    font-size: 32px;
    line-height: 1.4;
    color: #F6F3EE
}

.post-detail__insight-text {
    font-size: 16px;
    line-height: 1.65;
    color: #F6F3EE;
    margin: 0
}

@media (min-width: 768px) {
    .post-detail__title-wrap {
        padding: 96px 32px
    }

    .post-detail__h1 {
        font-size: 70px
    }

    .post-detail__content-section {
        padding: 96px 32px
    }

    .post-detail__content-container {
        grid-template-columns: 2fr 3fr
    }

    .post-detail__interaction-zone {
        padding: 96px 32px
    }

    .post-detail__visual-divider {
        padding: 96px 32px
    }
}

@media (min-width: 1024px) {
    .post-detail__title-wrap {
        padding: 96px 64px
    }

    .post-detail__content-section {
        padding: 96px 64px
    }

    .post-detail__interaction-zone {
        padding: 96px 64px
    }

    .post-detail__visual-divider {
        padding: 96px 64px
    }

    .post-detail__copy-btn {
        transition: background .55s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }

    .post-detail__insight-card {
        transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out
    }
}

@media (min-width: 1440px) {
    .post-detail__content-container {
        grid-template-columns: 1fr 2fr
    }
}

.dbt {
    max-width: 1366px;
    margin: 0 auto
}

.dbt__opening {
    background: linear-gradient(127deg, #B2664F 0%, #DCD2B9 100%);
    padding: 96px 16px;
    position: relative;
    overflow: hidden
}

.dbt__opening::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 32px;
    width: 8px;
    height: 8px;
    background: #f6f3ee4d;
    border-radius: 40px
}

.dbt__opening::after {
    content: '';
    position: absolute;
    bottom: 64px;
    right: 64px;
    width: 8px;
    height: 8px;
    background: #f6f3ee4d;
    border-radius: 40px
}

.dbt__pattern-dot {
    position: absolute;
    width: 8px;
    height: 8px;
    background: #f6f3ee40;
    border-radius: 40px
}

.dbt__pattern-dot:nth-child(1) {
    top: 96px;
    left: 50%
}

.dbt__pattern-dot:nth-child(2) {
    top: 160px;
    right: 20%
}

.dbt__pattern-dot:nth-child(3) {
    bottom: 96px;
    left: 25%
}

.dbt__intro-wrap {
    max-width: 920px;
    margin: 0 auto;
    text-align: center
}

.dbt__intro-wrap h1 {
    font-size: 60px;
    line-height: 1.15;
    color: #F6F3EE;
    margin: 0 0 32px;
    animation: dbt-elastic .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

@keyframes dbt-elastic {
    0% {
        transform: scale(0.92);
        opacity: 0
    }

    60% {
        transform: scale(1.03)
    }

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

.dbt__intro-wrap p {
    font-size: 16px;
    line-height: 1.65;
    color: #F6F3EE;
    margin: 0 0 16px
}

.dbt__intro-wrap p:last-child {
    margin-bottom: 0
}

@media (min-width: 768px) {
    .dbt__opening {
        padding: 96px 32px 96px 64px
    }
}

@media (min-width: 1024px) {
    .dbt__opening {
        padding: 96px 64px
    }
}

.dbt__site-purpose {
    background: #F6F3EE;
    padding: 64px 16px;
    position: relative
}

.dbt__site-purpose::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #DCD2B9 50%, transparent 100%)
}

.dbt__purpose-inner {
    max-width: 780px;
    margin: 0 auto
}

.dbt__purpose-inner h2 {
    font-size: 44px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0 0 32px;
    padding-left: 16px;
    border-left: 5px solid #B2664F
}

.dbt__purpose-inner p {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a;
    margin: 0 0 16px
}

.dbt__purpose-inner p:last-child {
    margin-bottom: 0
}

@media (min-width: 768px) {
    .dbt__site-purpose {
        padding: 96px 32px
    }
}

.dbt__posts-area {
    background: #fff;
    padding: 64px 16px
}

.dbt__posts-container {
    max-width: 1200px;
    margin: 0 auto
}

.dbt__posts-header {
    margin-bottom: 64px;
    text-align: center
}

.dbt__posts-header h2 {
    font-size: 44px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0
}

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

@media (min-width: 768px) {
    .dbt__posts-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width: 1024px) {
    .dbt__posts-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .dbt__posts-area {
        padding: 96px 32px
    }
}

.dbt__post-card {
    background: #fff;
    border: 1px solid #DCD2B9;
    border-radius: 5px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative
}

@media (min-width: 1024px) {
    .dbt__post-card:nth-child(2) {
        transform: translateY(-32px)
    }
}

.dbt__post-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, transparent 0%, transparent 50%, #b2664f08 100%);
    opacity: 0;
    pointer-events: none
}

@media (min-width: 1024px) {
    .dbt__post-card::before {
        transition: opacity .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }

    .dbt__post-card:hover::before {
        opacity: 1
    }
}

.dbt__post-img-wrap {
    width: 100%;
    height: 240px;
    overflow: hidden;
    position: relative;
    border-bottom: 1px solid #DCD2B9
}

.dbt__post-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.dbt__post-content {
    padding: 32px;
    display: flex;
    flex-direction: column;
    flex-grow: 1
}

.dbt__post-meta {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px
}

.dbt__post-tag {
    font-size: 16px;
    line-height: 1.4;
    color: #B2664F;
    background: #b2664f14;
    padding: 8px 16px;
    border-radius: 40px
}

.dbt__post-content h3 {
    font-size: 32px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 16px
}

.dbt__post-content h3 a {
    color: inherit;
    text-decoration: none
}

@media (min-width: 1024px) {
    .dbt__post-content h3 a {
        transition: color .45s ease-in-out
    }

    .dbt__post-content h3 a:hover {
        color: #B2664F
    }
}

.dbt__post-subtitle {
    font-size: 16px;
    line-height: 1.65;
    color: #5a5a5a;
    margin: 0 0 16px
}

.dbt__post-desc {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a;
    margin: 0 0 32px;
    flex-grow: 1
}

.dbt__post-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 16px;
    border-top: 1px solid #DCD2B9;
    gap: 16px;
    flex-wrap: wrap
}

.dbt__post-author {
    font-size: 16px;
    line-height: 1.4;
    color: #5a5a5a
}

.dbt__post-date {
    font-size: 16px;
    line-height: 1.4;
    color: #5a5a5a
}

.dbt__post-stats {
    display: flex;
    gap: 16px;
    align-items: center
}

.dbt__post-readtime {
    font-size: 16px;
    line-height: 1.4;
    color: #5a5a5a
}

.dbt__post-likes {
    font-size: 16px;
    line-height: 1.4;
    color: #B2664F
}

.dbt__taxonomy-map {
    background: #fff;
    padding: 64px 16px;
    position: relative
}

.dbt__taxonomy-map::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(#b2664f08 1px, transparent 1px), linear-gradient(90deg, #b2664f08 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none
}

.dbt__taxonomy-inner {
    max-width: 1100px;
    margin: 0 auto;
    position: relative
}

.dbt__taxonomy-inner h2 {
    font-size: 44px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0 0 64px;
    text-align: center
}

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

@media (min-width: 768px) {
    .dbt__topic-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .dbt__taxonomy-map {
        padding: 96px 32px
    }
}

@media (min-width: 1024px) {
    .dbt__topic-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

.dbt__topic-cluster {
    background: #F6F3EE;
    padding: 32px;
    border-radius: 5px;
    border: 1px solid #DCD2B9;
    position: relative;
    overflow: hidden
}

@media (min-width: 1024px) {
    .dbt__topic-cluster {
        transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }

    .dbt__topic-cluster:hover {
        transform: translateY(-8px)
    }
}

.dbt__topic-cluster h3 {
    font-size: 32px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0 0 16px;
    padding-left: 16px;
    border-left: 5px solid #B2664F
}

.dbt__topic-list {
    list-style: none;
    margin: 0;
    padding: 0
}

.dbt__topic-list li {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a;
    margin-bottom: 8px;
    padding-left: 16px;
    position: relative
}

.dbt__topic-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 5px;
    height: 5px;
    background: #B2664F;
    border-radius: 40px
}

.dbt__topic-list li:last-child {
    margin-bottom: 0
}

.dbt__rhythm-showcase {
    background: linear-gradient(270deg, #F6F3EE 0%, #fff 50%, #F6F3EE 100%);
    padding: 64px 16px
}

.dbt__rhythm-inner {
    max-width: 900px;
    margin: 0 auto
}

.dbt__rhythm-inner h2 {
    font-size: 44px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0 0 32px;
    text-align: center
}

.dbt__rhythm-content {
    background: #fff;
    padding: 32px;
    border-radius: 5px;
    border: 1px solid #DCD2B9;
    box-shadow: 1px 2px 3px -2px #b2664f0d 1px 6px 25px -2px #b2664f1c
}

.dbt__rhythm-content p {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a;
    margin: 0 0 16px
}

.dbt__rhythm-content p:last-child {
    margin-bottom: 0
}

.dbt__schedule-items {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px
}

@media (min-width: 768px) {
    .dbt__schedule-items {
        grid-template-columns: repeat(2, 1fr)
    }

    .dbt__rhythm-showcase {
        padding: 96px 32px
    }
}

.dbt__schedule-box {
    background: #F6F3EE;
    padding: 16px;
    border-radius: 5px;
    border-left: 5px solid #B2664F;
    position: relative;
    overflow: hidden
}

.dbt__schedule-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: repeating-conic-gradient(#DCD2B9 0% 25%, transparent 0% 50%) 50% / 16px 16px;
    opacity: 0;
    pointer-events: none
}

@media (min-width: 1024px) {
    .dbt__schedule-box::before {
        transition: width .55s ease-in-out, opacity .55s ease-in-out
    }

    .dbt__schedule-box:hover::before {
        width: 100%;
        opacity: .3
    }
}

.dbt__schedule-box h4 {
    font-size: 16px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: .05em
}

.dbt__schedule-box p {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a;
    margin: 0
}

.dbt__series-arcs {
    background: #F6F3EE;
    padding: 64px 16px;
    position: relative
}

.dbt__series-arcs::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #B2664F 50%, transparent 100%)
}

.dbt__series-arcs::after {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background: #B2664F;
    border-radius: 40px;
    border: 3px solid #F6F3EE
}

.dbt__series-inner {
    max-width: 1100px;
    margin: 0 auto
}

.dbt__series-inner h2 {
    font-size: 44px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0 0 64px;
    text-align: center
}

.dbt__arc-collection {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px
}

@media (min-width: 768px) {
    .dbt__arc-collection {
        grid-template-columns: repeat(2, 1fr)
    }

    .dbt__series-arcs {
        padding: 96px 32px
    }
}

.dbt__arc-item {
    background: #fff;
    padding: 32px;
    border-radius: 5px;
    border: 1px solid #DCD2B9;
    box-shadow: 1px 8px 40px -2px #b2664f21
}

.dbt__arc-item h3 {
    font-size: 32px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0 0 16px
}

.dbt__arc-item p {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a;
    margin: 0 0 16px
}

.dbt__arc-parts {
    font-size: 16px;
    line-height: 1.4;
    color: #5a5a5a;
    margin: 0
}

.dbt__conversation-invite {
    background: #fff;
    padding: 64px 16px
}

.dbt__conversation-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center
}

.dbt__conversation-inner h2 {
    font-size: 44px;
    line-height: 1.4;
    color: #B2664F;
    margin: 0 0 32px
}

.dbt__conversation-inner p {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a;
    margin: 0 0 32px
}

.dbt__contact-btn {
    display: inline-block;
    background: #B2664F;
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
    padding: 16px 32px;
    border-radius: 5px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden
}

.dbt__contact-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #DCD2B9
}

@media (min-width: 1024px) {
    .dbt__contact-btn::before {
        transition: width .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }

    .dbt__contact-btn:hover::before {
        width: 100%
    }

    .dbt__conversation-invite {
        padding: 96px 32px
    }
}

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

.bl-pg {
    background: #F6F3EE;
    max-width: 1366px;
    margin: 0 auto
}

.bl-pg__ttl-wrp {
    display: flex;
    align-items: stretch;
    padding: 16px 16px 64px;
    position: relative
}

@media (min-width: 768px) {
    .bl-pg__ttl-wrp {
        padding: 32px 32px 96px
    }
}

.bl-pg__ttl-img-col {
    width: 140px;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border-radius: 5px
}

@media (min-width: 768px) {
    .bl-pg__ttl-img-col {
        width: 220px
    }
}

@media (min-width: 1024px) {
    .bl-pg__ttl-img-col {
        width: 280px
    }
}

.bl-pg__ttl-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: relative
}

.bl-pg__ttl-img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #B2664F;
    opacity: .15;
    pointer-events: none
}

.bl-pg__ttl-txt {
    flex: 1;
    padding-left: 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative
}

@media (min-width: 768px) {
    .bl-pg__ttl-txt {
        padding-left: 64px
    }
}

.bl-pg__ttl-brkt {
    position: absolute;
    width: 32px;
    height: 32px;
    border: 2px solid #B2664F
}

.bl-pg__ttl-brkt--tl {
    top: 0;
    left: 0;
    border-right: none;
    border-bottom: none
}

.bl-pg__ttl-brkt--br {
    bottom: 0;
    right: 0;
    border-left: none;
    border-top: none
}

@media (min-width: 768px) {
    .bl-pg__ttl-brkt {
        width: 48px;
        height: 48px
    }
}

.bl-pg__ttl-h {
    font-size: 44px;
    line-height: 1.15;
    color: #B2664F;
    margin: 0;
    font-weight: 700
}

@media (min-width: 768px) {
    .bl-pg__ttl-h {
        font-size: 60px
    }
}

@media (min-width: 1024px) {
    .bl-pg__ttl-h {
        font-size: 70px
    }
}

.bl-pg__posts-area {
    padding: 32px 16px;
    background: linear-gradient(147deg, #b2664f08 0%, #f6f3ee00 100%)
}

@media (min-width: 768px) {
    .bl-pg__posts-area {
        padding: 64px 32px
    }
}

.bl-pg__posts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    max-width: 1366px;
    margin: 0 auto
}

@media (min-width: 768px) {
    .bl-pg__posts-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width: 1024px) {
    .bl-pg__posts-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px
    }
}

.bl-pg__pst-crd {
    background: #fff;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 1px 2px 3px -2px #b2664f0d 1px 6px 25px -2px #b2664f1c 1px 8px 40px -2px #b2664f21;
    display: flex;
    flex-direction: column;
    position: relative
}

@media (min-width: 768px) {
    .bl-pg__pst-crd {
        transition: transform .55s ease-in-out, box-shadow .55s ease-in-out
    }

    .bl-pg__pst-crd:hover {
        transform: translateY(-4px);
        box-shadow: 1px 8px 40px -2px #b2664f21 1px 12px 50px -2px #b2664f2e
    }
}

.bl-pg__pst-img-wrp {
    width: 100%;
    height: 220px;
    overflow: hidden;
    position: relative;
    border-bottom: 1px solid #DCD2B9
}

@media (min-width: 768px) {
    .bl-pg__pst-img-wrp {
        height: 260px
    }
}

.bl-pg__pst-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

@media (min-width: 768px) {
    .bl-pg__pst-img {
        transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }

    .bl-pg__pst-crd:hover .bl-pg__pst-img {
        transform: scale(1.05)
    }
}

.bl-pg__pst-cnt {
    padding: 32px;
    flex: 1;
    display: flex;
    flex-direction: column
}

.bl-pg__pst-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap
}

.bl-pg__pst-tag {
    background: #DCD2B9;
    color: #3d3d3d;
    padding: 4px 16px;
    border-radius: 40px;
    font-size: 16px;
    line-height: 1.4
}

.bl-pg__pst-cat {
    background: #F6F3EE;
    color: #B2664F;
    padding: 4px 16px;
    border-radius: 40px;
    font-size: 16px;
    line-height: 1.4
}

.bl-pg__pst-ttl {
    font-size: 32px;
    line-height: 1.4;
    color: #2d2d2d;
    margin: 0 0 16px;
    font-weight: 700
}

.bl-pg__pst-ttl-lnk {
    color: inherit;
    text-decoration: none
}

@media (min-width: 768px) {
    .bl-pg__pst-ttl-lnk {
        transition: color .5s ease-in-out
    }

    .bl-pg__pst-ttl-lnk:hover {
        color: #B2664F
    }
}

.bl-pg__pst-sub {
    font-size: 16px;
    line-height: 1.65;
    color: #5d5d5d;
    margin: 0 0 16px
}

.bl-pg__pst-desc {
    font-size: 16px;
    line-height: 1.65;
    color: #4d4d4d;
    margin: 0 0 32px;
    flex: 1
}

.bl-pg__pst-ftr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid #F6F3EE;
    gap: 16px;
    flex-wrap: wrap
}

.bl-pg__pst-auth {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: #4d4d4d
}

.bl-pg__pst-date {
    font-size: 16px;
    line-height: 1.4;
    color: #7d7d7d
}

.bl-pg__pst-stats {
    display: flex;
    align-items: center;
    gap: 16px
}

.bl-pg__pst-read {
    font-size: 16px;
    line-height: 1.4;
    color: #7d7d7d
}

.bl-pg__pst-likes {
    font-size: 16px;
    line-height: 1.4;
    color: #B2664F;
    font-weight: 600
}

.bl-pg__insights-sec {
    padding: 64px 16px;
    background: #fff;
    position: relative
}

@media (min-width: 768px) {
    .bl-pg__insights-sec {
        padding: 96px 32px
    }
}

.bl-pg__insights-geo {
    position: absolute;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle at 30% 40%, #b2664f14, #dcd2b90d 50%, transparent 70%);
    border-radius: 40px;
    top: -100px;
    right: -150px;
    pointer-events: none;
    z-index: 1
}

@media (min-width: 1024px) {
    .bl-pg__insights-geo {
        width: 600px;
        height: 600px;
        top: -200px;
        right: -200px
    }
}

.bl-pg__insights-inner {
    max-width: 1366px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 32px
}

@media (min-width: 768px) {
    .bl-pg__insights-inner {
        flex-direction: row;
        gap: 64px
    }
}

.bl-pg__insights-left {
    flex: 2
}

.bl-pg__insights-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.bl-pg__insights-h {
    font-size: 44px;
    line-height: 1.15;
    color: #2d2d2d;
    margin: 0 0 32px;
    font-weight: 700;
    position: relative;
    padding-left: 16px
}

.bl-pg__insights-h::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #B2664F;
    border-radius: 5px
}

.bl-pg__insights-txt {
    font-size: 16px;
    line-height: 1.65;
    color: #4d4d4d;
    margin: 0 0 16px
}

.bl-pg__insights-accent {
    background: #F6F3EE;
    padding: 32px;
    border-radius: 5px;
    border: 1px solid #DCD2B9
}

.bl-pg__insights-num {
    font-size: 60px;
    line-height: 1.15;
    color: #B2664F;
    font-weight: 700;
    margin: 0 0 8px
}

.bl-pg__insights-lbl {
    font-size: 16px;
    line-height: 1.4;
    color: #7d7d7d;
    margin: 0
}

.bl-pg__methods-sec {
    padding: 64px 16px;
    background: radial-gradient(ellipse at 20% 30%, #dcd2b91f, #f6f3ee0d 60%, transparent 85%), radial-gradient(ellipse at 80% 70%, #b2664f0f, transparent 50%);
    position: relative
}

@media (min-width: 768px) {
    .bl-pg__methods-sec {
        padding: 96px 32px
    }
}

.bl-pg__methods-inner {
    max-width: 1366px;
    margin: 0 auto
}

.bl-pg__methods-h {
    font-size: 44px;
    line-height: 1.15;
    color: #2d2d2d;
    margin: 0 0 64px;
    font-weight: 700;
    text-align: center
}

@media (min-width: 768px) {
    .bl-pg__methods-h {
        font-size: 60px
    }
}

.bl-pg__methods-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px
}

@media (min-width: 768px) {
    .bl-pg__methods-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

.bl-pg__method-itm {
    background: #fff;
    padding: 32px;
    border-radius: 5px;
    box-shadow: 1px 2px 3px -2px #b2664f0d 1px 6px 25px -2px #b2664f1c;
    position: relative;
    overflow: hidden
}

@media (min-width: 768px) {
    .bl-pg__method-itm {
        transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }

    .bl-pg__method-itm:hover {
        box-shadow: 1px 8px 40px -2px #b2664f21 1px 12px 50px -2px #b2664f2e
    }
}

.bl-pg__method-idx {
    font-size: 70px;
    line-height: 1.15;
    color: #DCD2B9;
    font-weight: 700;
    margin: 0 0 16px;
    opacity: .4
}

.bl-pg__method-ttl {
    font-size: 32px;
    line-height: 1.4;
    color: #2d2d2d;
    margin: 0 0 16px;
    font-weight: 700
}

.bl-pg__method-txt {
    font-size: 16px;
    line-height: 1.65;
    color: #4d4d4d;
    margin: 0
}

.bl-pg__engage-sec {
    padding: 64px 16px;
    background: #fff
}

@media (min-width: 768px) {
    .bl-pg__engage-sec {
        padding: 96px 32px
    }
}

.bl-pg__engage-inner {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px
}

@media (min-width: 768px) {
    .bl-pg__engage-inner {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px
    }
}

.bl-pg__engage-card {
    background: #F6F3EE;
    padding: 32px;
    border-radius: 5px;
    position: relative;
    overflow: hidden
}

@media (min-width: 768px) {
    .bl-pg__engage-card {
        transition: transform .55s ease-in-out
    }

    .bl-pg__engage-card:hover {
        transform: scale(1.03)
    }
}

.bl-pg__engage-icon {
    width: 64px;
    height: 64px;
    background: #B2664F;
    border-radius: 40px;
    margin-bottom: 16px
}

.bl-pg__engage-h {
    font-size: 32px;
    line-height: 1.4;
    color: #2d2d2d;
    margin: 0 0 16px;
    font-weight: 700
}

.bl-pg__engage-txt {
    font-size: 16px;
    line-height: 1.65;
    color: #4d4d4d;
    margin: 0
}

.bl-pg__tooltip-demo {
    padding: 64px 16px;
    background: linear-gradient(125deg, #f6f3eeff 0%, #dcd2b926 100%)
}

@media (min-width: 768px) {
    .bl-pg__tooltip-demo {
        padding: 96px 32px
    }
}

.bl-pg__tooltip-inner {
    max-width: 1366px;
    margin: 0 auto;
    text-align: center
}

.bl-pg__tooltip-h {
    font-size: 44px;
    line-height: 1.15;
    color: #2d2d2d;
    margin: 0 0 64px;
    font-weight: 700
}

@media (min-width: 768px) {
    .bl-pg__tooltip-h {
        font-size: 60px
    }
}

.bl-pg__tooltip-items {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: center
}

.bl-pg__tooltip-box {
    position: relative;
    display: inline-block
}

.bl-pg__tooltip-trigger {
    background: #B2664F;
    color: #fff;
    padding: 16px 32px;
    border-radius: 5px;
    font-size: 16px;
    line-height: 1.4;
    cursor: pointer;
    border: none;
    text-transform: lowercase
}

@media (min-width: 768px) {
    .bl-pg__tooltip-trigger {
        transition: background .5s ease-in-out
    }

    .bl-pg__tooltip-trigger:hover {
        background: #9a5440
    }
}

.bl-pg__tooltip-trigger:focus {
    outline: 2px solid #B2664F;
    outline-offset: 2px
}

.bl-pg__tooltip-cnt {
    position: absolute;
    bottom: calc(100% + 16px);
    left: 50%;
    transform: translateX(-50%);
    background: #2d2d2d;
    color: #fff;
    padding: 16px;
    border-radius: 5px;
    font-size: 16px;
    line-height: 1.4;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    box-shadow: 1px 2px 3px -2px #b2664f0d 1px 6px 25px -2px #b2664f1c;
    z-index: 10
}

@media (min-width: 768px) {
    .bl-pg__tooltip-cnt {
        transition: opacity .45s ease-in-out
    }
}

.bl-pg__tooltip-trigger:focus+.bl-pg__tooltip-cnt {
    opacity: 1;
    pointer-events: auto
}

.bl-pg__tooltip-cnt::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 8px solid transparent;
    border-top-color: #2d2d2d
}

@keyframes bl-pg-bounce {
    0% {
        transform: translateY(-20px);
        opacity: 0
    }

    50% {
        transform: translateY(5px)
    }

    70% {
        transform: translateY(-2px)
    }

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

.bl-pg__engage-card {
    animation: bl-pg-bounce .6s ease-in-out
}

.bl-pg__engage-card:nth-child(1) {
    animation-delay: .1s;
    opacity: 0;
    animation-fill-mode: forwards
}

.bl-pg__engage-card:nth-child(2) {
    animation-delay: .2s;
    opacity: 0;
    animation-fill-mode: forwards
}

.bl-pg__engage-card:nth-child(3) {
    animation-delay: .3s;
    opacity: 0;
    animation-fill-mode: forwards
}

.phil {
    max-width: 1366px;
    margin: 0 auto
}

.phil__opener {
    background: linear-gradient(to bottom, #B2664F 0%, #b2664fd9 40%, #b2664f00 100%);
    padding: 96px 32px 32px;
    position: relative;
    overflow: hidden
}

.phil__opener::before {
    content: '';
    position: absolute;
    top: 16px;
    right: 16px;
    width: 80px;
    height: 80px;
    border: 2px solid #f6f3ee26;
    border-radius: 5px
}

.phil__opener::after {
    content: '';
    position: absolute;
    top: 20px;
    right: 20px;
    width: 72px;
    height: 72px;
    border: 1px solid #f6f3ee14;
    border-radius: 5px
}

.phil__lead-frame {
    max-width: 920px
}

.phil__lead-frame h1 {
    font-size: 60px;
    line-height: 1.15;
    color: #F6F3EE;
    margin: 0 0 32px;
    letter-spacing: -.02em
}

.phil__lead-frame p {
    font-size: 16px;
    line-height: 1.65;
    color: #f6f3eef2;
    margin: 0;
    max-width: 680px
}

.phil__showcase {
    background: #F6F3EE;
    padding: 64px 32px;
    position: relative
}

.phil__showcase::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(157deg, #DCD2B9 0%, #F6F3EE 45%);
    z-index: 0;
    pointer-events: none
}

.phil__showcase-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 64px
}

.phil__split-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: start
}

.phil__visual-zone {
    position: relative;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 1px 8px 40px -2px #b2664f21
}

.phil__visual-zone::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at center, transparent 30%, #0006 100%);
    z-index: 1;
    pointer-events: none
}

.phil__visual-zone img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    border: 1px solid #b2664f1f
}

.phil__text-zone h2 {
    font-size: 44px;
    line-height: 1.15;
    color: #B2664F;
    margin: 0 0 32px;
    position: relative;
    padding-left: 16px
}

.phil__text-zone h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #B2664F;
    border-radius: 40px
}

.phil__text-zone p {
    font-size: 16px;
    line-height: 1.65;
    color: #2a2a2a;
    margin: 0 0 16px
}

.phil__text-zone p:last-child {
    margin-bottom: 0
}

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

.phil__metric-card {
    background: #fff;
    padding: 32px;
    border-radius: 5px;
    border: 1px solid #b2664f14;
    box-shadow: 1px 2px 3px -2px #b2664f0d;
    position: relative;
    overflow: hidden;
    opacity: 0;
    animation: phil-appear .55s ease-in-out forwards
}

.phil__metric-card:nth-child(1) {
    animation-delay: .1s
}

.phil__metric-card:nth-child(2) {
    animation-delay: .2s
}

.phil__metric-card:nth-child(3) {
    animation-delay: .3s
}

@keyframes phil-appear {
    from {
        opacity: 0;
        transform: translateY(16px)
    }

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

.phil__metric-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #B2664F 0%, #DCD2B9 100%)
}

.phil__metric-label {
    font-size: 16px;
    line-height: 1.4;
    color: #5a5a5a;
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.phil__metric-value {
    font-size: 44px;
    line-height: 1.15;
    color: #B2664F;
    margin: 0;
    font-weight: 700
}

.phil__detail-zone {
    background: #fff;
    padding: 64px 32px;
    position: relative
}

.phil__detail-zone::before {
    content: '';
    position: absolute;
    bottom: 16px;
    left: 16px;
    width: 2px;
    height: 120px;
    background: #b2664f1f
}

.phil__detail-zone::after {
    content: '';
    position: absolute;
    bottom: 16px;
    left: 24px;
    width: 2px;
    height: 120px;
    background: #b2664f14
}

.phil__detail-inner {
    max-width: 1100px;
    margin: 0 auto
}

.phil__detail-inner h2 {
    font-size: 44px;
    line-height: 1.15;
    color: #B2664F;
    margin: 0 0 32px;
    position: relative;
    padding-left: 16px
}

.phil__detail-inner h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #B2664F;
    border-radius: 40px
}

.phil__initiatives-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px
}

.phil__initiative-item {
    background: #F6F3EE;
    padding: 32px;
    border-radius: 5px;
    position: relative;
    overflow: hidden;
    border: 1px solid #b2664f14;
    box-shadow: 1px 6px 25px -2px #b2664f1c
}

.phil__initiative-item::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: #b2664f0a;
    border-radius: 5px;
    transform: translate(-50%, -50%);
    transition: width .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0;
    pointer-events: none
}

.phil__initiative-item:hover::before {
    width: 100%;
    height: 100%
}

.phil__initiative-content {
    position: relative;
    z-index: 1
}

.phil__initiative-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px
}

.phil__initiative-number {
    font-size: 32px;
    line-height: 1;
    color: #B2664F;
    font-weight: 700;
    min-width: 48px
}

.phil__initiative-title {
    font-size: 32px;
    line-height: 1.15;
    color: #2a2a2a;
    margin: 0
}

.phil__initiative-desc {
    font-size: 16px;
    line-height: 1.65;
    color: #3a3a3a;
    margin: 0 0 16px;
    padding-left: 64px
}

.phil__initiative-desc:last-child {
    margin-bottom: 0
}

.phil__arrow-connector {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1;
    color: #B2664F;
    font-weight: 700;
    margin-top: 16px;
    padding-left: 64px
}

.phil__arrow-connector::after {
    content: '';
    width: 24px;
    height: 2px;
    background: #B2664F;
    position: relative
}

.phil__arrow-connector::before {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #B2664F;
    border-right: 2px solid #B2664F;
    transform: rotate(45deg);
    position: relative;
    left: 24px
}

@media (min-width: 768px) {
    .phil__opener {
        padding: 96px 64px 64px
    }

    .phil__opener::before {
        width: 120px;
        height: 120px;
        top: 32px;
        right: 32px
    }

    .phil__opener::after {
        width: 108px;
        height: 108px;
        top: 38px;
        right: 38px
    }

    .phil__lead-frame h1 {
        font-size: 70px
    }

    .phil__showcase {
        padding: 96px 64px
    }

    .phil__split-container {
        grid-template-columns: 60fr 40fr;
        gap: 64px
    }

    .phil__visual-zone img {
        height: 520px
    }

    .phil__metrics-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px
    }

    .phil__detail-zone {
        padding: 96px 64px
    }

    .phil__detail-zone::before {
        left: 32px;
        bottom: 32px
    }

    .phil__detail-zone::after {
        left: 40px;
        bottom: 32px
    }

    .phil__initiatives-list {
        gap: 48px
    }

    .phil__initiative-item {
        padding: 48px
    }
}

@media (min-width: 1024px) {
    .phil__opener {
        padding: 96px 96px 64px
    }

    .phil__showcase {
        padding: 96px
    }

    .phil__detail-zone {
        padding: 96px
    }

    .phil__split-container {
        align-items: center
    }

    .phil__visual-zone img {
        height: 580px
    }

    .phil__initiatives-list {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width: 320px) {

    .phil__metric-card,
    .phil__initiative-item::before {
        transition: none
    }
}

@media (min-width: 768px) {
    .phil__metric-card {
        transition: transform .5s ease-in-out, box-shadow .5s ease-in-out
    }

    .phil__metric-card:hover {
        transform: translateY(-4px);
        box-shadow: 1px 8px 40px -2px #b2664f21
    }

    .phil__initiative-item::before {
        transition: width .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), height .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }
}

.autor-profil {
    background: #F6F3EE;
    color: #2a2a2a;
    max-width: 1366px;
    margin: 0 auto
}

.autor-profil .kopf-bereich {
    display: flex;
    flex-direction: column;
    padding: 64px 16px;
    position: relative;
    overflow: visible
}

@media (min-width: 768px) {
    .autor-profil .kopf-bereich {
        flex-direction: row;
        padding: 96px 32px;
        gap: 32px
    }
}

.autor-profil .links-anker {
    flex: 0 0 30%;
    position: relative;
    z-index: 2
}

.autor-profil .bild-halter {
    position: relative;
    width: 100%;
    max-width: 380px;
    margin: 0 auto 32px
}

@media (min-width: 768px) {
    .autor-profil .bild-halter {
        margin: 0;
        max-width: none
    }
}

.autor-profil .bild-halter::before {
    content: '';
    position: absolute;
    top: -8px;
    left: -8px;
    right: 8px;
    bottom: 8px;
    background-image: radial-gradient(circle, #B2664F 1px, transparent 1px);
    background-size: 16px 16px;
    z-index: -1;
    opacity: .3
}

.autor-profil .autor-foto {
    width: 100%;
    height: auto;
    display: block;
    border: 2px solid #B2664F;
    border-radius: 5px;
    position: relative;
    filter: sepia(0.25) saturate(0.9)
}

.autor-profil .foto-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(167deg, #b2664f26 0%, #dcd2b914 100%);
    pointer-events: none;
    border-radius: 5px
}

.autor-profil .rechts-dominant {
    flex: 0 0 70%;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.autor-profil .zahl-akzent {
    font-size: 70px;
    line-height: 1.15;
    color: #B2664F;
    font-weight: 700;
    margin: 0 0 16px
}

@media (min-width: 768px) {
    .autor-profil .zahl-akzent {
        margin: 0 0 8px
    }
}

.autor-profil .haupt-titel {
    font-size: 44px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 32px;
    font-weight: 600
}

@media (min-width: 768px) {
    .autor-profil .haupt-titel {
        font-size: 60px;
        line-height: 1.15;
        margin: 0 0 32px
    }
}

.autor-profil .erklarung-text {
    font-size: 16px;
    line-height: 1.65;
    color: #3a3a3a;
    margin: 0
}

.autor-profil .expertise-raster {
    padding: 96px 16px;
    background: linear-gradient(223deg, #F6F3EE 0%, #DCD2B9 50%, #F6F3EE 100%);
    animation: farbwechsel 15s linear infinite
}

@keyframes farbwechsel {
    0% {
        background: linear-gradient(223deg, #F6F3EE 0%, #DCD2B9 50%, #F6F3EE 100%)
    }

    50% {
        background: linear-gradient(223deg, #DCD2B9 0%, #F6F3EE 50%, #DCD2B9 100%)
    }

    100% {
        background: linear-gradient(223deg, #F6F3EE 0%, #DCD2B9 50%, #F6F3EE 100%)
    }
}

@media (min-width: 768px) {
    .autor-profil .expertise-raster {
        padding: 96px 32px
    }
}

.autor-profil .inhalt-wrapper {
    max-width: 1366px;
    margin: 0 auto
}

.autor-profil .bereich-kopf {
    text-align: center;
    margin: 0 0 64px
}

.autor-profil .bereich-titel {
    font-size: 44px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 16px;
    font-weight: 600
}

.autor-profil .bereich-untertitel {
    font-size: 16px;
    line-height: 1.65;
    color: #4a4a4a;
    margin: 0
}

.autor-profil .zweispaltig-trenner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px
}

@media (min-width: 768px) {
    .autor-profil .zweispaltig-trenner {
        grid-template-columns: 1fr 2px 1fr;
        gap: 64px
    }
}

.autor-profil .trenn-linie {
    display: none;
    background: linear-gradient(180deg, transparent 0%, #B2664F 20%, #B2664F 80%, transparent 100%)
}

@media (min-width: 768px) {
    .autor-profil .trenn-linie {
        display: block
    }
}

.autor-profil .spalte-links,
.autor-profil .spalte-rechts {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.autor-profil .fach-karte {
    background: #fff;
    padding: 32px;
    border-radius: 5px;
    box-shadow: 1px 2px 3px -2px #b2664f0d 1px 6px 25px -2px #b2664f1c 1px 8px 40px -2px #b2664f21;
    border: 1px solid #b2664f1a
}

@media (min-width: 768px) {
    .autor-profil .fach-karte {
        transition-property: transform, box-shadow;
        transition-duration: .55s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }

    .autor-profil .fach-karte:hover {
        transform: translateY(-4px);
        box-shadow: 1px 8px 40px -2px #b2664f21 1px 12px 60px -2px #b2664f2e
    }
}

.autor-profil .karten-titel {
    font-size: 32px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 16px;
    font-weight: 600;
    position: relative;
    padding-left: 16px
}

.autor-profil .karten-titel::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #B2664F;
    border-radius: 40px
}

.autor-profil .karten-text {
    font-size: 16px;
    line-height: 1.65;
    color: #3a3a3a;
    margin: 0
}

.autor-profil .metriken-bereich {
    padding: 96px 16px;
    background: #fff
}

@media (min-width: 768px) {
    .autor-profil .metriken-bereich {
        padding: 96px 32px
    }
}

.autor-profil .metriken-gitter {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    max-width: 1366px;
    margin: 0 auto
}

@media (min-width: 768px) {
    .autor-profil .metriken-gitter {
        grid-template-columns: repeat(3, 1fr);
        gap: 64px
    }
}

.autor-profil .metrik-box {
    text-align: center;
    padding: 32px;
    background: linear-gradient(167deg, #F6F3EE 0%, #fff 100%);
    border-radius: 5px;
    border: 2px solid transparent;
    position: relative
}

@media (min-width: 768px) {
    .autor-profil .metrik-box {
        transition-property: border-color;
        transition-duration: .45s;
        transition-timing-function: ease-in-out
    }

    .autor-profil .metrik-box:hover {
        border-color: #B2664F
    }

    .autor-profil .metrik-box::after {
        content: '';
        position: absolute;
        top: -2px;
        left: -2px;
        right: -2px;
        bottom: -2px;
        border: 2px solid #DCD2B9;
        border-radius: 5px;
        opacity: 0;
        transition-property: opacity;
        transition-duration: .65s;
        transition-timing-function: ease-in-out;
        pointer-events: none
    }

    .autor-profil .metrik-box:hover::after {
        opacity: 1;
        transition-delay: .15s
    }
}

.autor-profil .metrik-zahl {
    font-size: 60px;
    line-height: 1.15;
    color: #B2664F;
    font-weight: 700;
    margin: 0 0 8px;
    display: block
}

.autor-profil .metrik-beschriftung {
    font-size: 16px;
    line-height: 1.4;
    color: #2a2a2a;
    font-weight: 600;
    margin: 0 0 8px;
    display: block
}

.autor-profil .metrik-detail {
    font-size: 16px;
    line-height: 1.65;
    color: #4a4a4a;
    margin: 0
}

.autor-profil .bild-reihe {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 64px 0 0
}

@media (min-width: 768px) {
    .autor-profil .bild-reihe {
        grid-template-columns: repeat(4, 1fr);
        gap: 32px
    }
}

.autor-profil .bild-element {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    border: 2px solid #DCD2B9
}

.autor-profil .kontext-bild {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
    filter: sepia(0.2) saturate(0.85)
}

@media (min-width: 768px) {
    .autor-profil .kontext-bild {
        transition-property: transform, filter;
        transition-duration: .55s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94)
    }

    .autor-profil .bild-element:hover .kontext-bild {
        transform: scale(1.08);
        filter: sepia(0) saturate(1)
    }
}

.autor-profil .bild-filter {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(167deg, #b2664f33 0%, #dcd2b926 100%);
    pointer-events: none
}

@media (min-width: 768px) {
    .autor-profil .bild-filter {
        transition-property: opacity;
        transition-duration: .45s;
        transition-timing-function: ease-in-out
    }

    .autor-profil .bild-element:hover .bild-filter {
        opacity: .5
    }
}

.autor-profil .philosophie-zone {
    padding: 96px 16px;
    background: #2a2a2a;
    color: #F6F3EE
}

@media (min-width: 768px) {
    .autor-profil .philosophie-zone {
        padding: 96px 32px
    }
}

.autor-profil .philosophie-inhalt {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px
}

@media (min-width: 768px) {
    .autor-profil .philosophie-inhalt {
        grid-template-columns: 1fr 1fr;
        gap: 64px
    }
}

.autor-profil .philosophie-titel {
    font-size: 44px;
    line-height: 1.4;
    color: #F6F3EE;
    margin: 0 0 32px;
    font-weight: 600
}

.autor-profil .philosophie-absatz {
    font-size: 16px;
    line-height: 1.85;
    color: #DCD2B9;
    margin: 0 0 32px
}

.autor-profil .philosophie-absatz:last-child {
    margin: 0
}

.autor-profil .zitat-rahmen {
    background: linear-gradient(167deg, #b2664f26 0%, #dcd2b914 100%);
    padding: 32px;
    border-radius: 5px;
    position: relative;
    box-shadow: inset 1px 1px 3px #f6f3ee1a inset -1px -1px 3px #0003
}

.autor-profil .zitat-text {
    font-size: 32px;
    line-height: 1.4;
    color: #F6F3EE;
    margin: 0 0 16px;
    font-weight: 600;
    font-style: italic
}

.autor-profil .zitat-quelle {
    font-size: 16px;
    line-height: 1.4;
    color: #DCD2B9;
    margin: 0
}

.autor-profil .link-inline {
    color: #B2664F;
    text-decoration: underline
}

@media (min-width: 768px) {
    .autor-profil .link-inline {
        transition-property: color, text-decoration-color;
        transition-duration: .45s;
        transition-timing-function: ease-in-out
    }

    .autor-profil .link-inline:hover {
        color: #DCD2B9;
        text-decoration-color: #DCD2B9
    }
}

.autor-profil .link-inline:focus-visible {
    outline: 2px solid #B2664F !important;
    outline-offset: 2px !important;
    border-radius: 5px !important
}

.success-page {
    background: linear-gradient(157deg, #F6F3EE 0%, #DCD2B9 100%);
    padding: 64px 16px;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center
}

.success-page .confirm-wrapper {
    max-width: 680px;
    margin: 0 auto;
    background: #fff;
    padding: 64px 32px;
    border-radius: 5px;
    box-shadow: 1px 8px 40px -2px #b2664f21
}

.success-page .icon-check {
    width: 90px;
    height: 90px;
    margin: 0 auto 32px;
    border-radius: 40px;
    background: linear-gradient(135deg, #B2664F 0%, #DCD2B9 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.success-page .icon-check::after {
    content: '';
    width: 28px;
    height: 48px;
    border-right: 5px solid #fff;
    border-bottom: 5px solid #fff;
    transform: rotate(45deg) translateY(-8px)
}

.success-page .heading-main {
    font-size: 44px;
    line-height: 1.15;
    text-align: center;
    color: #2a2a2a;
    margin: 0 0 16px
}

.success-page .message-text {
    font-size: 16px;
    line-height: 1.65;
    text-align: center;
    color: #4a4a4a;
    margin: 0 0 32px
}

.success-page .detail-block {
    background: #F6F3EE;
    padding: 32px;
    border-radius: 5px;
    margin: 0 0 32px
}

.success-page .detail-block .info-label {
    font-size: 16px;
    line-height: 1.4;
    color: #6a6a6a;
    margin: 0 0 8px
}

.success-page .detail-block .info-value {
    font-size: 16px;
    line-height: 1.4;
    color: #2a2a2a;
    margin: 0 0 16px
}

.success-page .detail-block .info-value:last-child {
    margin: 0
}

.success-page .action-group {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-direction: column
}

.success-page .btn-primary {
    display: inline-block;
    padding: 16px 32px;
    background: #B2664F;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
    transition: background .55s ease-in-out;
    box-shadow: 1px 6px 25px -2px #b2664f1c
}

.success-page .btn-secondary {
    display: inline-block;
    padding: 16px 32px;
    background: transparent;
    color: #B2664F;
    text-decoration: none;
    border-radius: 5px;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
    border: 2px solid #B2664F;
    transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

@media (min-width: 768px) {
    .success-page .confirm-wrapper {
        padding: 96px 64px
    }

    .success-page .heading-main {
        font-size: 60px
    }

    .success-page .action-group {
        flex-direction: row
    }

    .success-page .btn-primary:hover {
        background: #9a5642
    }

    .success-page .btn-secondary:hover {
        background: #B2664F;
        color: #fff
    }
}

@media (min-width: 1024px) {
    .success-page {
        padding: 96px 32px
    }
}