:root {
    --yellow: #f1e400;
    --ink: #151614;
    --paper: #f7f7f0;
    --muted: #66685f;
    --line: #dcded2;
    --white: #fff
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased
}

button,
a,
summary {
    -webkit-tap-highlight-color: transparent
}

a {
    color: inherit;
    text-decoration: none
}

button {
    font: inherit;
    cursor: pointer
}

button:focus-visible,
a:focus-visible,
summary:focus-visible {
    outline: 3px solid #777600;
    outline-offset: 5px
}

button {
    border: 0
}

p {
    line-height: 1.65
}

h1,
h2,
h3,
p {
    margin-top: 0
}

h1,
h2,
h3 {
    font-weight: 600
}

h1 {
    font-size: clamp(44px, 4.5vw, 70px);
    line-height: 1.06;
    letter-spacing: -3.8px;
    margin-bottom: 28px
}

h2 {
    font-size: clamp(34px, 3.4vw, 52px);
    line-height: 1.08;
    letter-spacing: -2.3px;
    margin-bottom: 28px
}

h3 {
    letter-spacing: -.5px
}

::selection {
    background: var(--yellow);
    color: var(--ink)
}

.wrap {
    width: min(1200px, calc(100% - 96px));
    margin-inline: auto
}

.section {
    padding-block: 104px
}

.eyebrow {
    font-size: 16px;
    letter-spacing: 1.8px;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 24px
}

.announcement {
    background: var(--yellow);
    padding: 10px 24px;
    text-align: center;
    font-size: 16px;
    letter-spacing: .15px;
    line-height: 1.6
}

.announcement a {
    font-weight: 700;
    margin-left: 22px
}

.announcement a span {
    margin-left: 8px
}

.header {
    height: 88px;
    background: #000;
    color: white;
    display: flex;
    align-items: center;
    padding: 0 max(48px, calc((100vw - 1200px)/2));
    gap: 32px
}

.logo {
    display: block;
    width: 260px;
    height: 45px;
    flex-shrink: 0;
    overflow: hidden;
    background: #000
}

.logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: center
}

.header nav {
    display: flex;
    gap: 30px;
    margin-left: auto;
    font-size: 16px;
    color: #d5d6cd
}

.header nav a:hover {
    color: var(--yellow)
}

.button {
    background: var(--yellow);
    color: var(--ink);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 20px 25px;
    border-radius: 3px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    transition: transform .18s, background .18s, box-shadow .18s;
    text-align: left
}

.button:hover {
    background: #e3d900;
    transform: translateY(-2px);
    box-shadow: 0 5px 0 #15161415
}

.button span {
    font-size: 23px;
    font-weight: 400;
    line-height: 1
}

.button.small {
    font-size: 16px;
    padding: 14px 18px;
    gap: 25px
}

.hero {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 40px;
    min-height: 740px;
    padding-top: 76px;
    padding-bottom: 70px;
    align-items: center
}

.dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: var(--ink);
    border-radius: 50%;
    margin-right: 7px
}

.hero .eyebrow {
    font-size: 14px;
    letter-spacing: 1.3px
}

.highlight {
    background: linear-gradient(transparent 63%, var(--yellow) 63%, var(--yellow) 94%, transparent 94%);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone
}

.lead {
    color: #56594f;
    font-size: 18px;
    max-width: 500px;
    margin-bottom: 24px
}

.hero-offer {
    display: flex;
    align-items: center;
    gap: 13px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    font-size: 14px;
    color: var(--muted)
}

.hero-offer strong {
    font-size: 50px;
    letter-spacing: -2px;
    color: var(--ink);
    font-weight: 600;
    line-height: 1
}

.hero-offer strong span {
    font-size: 30px
}

.tag {
    font-size: 10px;
    letter-spacing: 1px;
    padding: 7px 9px;
    border: 1px solid var(--ink);
    color: var(--ink);
    transform: rotate(-4deg)
}

.hero .button {
    min-width: 335px
}

.micro {
    font-size: 16px;
    color: var(--muted);
    margin-top: 15px;
    line-height: 1.6
}

.micro span {
    margin: 0 8px
}

.book-stage {
    position: relative;
    height: 575px;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center
}

.orbit {
    position: absolute;
    z-index: -1;
    background: var(--yellow);
    width: 430px;
    height: 430px;
    border-radius: 50%;
    top: 78px;
    left: 10%;
    background-image: radial-gradient(#e0d400 1px, transparent 1px);
    background-size: 10px 10px
}

.book {
    width: 290px;
    position: relative;
    transform: perspective(1300px) rotateY(-13deg) rotateZ(8deg);
    box-shadow: 22px 28px 26px #20201435;
    transition: transform .5s
}

.book:hover {
    transform: perspective(1300px) rotateY(-5deg) rotateZ(4deg)
}

.book:before {
    content: '';
    position: absolute;
    top: 3px;
    left: calc(100% - 1px);
    width: 13px;
    height: calc(100% - 1px);
    background: repeating-linear-gradient(0deg, #c9c9bc 0px, #c9c9bc 1px, #faf9ef 1px, #faf9ef 3px);
    transform: skewY(-12deg);
    transform-origin: left
}

.book img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px 0 0 2px
}

.stage-note {
    position: absolute;
    top: 10px;
    right: 0;
    font-size: 15px;
    line-height: 1.5;
    transform: rotate(5deg);
    color: var(--muted)
}

.book-label {
    position: absolute;
    right: -7px;
    bottom: 72px;
    padding: 18px;
    background: var(--paper);
    border: 1px solid var(--ink);
    transform: rotate(-6deg);
    box-shadow: 5px 5px 0 var(--ink)
}

.book-label b {
    display: block;
    font-size: 15px;
    letter-spacing: -.3px;
    line-height: 1.2
}

.book-label span {
    display: block;
    font-size: 12px;
    line-height: 1.5;
    color: var(--muted);
    margin-top: 6px
}

.stage-number {
    position: absolute;
    bottom: 5px;
    left: 30px;
    font-size: 12px;
    letter-spacing: 2px
}

.facts {
    background: var(--ink);
    color: var(--paper)
}

.facts-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr) 1.1fr;
    min-height: 110px;
    align-items: center
}

.facts-inner>span {
    font-size: 16px;
    color: #c6c8ba;
    display: flex;
    align-items: center;
    gap: 12px;
    border-right: 1px solid #3b3d33;
    padding: 0 24px
}

.facts-inner>span:first-child {
    padding-left: 0
}

.facts-inner b {
    font-size: 36px;
    letter-spacing: -1px;
    font-weight: 400;
    color: var(--yellow)
}

.facts-inner>span.facts-last {
    border: 0;
    color: var(--paper);
    font-size: 15px;
    line-height: 1.6;
    justify-content: space-between;
    padding-right: 0
}

.facts-last span {
    font-size: 30px;
    color: var(--yellow)
}

.problem {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px
}

.problem-copy>p {
    font-size: 16px;
    color: var(--muted)
}

.questions {
    margin-block: 28px;
    border-top: 1px solid var(--line)
}

.questions p {
    font-size: 15px;
    padding: 15px 0;
    margin: 0;
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 18px;
    line-height: 1.5
}

.questions span {
    font-size: 14px;
    color: var(--muted);
    padding-top: 3px
}

.text-link {
    font-size: 16px;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 30px;
    border-bottom: 1px solid var(--ink);
    padding-bottom: 8px;
    margin-top: 14px
}

.content-section {
    background: #eaece2
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 70px;
    margin-bottom: 32px
}

.section-heading h2 {
    margin-bottom: 0
}

.section-heading>p {
    max-width: 300px;
    color: var(--muted);
    font-size: 16px;
    margin-bottom: 3px
}

.chapter-list {
    border-top: 1px solid #b9bdb0
}

.chapter-list article {
    display: grid;
    grid-template-columns: 110px 1fr 50px;
    align-items: center;
    border-bottom: 1px solid #b9bdb0;
    padding: 29px 0;
    gap: 25px
}

.chapter-n {
    font-size: 15px;
    font-family: monospace;
    color: var(--muted)
}

.chapter-list h3 {
    font-size: 23px;
    margin-bottom: 8px
}

.chapter-list p {
    font-size: 16px;
    color: var(--muted);
    margin: 0;
    max-width: 700px
}

.chapter-mark {
    font-size: 30px;
    color: #8c9380;
    justify-self: end
}

.content-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 32px
}

.content-cta>span {
    max-width: 310px;
    font-size: 16px;
    color: var(--muted);
    line-height: 1.6
}

.toolkit {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: center
}

.section-lead {
    font-size: 15px;
    color: var(--muted)
}

.toolkit-art {
    height: 540px;
    position: relative;
    background-image: radial-gradient(#c9cbbb 1px, transparent 1px);
    background-size: 16px 16px
}

.document {
    position: absolute;
    border: 1px solid var(--ink);
    width: 280px;
    height: 370px;
    background: #fff;
    padding: 28px
}

.document.back {
    left: 28px;
    top: 53px;
    transform: rotate(-12deg);
    background: #e9ebdf
}

.document.front {
    left: 100px;
    top: 95px;
    transform: rotate(6deg);
    box-shadow: 13px 13px 0 #171814
}

.doc-label {
    font-size: 7px;
    letter-spacing: 1px;
    font-weight: bold
}

.document h3 {
    font-size: 29px;
    line-height: 1.15;
    margin-top: 27px;
    margin-bottom: 26px
}

.doc-line {
    width: 62%;
    height: 4px;
    background: #cfd1c5;
    margin-bottom: 12px
}

.doc-line.long {
    width: 100%
}

.doc-sign {
    height: 25px;
    width: 60px;
    border-bottom: 2px solid var(--ink);
    transform: rotate(-14deg);
    margin-top: 30px
}

.doc-box {
    margin-top: 25px;
    background: var(--yellow);
    padding: 17px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 10px;
    font-weight: bold
}

.art-badge {
    position: absolute;
    left: 7px;
    bottom: 38px;
    background: var(--yellow);
    border-radius: 50%;
    width: 115px;
    height: 115px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    transform: rotate(-8deg)
}

.tool-list {
    list-style: none;
    padding: 0;
    margin: 28px 0
}

.tool-list li {
    display: flex;
    gap: 15px;
    padding: 18px 0;
    border-top: 1px solid var(--line)
}

.tool-list h3 {
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 5px;
    letter-spacing: -.15px
}

.tool-list p {
    font-size: 16px;
    color: var(--muted);
    margin: 0
}

.check {
    flex-shrink: 0;
    width: 23px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--yellow);
    border-radius: 50%;
    font-size: 13px
}

.audience {
    background: var(--ink);
    color: var(--paper)
}

.audience-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 90px
}

.audience .eyebrow {
    color: var(--yellow)
}

.audience h2 {
    font-size: 46px
}

.audience h2 em {
    font-style: normal;
    color: var(--yellow)
}

.audience-grid>div>p:last-child {
    font-size: 16px;
    color: #a8ad9c;
    max-width: 360px
}

.audience-list article {
    position: relative;
    padding: 0 0 21px 34px;
    margin-bottom: 25px;
    border-bottom: 1px solid #3b3e33
}

.audience-list article:last-child {
    margin-bottom: 0
}

.audience-list article>span {
    position: absolute;
    left: 0;
    font-size: 22px;
    color: var(--yellow);
    top: -4px
}

.audience-list h3 {
    font-size: 20px;
    margin-bottom: 9px
}

.audience-list p {
    font-size: 16px;
    color: #b5baa8;
    margin: 0;
    max-width: 400px
}

.audience-note {
    font-size: 11px;
    color: #b5baa8;
    line-height: 1.7;
    border-top: 1px solid #3b3e33;
    margin-top: 50px;
    padding-top: 24px;
    display: flex;
    gap: 15px;
    align-items: center;
}

.audience-note>span {
    color: var(--yellow);
    font-size: 16px
}

.offer-section {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 110px;
    align-items: center
}

.offer-intro>p:not(.eyebrow) {
    font-size: 16px;
    color: var(--muted);
    max-width: 410px
}

.publisher {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 38px
}

.publisher-icon {
    width: 53px;
    height: 53px;
    background: var(--ink);
    color: white;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 26px
}

.publisher-icon span {
    position: absolute;
    right: 2px;
    top: 1px;
    color: var(--yellow);
    font-size: 15px
}

.publisher b {
    display: block;
    font-size: 16px;
    margin-bottom: 6px
}

.publisher div>span {
    font-size: 13px;
    letter-spacing: .2px;
    color: var(--muted)
}

.offer-card {
    background: #fff;
    border: 1px solid var(--ink);
    padding: 36px;
    box-shadow: 10px 10px 0 var(--yellow);
    position: relative
}

.offer-card:before {
    position: absolute;
    content: '';
    width: 75px;
    height: 7px;
    background: var(--yellow);
    top: -4px;
    left: 36px
}

.offer-kicker {
    font-size: 13px;
    letter-spacing: 1.7px;
    font-weight: 700
}

.offer-card h3 {
    font-size: 29px;
    line-height: 1.1;
    letter-spacing: -1px;
    margin-top: 20px;
    margin-bottom: 15px
}

.offer-card>p {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.5
}

.price {
    padding-block: 25px;
    border-block: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px
}

.price>span {
    font-size: 16px;
    color: var(--muted)
}

.price strong {
    font-size: 86px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -6px
}

.price strong small {
    font-size: 25px;
    letter-spacing: -1px
}

.price strong>span {
    font-size: 56px;
    letter-spacing: -3px
}

.offer-card ul {
    padding: 0;
    list-style: none;
    margin: 26px 0;
    font-size: 12px
}

.offer-card li {
    margin-bottom: 13px;
    padding-left: 23px;
    position: relative;
    line-height: 1.4;
    font-size: 16px;
}

.offer-card li:before {
    content: '✓';
    position: absolute;
    left: 0;
    font-weight: bold
}

.offer-card .button {
    width: 100%;
    font-size: 17px;
    gap: 12px;
    padding: 19px
}

.offer-card p.card-note {
    font-size: 14px;
    text-align: center;
    margin-bottom: 0;
    line-height: 1.7;
    margin-top: 17px
}

.faq {
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: .85fr 1.2fr;
    gap: 90px
}

.faq>div>p:last-child {
    font-size: 16px;
    color: var(--muted)
}

details {
    border-top: 1px solid var(--line);
    padding: 23px 0
}

details:last-child {
    border-bottom: 1px solid var(--line)
}

summary {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    cursor: pointer;
    list-style: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5
}

summary::-webkit-details-marker {
    display: none
}

summary>span {
    font-size: 22px;
    line-height: 1;
    transition: transform .2s;
    font-weight: 400
}

details[open] summary>span {
    transform: rotate(45deg)
}

details p {
    font-size: 16px;
    color: var(--muted);
    padding-right: 22px;
    margin: 17px 0 0
}

.last-call {
    background: var(--yellow);
    padding: 70px 0;
    position: relative;
    overflow: hidden
}

.last-call h2 {
    font-size: 48px;
    position: relative;
    z-index: 1
}

.last-call .eyebrow {
    position: relative;
    z-index: 1;
    font-size: 16px
}

.last-call .button {
    background: var(--ink);
    color: white;
    position: relative;
    z-index: 1
}

.last-call .button:hover {
    background: #34382c
}

.last-arrow {
    position: absolute;
    right: 8%;
    top: 10px;
    font-size: 300px;
    line-height: 1;
    color: #dfd300;
    font-weight: 400
}

footer {
    background: #000;
    color: #fff
}

.footer-inner {
    min-height: 135px;
    display: flex;
    align-items: center;
    gap: 35px
}

.footer-inner p {
    font-size: 13px;
    color: #b6b9ab;
    margin: 0;
    line-height: 1.9
}

.footer-inner p>span {
    font-size: 12px;
    color: #85897b
}

.footer-inner>a:last-child {
    margin-left: auto;
    font-size: 16px;
    color: #c7cabc
}

.mobile-buy {
    display: none
}

dialog {
    background: var(--paper);
    color: var(--ink);
    border: 1px solid var(--ink);
    width: min(520px, calc(100% - 32px));
    padding: 42px;
    border-radius: 5px
}

dialog::backdrop {
    background: #000a;
    backdrop-filter: blur(4px)
}

dialog h2 {
    font-size: 34px;
    margin-top: 22px
}

dialog p {
    font-size: 14px;
    color: var(--muted)
}

dialog .eyebrow {
    font-size: 8px
}

dialog .close {
    position: absolute;
    right: 14px;
    top: 10px;
    background: none;
    font-size: 30px;
    padding: 5px;
    color: var(--ink)
}

.modal-price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-block: 1px solid var(--line);
    padding: 18px 0;
    margin: 22px 0
}

.modal-price span {
    font-size: 12px
}

.modal-price b {
    font-size: 30px;
    letter-spacing: -1px
}

dialog .button {
    width: 100%
}

@media(min-width:1450px) {
    h1 {
        font-size: 70px
    }
    .hero {
        gap: 65px
    }
    .book {
        width: 310px
    }
}

@media(max-width:1100px) {
    .wrap {
        width: calc(100% - 64px)
    }
    .header {
        padding-inline: 32px;
        gap: 22px
    }
    .header nav {
        gap: 20px
    }
    h1 {
        font-size: 52px;
        letter-spacing: -2.8px
    }
    .hero {
        gap: 20px
    }
    .book {
        width: 260px
    }
    .orbit {
        width: 360px;
        height: 360px;
        top: 100px;
        left: 0
    }
    .book-label {
        right: 0
    }
    .hero .eyebrow {
        font-size: 8px
    }
    .problem,
    .toolkit,
    .audience-grid,
    .offer-section,
    .faq {
        gap: 50px
    }
    .document.front {
        left: 70px
    }
    .document {
        width: 250px
    }
    .toolkit-art {
        height: 500px
    }
    .stage-note {
        right: 0
    }
    .audience h2 {
        font-size: 38px
    }
    .facts-inner>span {
        padding-inline: 16px
    }
    .section-heading {
        gap: 40px
    }
    .footer-inner {
        gap: 22px
    }
    .footer-inner .logo {
        width: 150px
    }
}

@media(max-width:800px) {
    .header nav {
        display: none
    }
    .header {
        justify-content: space-between;
        height: 75px
    }
    .wrap {
        width: calc(100% - 48px)
    }
    .announcement {
        font-size: 10px
    }
    .hero {
        padding-top: 54px;
        grid-template-columns: 1fr 0.85fr;
        min-height: 650px
    }
    h1 {
        font-size: 43px;
        letter-spacing: -2.2px
    }
    .hero-copy .lead {
        font-size: 14px
    }
    .book-stage {
        height: 480px
    }
    .orbit {
        width: 280px;
        height: 280px;
        top: 110px;
        left: -5px
    }
    .book {
        width: 210px
    }
    .book-label {
        bottom: 53px;
        right: -5px;
        padding: 12px
    }
    .book-label b {
        font-size: 10px
    }
    .stage-note {
        font-size: 9px
    }
    .hero .button {
        min-width: 0;
        width: 100%;
        font-size: 12px;
        padding: 18px;
        gap: 15px
    }
    .hero-offer strong {
        font-size: 38px
    }
    .tag {
        display: none
    }
    .stage-number {
        left: 0;
        font-size: 8px
    }
    .facts-inner {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
        padding-block: 27px
    }
    .facts-inner>span {
        border: 0;
        padding: 0
    }
    .facts-inner .facts-last {
        font-size: 10px
    }
    .facts-last span {
        margin-right: 20px
    }
    .section {
        padding-block: 76px
    }
    .problem,
    .toolkit,
    .offer-section,
    .faq {
        gap: 35px
    }
    h2 {
        font-size: 35px;
        letter-spacing: -1.8px
    }
    .section-heading {
        gap: 30px
    }
    .section-heading>p {
        font-size: 12px;
        max-width: 235px
    }
    .chapter-list article {
        grid-template-columns: 70px 1fr 20px;
        gap: 20px
    }
    .chapter-list h3 {
        font-size: 20px
    }
    .chapter-list p {
        font-size: 12px
    }
    .content-cta .button {
        font-size: 12px;
        padding: 18px;
        gap: 15px
    }
    .content-cta>span {
        max-width: 220px;
        font-size: 11px
    }
    .document {
        width: 200px;
        height: 330px;
        padding: 23px
    }
    .document.front {
        left: 50px;
        top: 120px
    }
    .document.back {
        left: 5px;
        top: 85px
    }
    .document h3 {
        font-size: 24px
    }
    .doc-label {
        font-size: 6px
    }
    .toolkit-art {
        height: 500px
    }
    .art-badge {
        bottom: 10px;
        width: 90px;
        height: 90px;
        font-size: 13px
    }
    .toolkit .tool-list h3 {
        font-size: 14px
    }
    .audience-grid {
        gap: 35px
    }
    .audience h2 {
        font-size: 33px
    }
    .audience-list h3 {
        font-size: 17px
    }
    .offer-section {
        grid-template-columns: 1fr 1fr
    }
    .offer-card {
        padding: 27px
    }
    .offer-card h3 {
        font-size: 25px
    }
    .offer-card .button {
        font-size: 11px;
        padding: 16px 12px;
        gap: 5px
    }
    .offer-card .button span {
        font-size: 18px
    }
    .faq {
        grid-template-columns: .8fr 1.2fr
    }
    .footer-inner {
        flex-wrap: wrap;
        padding-block: 30px
    }
    .footer-inner>a:last-child {
        margin-left: 0
    }
}

@media(max-width:600px) {
    .announcement {
        padding: 9px 16px;
        font-size: 9px
    }
    .announcement a {
        margin-left: 8px;
        white-space: nowrap
    }
    .header {
        padding-inline: 22px;
        height: 73px;
        gap: 14px
    }
    .header .logo {
        width: 145px;
        height: 32px
    }
    .header .small {
        font-size: 10px;
        padding: 12px;
        gap: 10px
    }
    .header .small span {
        font-size: 17px
    }
    .wrap {
        width: calc(100% - 44px)
    }
    .hero {
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding-top: 42px;
        padding-bottom: 28px;
        align-items: stretch;
        min-height: auto
    }
    .hero .eyebrow {
        font-size: 8px;
        letter-spacing: 1px;
        margin-bottom: 22px
    }
    h1 {
        font-size: 44px;
        letter-spacing: -2.7px;
        line-height: 1.06;
        margin-bottom: 22px
    }
    .lead {
        font-size: 14px;
        line-height: 1.65
    }
    .hero-offer {
        gap: 10px;
        margin-block: 23px 18px
    }
    .hero-offer strong {
        font-size: 44px
    }
    .hero-offer strong span {
        font-size: 30px
    }
    .hero-offer>span:first-child {
        font-size: 12px
    }
    .hero .tag {
        display: block;
        font-size: 7px;
        padding: 6px
    }
    .hero .button {
        width: 100%;
        font-size: 13px;
        padding: 20px 22px
    }
    .hero .micro {
        font-size: 9px
    }
    .book-stage {
        height: 430px;
        margin-top: 14px
    }
    .orbit {
        width: 305px;
        height: 305px;
        left: 50%;
        transform: translateX(-50%);
        top: 56px
    }
    .book {
        width: 219px
    }
    .stage-note {
        right: 0;
        top: 15px;
        font-size: 9px
    }
    .book-label {
        right: 0;
        bottom: 35px;
        padding: 14px
    }
    .book-label b {
        font-size: 11px
    }
    .book-label span {
        font-size: 8px
    }
    .stage-number {
        bottom: 2px;
        left: 0
    }
    .facts-inner {
        gap: 27px 12px;
        padding-block: 25px
    }
    .facts-inner>span {
        font-size: 9px;
        gap: 8px
    }
    .facts-inner b {
        font-size: 31px
    }
    .facts-inner>span.facts-last {
        font-size: 10px
    }
    .facts-last span {
        margin-right: 0;
        font-size: 25px
    }
    .section {
        padding-block: 64px
    }
    h2 {
        font-size: 36px;
        letter-spacing: -1.8px;
        margin-bottom: 24px
    }
    .eyebrow {
        font-size: 8px;
        letter-spacing: 1.5px;
        margin-bottom: 20px
    }
    .problem,
    .toolkit,
    .audience-grid,
    .offer-section,
    .faq {
        display: grid;
        grid-template-columns: 1fr;
        gap: 15px
    }
    .problem-copy>p {
        font-size: 14px
    }
    .questions {
        margin-block: 24px
    }
    .questions p {
        font-size: 12px;
        gap: 13px
    }
    .section-heading {
        display: block;
        margin-bottom: 28px
    }
    .section-heading>p {
        max-width: none;
        font-size: 13px;
        margin-top: 22px
    }
    .chapter-list article {
        grid-template-columns: 46px 1fr;
        gap: 14px;
        padding-block: 23px
    }
    .chapter-n {
        font-size: 11px;
        align-self: start;
        margin-top: 5px
    }
    .chapter-list h3 {
        font-size: 19px;
        line-height: 1.25
    }
    .chapter-list p {
        font-size: 12px
    }
    .chapter-mark {
        display: none
    }
    .content-cta {
        display: block;
        margin-top: 24px
    }
    .content-cta>span {
        display: block;
        max-width: none;
        font-size: 12px;
        margin-bottom: 20px
    }
    .content-cta .button {
        width: 100%;
        font-size: 12px;
        padding: 20px
    }
    .toolkit {
        gap: 26px
    }
    .toolkit-art {
        height: 420px;
        max-width: 380px;
        width: 100%;
        margin: auto;
        grid-row: 2
    }
    .document {
        width: 230px;
        height: 330px
    }
    .document.front {
        left: 80px;
        top: 48px
    }
    .document.back {
        left: 23px;
        top: 28px
    }
    .document h3 {
        font-size: 27px;
        margin-bottom: 22px
    }
    .doc-label {
        font-size: 6px
    }
    .doc-box {
        margin-top: 20px
    }
    .art-badge {
        bottom: 5px;
        width: 95px;
        height: 95px;
        font-size: 13px
    }
    .tool-list {
        margin-bottom: 10px
    }
    .section-lead {
        font-size: 14px
    }
    .tool-list li {
        padding-block: 16px
    }
    .tool-list h3 {
        font-size: 14px
    }
    .audience h2 {
        font-size: 36px
    }
    .audience-grid>div>p:last-child {
        font-size: 13px
    }
    .audience-list {
        margin-top: 18px
    }
    .audience-list h3 {
        font-size: 19px
    }
    .audience-list p {
        font-size: 12px
    }
    .audience-note {
        font-size: 10px;
        margin-top: 30px;
        padding-top: 20px
    }
    .offer-section {
        gap: 32px
    }
    .offer-intro>p:not(.eyebrow) {
        font-size: 14px
    }
    .publisher {
        margin-top: 26px
    }
    .offer-card {
        padding: 29px;
        box-shadow: 7px 7px 0 var(--yellow);
        margin-right: 7px
    }
    .offer-card h3 {
        font-size: 29px
    }
    .price strong {
        font-size: 82px
    }
    .offer-card .button {
        font-size: 12px;
        padding: 19px 16px
    }
    .offer-card ul {
        font-size: 12px
    }
    .faq {
        gap: 12px
    }
    .faq>div>p:last-child {
        font-size: 13px
    }
    .faq-list {
        margin-top: 10px
    }
    summary {
        font-size: 13px
    }
    details {
        padding-block: 20px
    }
    details p {
        font-size: 12px
    }
    .last-call {
        padding-block: 60px
    }
    .last-call h2 {
        font-size: 36px
    }
    .last-call .eyebrow {
        font-size: 8px;
        max-width: 240px
    }
    .last-call .button {
        width: 100%;
        font-size: 13px;
        gap: 15px
    }
    .last-arrow {
        font-size: 240px;
        right: -60px;
        top: 95px;
        opacity: .5
    }
    .footer-inner {
        display: block;
        padding-block: 34px 112px
    }
    .footer-inner .logo {
        width: 150px;
        height: 32px;
        margin-bottom: 22px
    }
    .footer-inner p {
        font-size: 10px
    }
    .footer-inner>a:last-child {
        display: inline-block;
        margin-top: 20px;
        font-size: 11px
    }
    .mobile-buy {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 20;
        background: #151614f5;
        color: var(--paper);
        padding: 13px 20px calc(13px + env(safe-area-inset-bottom));
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        border-top: 1px solid #3f4139;
        backdrop-filter: blur(10px)
    }
    .mobile-buy div {
        display: flex;
        flex-direction: column;
        gap: 3px
    }
    .mobile-buy s {
        font-size: 9px;
        color: #b6b8ab
    }
    .mobile-buy b {
        font-size: 22px;
        letter-spacing: -1px
    }
    .mobile-buy .button {
        padding: 15px 19px;
        font-size: 12px;
        gap: 20px
    }
    dialog {
        padding: 35px 25px
    }
    dialog h2 {
        font-size: 29px
    }
    dialog .eyebrow {
        font-size: 7px
    }
}

@media(max-width:360px) {
    h1 {
        font-size: 39px
    }
    .hero .tag {
        display: none
    }
    .document.front {
        left: 56px
    }
    .document.back {
        left: 5px
    }
    .header .logo {
        width: 127px
    }
    .header .small {
        font-size: 9px
    }
    .mobile-buy {
        padding-inline: 15px
    }
    .mobile-buy .button {
        padding-inline: 14px
    }
    .hero .micro span {
        margin-inline: 4px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }
    *,
    *:before,
    *:after {
        transition: none!important;
        animation: none!important
    }
}

.offer-card h3 {
    font-size: 27px
}

.hero h1 {
    font-size: clamp(44px, 4.5vw, 68px)
}

.hero .eyebrow {
    letter-spacing: 1px
}

@media(max-width:600px) {
    .hero h1 {
        font-size: 44px
    }
    .offer-card h3 {
        font-size: 26px
    }
    .hero .eyebrow {
        font-size: 7px;
        letter-spacing: .8px
    }
}

@media(max-width:360px) {
    .hero h1 {
        font-size: 39px
    }
}