// Body scroll lock when nav is open body.no-scroll { overflow: hidden; } @media (max-width: 930px) { // ---- HEADER ---- body > header { position: fixed; top: 0; left: 0; width: 100%; height: 3.5rem; margin: 0; border-radius: 0; box-sizing: border-box; padding: 1rem var(--padding-body); z-index: 9999; nav { display: flex; align-items: center; position: relative; z-index: 2; .nav-logo { display: block; font-size: 1rem; z-index: 2; } .burger { margin-left: auto; width: 7.125rem; height: 1.25rem; position: relative; display: flex; flex-direction: column; justify-content: space-between; align-items: center; z-index: 2; span { display: block; width: 100%; height: 1px; background-color: #fff; transition: transform 0.3s ease, opacity 0.3s ease; transform-origin: center; } } // Full-screen overlay ul { position: fixed; display: block; top: 0; left: 0; width: 100%; height: 100dvh; background-color: var(--color-blue); flex-direction: column; align-items: flex-start; padding: 6rem var(--padding-body) 2rem; box-sizing: border-box; z-index: 1; opacity: 0; pointer-events: none; transition: opacity 0.3s ease-in-out; li { width: 100%; a { display: block; padding: 0.5rem 0; font-size: 2.5rem; font-weight: 400; } } li:first-child { width: 100%; font-size: 2.5rem; a { font-family: var(--font-narrow); text-transform: uppercase; } } li:not(:first-child) { font-family: var(--font-narrow); font-size: 2rem; text-transform: uppercase; font-weight: 700; } } } // ---- OPEN STATE ---- &.nav-open nav { ul { opacity: 1; pointer-events: all; } .burger span:nth-child(2) { opacity: 0; } .burger span:first-child { transform: translateY(0.55rem) rotate(10deg); } .burger span:last-child { transform: translateY(-0.55rem) rotate(-10deg); } } } // Compensate fixed header main { padding-top: 3.5rem; } section { scroll-margin-top: calc(4.8125rem + 1rem); } // ---- HERO ---- section#hero { height: auto; min-height: 100vh; text-align: center; align-items: center; padding: 4rem var(--padding-body) 3rem; background-position: 74% -44vh; background-size: 96vh; .title { font-size: 4rem; } .subtitle { margin-bottom: 2rem; } #preorder-button { position: static; } } // ---- QUOTES ---- section#quote-full, section#quote { padding: 4rem var(--padding-body); blockquote { font-size: 1.5rem; } } // ---- THE BOOK ---- section#the-book { padding: 4rem var(--padding-body); .summary-wrapper { grid-template-columns: 1fr; gap: 2rem; .title-wrapper .title { font-size: 2.5rem; } } .data-wrapper { flex-wrap: wrap; gap: 1.5rem; justify-content: center; .data { width: 40%; } } .claim-wrapper { grid-template-columns: 1fr; gap: 2rem; img { border-radius: var(--radius-section); } .text .big { font-size: 1.75rem; } } } // ---- EXCERPTS ---- section#excerpts { padding: 4rem var(--padding-body); header .title { font-size: 2.5rem; } .swiper-slide .item { width: 100%; max-width: 20rem; text-align: center; } } // ---- HANDLES ---- section#handles { margin: 3rem var(--padding-body); padding: 0; header { flex-direction: column; align-items: flex-start; gap: 1rem; .title-wrapper .title { font-size: 2.5rem; } .subtitle { margin-right: 0; } } .path { width: 100%; margin-top: 3rem; .step { width: 100%; } .step:nth-child(even) { margin-left: 0; } } } // ---- SYSTEM ---- section#system { flex-direction: column; margin: 3rem var(--padding-body); padding: 0; gap: 3rem; .text { max-width: 100%; height: auto; .title { font-size: 2.5rem; } .bottom { margin-top: 2rem; } } figure { width: 100%; margin: 0; height: auto; } } // ---- EXCERPT (single) ---- section#excerpt { padding: 4rem var(--padding-body); .wrapper { width: 100%; .chapter-title { font-size: 2rem; } } } // ---- AUTHOR ---- section#author { flex-direction: column; padding: 4rem var(--padding-body); align-items: center; img { width: 100%; height: auto; margin-right: 0; margin-bottom: 3rem; } .text { width: 100%; .author-name { font-size: 2.5rem; margin-bottom: 2rem; } } } // ---- BUY ---- section#buy { flex-direction: column; padding: 4rem var(--padding-body); align-items: center; gap: 3rem; .text { width: 100%; margin-left: 0; .title { font-size: 2.5rem; } .buy-links { margin-top: 2.5rem; } } img { width: 100%; height: auto; } } // ---- FOOTER ---- body > footer { padding: 3rem var(--padding-body); header .title { font-size: 2.5rem; } .contact { width: 100%; flex-direction: column; gap: 2rem; margin-top: 3rem; } .legal { width: 100%; margin-top: 3rem; } } }