:root {
    --primary-color: #1A1C22;
    --text-color: #3A3D44;
    --accent-color: #E85D04;
    --divider-color: #E4DDD4;
    --ok-color: #1F7A4D;
    --paper: #F6F3EE;
    --soft: #FFF1E6;
}

body {
    background: var(--paper);
    color: #1A1C22;
}

p,
li {
    color: #3A3D44;
}

h1, h2, h3, h4, h5, h6 {
    color: #1A1C22;
}

.navbar-brand img {
    max-height: 56px;
    width: auto;
}

header.main-header,
header.main-header .header-sticky.active,
.main-footer {
    background: #fff;
}

.section-title h3 {
    color: #8A5A3A;
    font-size: 15px;
    letter-spacing: 0;
}

.section-title h1,
.section-title h2,
.page-header-box h1 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.35;
    letter-spacing: -0.03em;
}

.section-title h1 span,
.section-title h2 span {
    color: #1A1C22;
}

.page-header {
    background: var(--soft);
    padding: 48px 0 28px;
}

.page-header::before {
    display: none;
}

.btn-default {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #fff;
}

.btn-default:hover {
    color: var(--accent-color);
}

.campaign-strip {
    padding: 20px 0;
    background: var(--soft);
}

.campaign-card {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 12px;
    border: 1px solid var(--divider-color);
}

.campaign-card h3,
.campaign-card p {
    text-align: center;
}

.offer {
    background: var(--soft);
    padding: 36px 0 56px;
}

.offer-title {
    margin-bottom: 18px;
}

.offer-kicker {
    margin: 0 0 10px;
    color: #8A5A3A;
    font-weight: 700;
}

.offer h1 {
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.3;
    margin-bottom: 16px;
}

.offer-lead {
    max-width: 640px;
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 12px;
}

.offer-price {
    font-size: 16px;
    font-weight: 700;
    color: #1A1C22;
    margin-bottom: 22px;
}

.offer-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.offer-link {
    color: #1A1C22;
    font-weight: 700;
    border-bottom: 1px solid #1A1C22;
}

.offer-visual {
    min-width: 0;
}

.phone-row {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    max-width: 100%;
    padding: 8px 2px 16px;
}

.store-frame {
    background: #fff;
    border: 10px solid #1A1C22;
    border-radius: 32px;
    overflow: hidden;
    max-width: 340px;
    margin-right: auto;
    box-shadow: 0 22px 48px rgba(26, 28, 34, 0.12);
}

.phone-row .store-frame {
    flex: 0 0 230px;
    max-width: 230px;
    margin: 0;
    scroll-snap-align: start;
}

.store-frame img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: top center;
}

.store-frame figcaption {
    padding: 12px 16px 16px;
    font-weight: 700;
}

.store-frame a {
    color: #1A1C22;
}

.proofs,
.benefits,
.plan-board,
.faq-board,
.store-board,
.journal,
.close-offer {
    padding: 64px 0;
}

.proofs {
    background: #fff;
}

.proof-card,
.benefit-card,
.plan-card,
.faq-board details,
.journal-card {
    background: #fff;
    border: 1px solid var(--divider-color);
    border-radius: 18px;
    height: 100%;
}

.proof-card,
.benefit-card {
    padding: 22px;
}

.proof-card h3,
.benefit-card h3 {
    font-size: 20px;
    margin-bottom: 8px;
}

.proof-card p,
.benefit-card p {
    margin: 0;
}

.benefits {
    background: var(--paper);
}

.benefit-card .mark {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--ok-color);
    font-weight: 700;
}

.plan-board {
    background: var(--soft);
}

.plan-card {
    padding: 28px 22px;
    display: flex;
    flex-direction: column;
    position: relative;
}

.plan-card.is-picked {
    border: 2px solid var(--accent-color);
}

.plan-amount {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    margin: 18px 0 8px;
    color: #1A1C22;
}

.plan-amount strong {
    font-size: 34px;
    line-height: 1;
}

.trial-pill {
    display: inline-block;
    margin: 0 0 18px;
    background: #E7F5EE;
    color: var(--ok-color);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 700;
}

.plan-flag {
    position: static;
    display: inline-block;
    margin-bottom: 12px;
    background: #1A1C22;
    color: #fff;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
}

#plans {
    scroll-margin-top: 96px;
}

.plan-card h3 {
    font-size: 26px;
    margin-bottom: 8px;
}

.plan-card .plan-copy {
    min-height: 48px;
}

.plan-card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 22px;
    flex: 1;
}

.plan-card li {
    display: flex;
    gap: 8px;
    padding: 10px 0;
    border-bottom: 1px solid #F0EBE4;
}

.plan-card li i {
    color: var(--ok-color);
    margin-top: 4px;
}

.plan-note {
    text-align: center;
    margin-top: 28px;
}

.faq-board details {
    padding: 16px 18px;
    margin-bottom: 12px;
}

.faq-board summary {
    cursor: pointer;
    font-weight: 700;
    color: #1A1C22;
}

.faq-board details p {
    margin: 12px 0 0;
}

.store-card {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--divider-color);
    height: 100%;
}

.store-card img {
    width: 72%;
    height: auto;
    margin: 14px auto 0;
    object-fit: contain;
    object-position: top center;
    display: block;
    border: 6px solid #1A1C22;
    border-radius: 22px;
}

.store-card div {
    padding: 16px 18px 20px;
}

.store-card h3 {
    font-size: 22px;
    margin-bottom: 8px;
}

.store-placeholder {
    height: 180px;
    background: var(--soft);
}

.journal-card {
    overflow: hidden;
}

.journal-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.journal-card div {
    padding: 16px 18px 20px;
}

.journal-card p {
    margin-bottom: 8px;
}

.close-offer {
    background: #1A1C22;
    color: #fff;
    text-align: center;
}

.close-offer h2,
.close-offer p {
    color: #fff;
}

.close-offer p {
    max-width: 640px;
    margin: 12px auto 22px;
}

.plan-card .btn-default {
    width: 100%;
    text-align: center;
}

@media (min-width: 992px) {
    #menu > .befor-login,
    #menu > .after-login {
        display: none !important;
    }
}

.works-image img {
    width: 100%;
    height: 520px;
    object-fit: contain;
    object-position: top center;
    background: #F6F3EE;
}

@media (max-width: 991px) {
    .offer .row {
        display: flex;
        flex-direction: column;
    }

    .offer-visual {
        order: -1;
        margin-bottom: 8px;
    }

    .store-frame {
        margin: 0;
    }

    .offer {
        padding-top: 12px;
    }
}
