/* Nadine V5 additions. The original site stylesheet remains unchanged. */

/* The new book is visible in the desktop menu and beside the mobile menu. */
.header .nav-menu { gap: 1.2rem; }
.nav-book, .mobile-book-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    overflow: hidden;
    white-space: nowrap;
    padding: .58rem .95rem;
    border: 1px solid #c3a168;
    border-radius: 999px;
    background: linear-gradient(115deg, #f4e6ca, #fff8e8 50%, #e7d0a7);
    color: #56346b;
    font-family: var(--font-body);
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
    box-shadow: 0 3px 12px #b58e4124;
    transition: box-shadow .2s, transform .2s;
    isolation: isolate;
}
.nav-book::after, .mobile-book-link::after {
    content: '';
    position: absolute;
    inset: -80% auto -80% -70%;
    width: 30%;
    background: linear-gradient(90deg, transparent, #ffffffd9, transparent);
    transform: rotate(25deg);
    animation: book-shimmer 7s ease-in-out 2;
    pointer-events: none;
}
.nav-book:hover, .mobile-book-link:hover { color: #452456; box-shadow: 0 4px 18px #b58e4155; transform: translateY(-1px); }
.nav-book[aria-current="page"] { border-color: #765188; box-shadow: 0 0 0 2px #a77be42b; }
.book-spark { font-size: 1.1rem; color: #956813; line-height: 1; }
.mobile-book-link { display: none; }
@keyframes book-shimmer { 0%, 58% { left: -70%; } 76%, 100% { left: 150%; } }
.nav-book:focus-visible, .mobile-book-link:focus-visible, .book-spotlight a:focus-visible,
.release-main a:focus-visible, .release-main video:focus-visible { outline: 3px solid #8457b9; outline-offset: 5px; }

/* One new homepage section, placed between the unchanged hero and introduction. */
.book-spotlight { background: #fff; padding: 4.5rem 0 1rem; }
.spotlight-inner {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 4rem;
    align-items: center;
    padding: 3rem 4rem;
    border: 1px solid #e5d9f3;
    border-radius: var(--radius);
    background: radial-gradient(ellipse at 0% 100%, #e9ddf8, transparent 65%), #faf6ff;
}
.spotlight-art { width: 100%; max-width: 270px; margin: 0 auto; }
.spotlight-art img { width: 100%; height: auto; border-radius: 5px; box-shadow: 12px 18px 26px #36234329; }
.spotlight-label { display: inline-flex; align-items: center; gap: .5rem; color: #77501c; text-transform: uppercase; font-size: .76rem; letter-spacing: .16em; font-weight: 800; margin-bottom: .9rem; }
.spotlight-copy h2 { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.2; margin-bottom: .8rem; }
.spotlight-copy h2 em { color: var(--purple-deep); }
.spotlight-subtitle { font-family: var(--font-display); font-style: italic; color: #6b547e; font-size: 1.15rem; margin-bottom: 1.1rem; }
.spotlight-copy > p:not(.spotlight-subtitle) { max-width: 520px; margin-bottom: 1.5rem; }
.spotlight-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.spotlight-amazon { color: #65408f; font-size: .92rem; font-weight: 800; text-underline-offset: 5px; }

/* A distinct, book-led editorial design for the new page only. */
.release-page { background: #faf7f1; }
.release-main {
    --book-plum: #572d46;
    --book-ink: #342a30;
    --book-body: #685b5e;
    --book-gold: #987444;
    color: var(--book-body);
    overflow: clip;
}
.release-main h1, .release-main h2, .release-main h3 { color: var(--book-ink); }
.release-main section { padding: 6rem 0; }
.release-kicker { display: block; color: #86633a; font-size: .73rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; line-height: 1.7; }
.release-main .release-opening { padding: 5rem 0 4rem; position: relative; background: radial-gradient(ellipse at 100% 0%, #eadbe4a6, transparent 55%), #faf7f1; }
.release-opening-grid { display: grid; grid-template-columns: 1.18fr 1fr; align-items: center; gap: 4rem; }
.release-opening h1 { font-size: clamp(3.1rem, 5.1vw, 4.9rem); line-height: 1.07; font-weight: 400; letter-spacing: -.035em; margin: 1.25rem 0 1rem; }
.release-opening h1 em { color: var(--book-plum); display: block; }
.release-subtitle { font-family: var(--font-display); font-size: 1.2rem; margin-bottom: 1.2rem; color: #745a68; }
.release-author { text-transform: uppercase; letter-spacing: .16em; font-size: .73rem; font-weight: 800; color: #73565e; margin-bottom: 1.5rem; }
.release-description { max-width: 460px; font-size: 1.05rem; line-height: 1.85; }
.release-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.1rem 1.75rem; margin-top: 2rem; }
.release-buy {
    display: inline-flex; align-items: center; justify-content: center; gap: 1.25rem;
    padding: .9rem 1.5rem; border: 1px solid var(--book-plum); background: var(--book-plum);
    color: #fffaf3; text-decoration: none; font-weight: 700; font-size: .94rem;
    border-radius: 4px; transition: background .2s, transform .2s;
}
.release-buy:hover { background: #743f5d; transform: translateY(-2px); }
.release-watch { display: inline-flex; align-items: center; gap: .65rem; color: var(--book-plum); text-decoration: none; font-size: .9rem; font-weight: 700; }
.release-watch svg { width: 30px; height: 30px; }
.release-watch:hover { text-decoration: underline; text-underline-offset: 5px; }
.release-cover-stage { position: relative; display: grid; place-items: center; min-height: 550px; }
.release-cover-stage::before { content: ''; position: absolute; width: 400px; height: 490px; max-width: 100%; border-radius: 48% 48% 0 0; background: #eaded4; bottom: 25px; }
.release-cover-stage::after { content: ''; position: absolute; width: 430px; height: 520px; max-width: 108%; border: 1px solid #b89c7666; border-radius: 48% 48% 0 0; bottom: 10px; transform: rotate(8deg); }
.release-cover { position: relative; z-index: 1; width: 295px; max-width: 72%; height: auto; transform: rotate(-6deg); box-shadow: 16px 20px 25px #3b293b38, 2px 0 2px #fff; border-radius: 2px 5px 5px 2px; }
.release-edition-note { position: absolute; z-index: 2; right: 0; bottom: 4px; padding: 1.1rem; background: #faf7f1; color: #745a68; font: italic 1rem var(--font-display); }
.release-intro-note { margin-top: 3rem; display: flex; justify-content: space-between; align-items: center; padding-top: 1.5rem; border-top: 1px solid #d7c8bc; font-size: .74rem; letter-spacing: .13em; color: #7c675b; text-transform: uppercase; gap: 1rem; }
.release-main .release-quote { padding: 4.5rem 0; background: #efe5ea; text-align: center; }
.release-quote blockquote { font-family: var(--font-display); font-style: italic; color: var(--book-plum); font-size: clamp(1.8rem, 3.3vw, 2.85rem); line-height: 1.45; max-width: 850px; margin: 0 auto 1.5rem; }
.release-quote cite { font-style: normal; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: #795366; }
.release-story { scroll-margin-top: 110px; }
.release-story-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 5rem; align-items: center; }
.release-film { max-width: 310px; margin: 0 auto; width: 100%; }
.release-film video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: contain; background: #412b2d; border-radius: 120px 120px 5px 5px; box-shadow: 0 22px 44px #573b2c20; }
.release-film figcaption { text-align: center; color: #7f6964; margin-top: 1.1rem; font-size: .72rem; letter-spacing: .08em; }
.release-story-copy h2 { font-size: clamp(2rem, 3.3vw, 3.2rem); line-height: 1.2; font-weight: 400; margin: 1rem 0 1.5rem; }
.release-story-copy h2 em { color: var(--book-plum); }
.release-story-copy p { margin-bottom: 1.15rem; max-width: 540px; }
.release-story-copy .release-personal-quote { padding-top: 1rem; margin-top: 1.8rem; border-top: 1px solid #d7c8bc; font: italic 1.25rem/1.7 var(--font-display); color: var(--book-plum); }
.release-personal-quote cite { display: block; font: 700 .7rem/1.8 var(--font-body); letter-spacing: .12em; margin-top: .75rem; text-transform: uppercase; }
.release-main .release-reading { padding: 4.5rem 0 5.5rem; border-top: 1px solid #e8ddd3; }
.release-reading-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2.8rem; }
.release-reading-head h2 { font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 400; margin-top: .8rem; }
.release-reading-head > p { max-width: 340px; font-size: .95rem; }
.release-themes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; }
.release-theme { border-top: 1px solid #b59d89; padding-top: 1.4rem; }
.release-theme .theme-number { font-family: var(--font-display); font-size: 1.8rem; color: #ac8772; }
.release-theme h3 { font-size: 1.45rem; font-weight: 400; margin: .75rem 0; }
.release-theme p { font-size: .94rem; }
.release-main .release-finale { padding: 4.5rem 0; background: #572d46; color: #e8d4de; }
.release-finale-inner { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 3rem; align-items: center; }
.release-finale img { max-width: 140px; width: 100%; height: auto; transform: rotate(-4deg); box-shadow: 10px 12px 20px #24111c55; }
.release-finale h2 { color: #fff8ed; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 400; line-height: 1.2; margin: .7rem 0 1rem; }
.release-finale .release-kicker { color: #ddbf8c; }
.release-finale p { font-size: .94rem; max-width: 430px; }
.release-finale .release-buy { background: #f6ecd9; color: #572d46; border-color: #f6ecd9; white-space: nowrap; }
.release-finale .release-buy:hover { background: #fff; }
.release-back { display: block; margin-top: 1rem; color: #eadbe3; text-align: center; font-size: .8rem; text-underline-offset: 5px; }

@media (max-width: 1120px) {
    .header .menu-toggle { display: flex; }
    .header nav { display: flex; align-items: center; gap: .8rem; }
    .header .nav-menu { position: absolute; top: 100%; left: 0; right: 0; background: var(--white); flex-direction: column; align-items: stretch; gap: 0; padding: .5rem 0 1rem; box-shadow: 0 18px 30px #2a1f3d26; display: none; max-height: calc(100dvh - 80px); overflow-y: auto; }
    .header .nav-menu.open { display: flex; }
    .header .nav-menu li { text-align: center; }
    .header .nav-link { display: block; padding: .8rem 0; border-bottom: none; }
    .header .nav-book { display: inline-flex; padding: .65rem 1.6rem; margin: .4rem auto; }
    .header .nav-cta { margin: .8rem auto 0; }
    .mobile-book-link { display: inline-flex; }
    .spotlight-inner { grid-template-columns: 240px minmax(0, 1fr); padding: 2.5rem; gap: 2.5rem; }
    .release-opening-grid { gap: 2rem; }
    .release-cover-stage { min-height: 490px; }
    .release-cover-stage::before { height: 420px; }
    .release-cover-stage::after { height: 450px; }
    .release-story-grid { gap: 3rem; }
    .release-finale-inner { grid-template-columns: 120px minmax(0, 1fr); gap: 2.5rem; }
    .release-finale-actions { grid-column: 2; justify-self: start; }
}
@media (max-width: 760px) {
    .header .brand { gap: .45rem; }
    .header .brand img { width: 39px; height: 39px; }
    .header .brand-name { font-size: .92rem; }
    .header .brand-name span { font-size: .56rem; letter-spacing: .08em; margin-top: .25rem; }
    .header nav { gap: .35rem; }
    .mobile-book-link { padding: .45rem .65rem; font-size: .71rem; gap: .25rem; }
    .mobile-book-link .book-spark { font-size: .85rem; }
    .header .menu-toggle { padding: 6px; }
    .header .menu-toggle span { width: 22px; }
    .book-spotlight { padding: 3rem 0 0; }
    .spotlight-inner { grid-template-columns: 1fr; padding: 2rem 1.5rem; gap: 2rem; }
    .spotlight-art { max-width: 215px; }
    .spotlight-copy { text-align: center; }
    .spotlight-copy h2 { font-size: 2rem; }
    .spotlight-actions { justify-content: center; }
    .spotlight-copy > p:not(.spotlight-subtitle) { font-size: .96rem; }
    .release-main section { padding: 3.5rem 0; }
    .release-main .release-opening { padding: 3rem 0 2rem; }
    .release-opening-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .release-opening-copy { text-align: center; }
    .release-opening h1 { font-size: clamp(3rem, 10vw, 4.5rem); }
    .release-description { margin-inline: auto; }
    .release-subtitle { font-size: 1.1rem; }
    .release-actions { justify-content: center; }
    .release-cover-stage { min-height: 460px; max-width: 380px; width: 100%; margin: 0 auto; }
    .release-cover { width: 250px; }
    .release-cover-stage::before { width: 310px; height: 390px; }
    .release-cover-stage::after { width: 325px; height: 420px; max-width: 95%; }
    .release-edition-note { right: 10px; font-size: .9rem; }
    .release-intro-note { justify-content: center; flex-wrap: wrap; text-align: center; margin-top: 2rem; font-size: .65rem; gap: .6rem 1.5rem; }
    .release-main .release-quote { padding: 3rem 0; }
    .release-quote blockquote { font-size: 1.9rem; }
    .release-story-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .release-story-copy { order: -1; }
    .release-story-copy h2 { font-size: 2.4rem; }
    .release-film { max-width: 280px; }
    .release-reading-head { display: block; margin-bottom: 2rem; }
    .release-reading-head > p { margin-top: 1rem; max-width: 100%; }
    .release-themes { grid-template-columns: 1fr; gap: 2rem; }
    .release-theme { display: grid; grid-template-columns: 42px 1fr; column-gap: 1rem; }
    .release-theme .theme-number { grid-row: span 2; }
    .release-theme h3 { margin-top: .25rem; }
    .release-theme p { grid-column: 2; }
    .release-finale-inner { grid-template-columns: 1fr; gap: 2rem; text-align: center; }
    .release-finale img { margin: 0 auto; max-width: 120px; }
    .release-finale p { margin-inline: auto; }
    .release-finale-actions { grid-column: auto; justify-self: center; }
}
@media (max-width: 350px) {
    .header .brand img { width: 30px; height: 30px; }
    .header .brand-name { font-size: .8rem; }
    .header .brand-name span { font-size: .5rem; }
    .mobile-book-link { font-size: .65rem; padding: .4rem .5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .nav-book::after, .mobile-book-link::after { animation: none; display: none; }
    .nav-book, .mobile-book-link, .release-buy { transition: none; }
}
