* {
    box-sizing: border-box;
}

html {
    background: #f7f3e8;
}

body {
    margin: 0;
    background: #f7f3e8;
    color: #2f261f;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

img {
    max-width: 100%;
}

.lp-container {
    --lp-width: min(100vw, 800px);
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    background: #fff;
}

.lp-image {
    display: block;
    width: 100%;
    height: auto;
}

.cta-section,
.video-section {
    position: relative;
}

.btn-link {
    position: absolute;
    left: 50%;
    bottom: calc(var(--lp-width) * 0.025);
    z-index: 2;
    display: block;
    width: min(86%, 680px);
    transform: translateX(-50%);
}

.cta-buttons {
    position: absolute;
    left: 50%;
    bottom: calc(var(--lp-width) * 0.025);
    z-index: 2;
    display: grid;
    width: min(86%, 680px);
    gap: calc(var(--lp-width) * 0.0175);
    transform: translateX(-50%);
}

.cta-buttons .btn-link {
    position: static;
    width: 100%;
    transform: none;
}

.btn-link img {
    display: block;
    width: 100%;
    height: auto;
}

.cta-section-2 .cta-buttons,
.cta-section-10 .cta-buttons {
    bottom: calc(var(--lp-width) * 0.275);
}

.cta-section-double .cta-buttons .btn-link:first-child {
    transform: translateY(calc(var(--lp-width) * -1.055));
}

.cta-section-double .cta-buttons .btn-link:nth-child(2) {
    transform: translateY(calc(var(--lp-width) * -0.6875));
}

.cta-section-16 .cta-buttons {
    bottom: calc(var(--lp-width) * 0.275);
    gap: calc(var(--lp-width) * 0.08);
}

.cta-section-16 .cta-buttons .btn-link:first-child {
    transform: translateY(calc(var(--lp-width) * 0.125));
}

.cta-section-16 .cta-buttons .btn-link:nth-child(2) {
    transform: translateY(calc(var(--lp-width) * 0.0625));
}

.cta-section-19 .cta-buttons {
    bottom: calc(34% + var(--lp-width) * 0.0625);
}

.cta-section-19 .cta-buttons .btn-link:nth-child(2) {
    transform: translateY(calc(var(--lp-width) * 0.175));
}

.video-frame {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 2;
    aspect-ratio: 1.15 / 1;
    overflow: hidden;
    background: #000;
}

.lp-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}

.video-section-12 .video-frame {
    left: 0;
    right: 0;
    bottom: 3%;
    aspect-ratio: 4 / 5;
}

.video-section-12 .lp-video {
    object-fit: contain;
    object-position: center center;
}

.standalone-video-section {
    background: #000;
}

.standalone-video {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);
}
