/* =========================================
   FOOD MOOD — GLOBAL STYLES
========================================= */

:root {
    --sky-blue: #8edbff;
    --light-sky: #ddf7ff;
    --light-green: #aee88b;
    --grass-green: #7fd46a;
    --pink: #ff4f88;
    --yellow: #ffd84d;
    --dark-blue: #0a3d62;
    --white: #ffffff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

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

body {
    font-family: "Fredoka", Arial, sans-serif;
    background: #fffdf8;
    color: #203747;
}

img {
    max-width: 100%;
    display: block;
}

a {
    font-family: inherit;
}

h1 {
    font-size: 52px;
    line-height: 1;
    color: #FF4F88;
    text-shadow: 3px 3px white;
    margin-bottom: 18px;
}

h2 {
    color: #0A3D62;
    font-size: 18px;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

main p,
.section p,
.faq-item p {
    font-size: 20px;
    color: #234;
    line-height: 1.6;
    max-width: 650px;
    margin: auto;
}

.btn {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 15px auto;
    padding: 18px;
    text-decoration: none;
    font-size: 24px;
    font-weight: bold;
    border-radius: 50px;
    box-shadow: 0 4px 14px rgba(10, 61, 98, 0.12);
    transition: transform 250ms ease, box-shadow 250ms ease, background 250ms ease, border-color 250ms ease, color 250ms ease;
}

.btn:hover,
.btn:focus-visible {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 10px 24px rgba(10, 61, 98, 0.2);
}

.buy {
    background: #FF5A92;
    color: white;
}

.buy:hover {
    background: #ff3b7a;
}

.learn {
    background: #7ED957;
    color: white;
}

.learn:hover {
    background: #63c941;
}

.book,
.book-placeholder {
    width: 100%;
    max-width: 280px;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    margin: 20px auto 35px;
    display: block;
}

.book {
    object-fit: cover;
}

.hero .book {
    margin: 0;
}

.why-buy {
    background: linear-gradient(180deg, #FFF9E6, #FFFDF8);
    padding: 44px 20px 48px;
}

.why-buy .section-title {
    margin-bottom: 10px;
}

.why-buy .section-intro {
    margin-bottom: 24px !important;
    font-size: clamp(17px, 2.2vw, 20px) !important;
}

.value-grid {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    max-width: 960px;
    margin: 0 auto;
    padding: 0;
}

.value-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    background: #fff;
    border-radius: 16px;
    padding: 18px 18px 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    border: 2px solid #E8F9E0;
    min-height: 100%;
    transition: transform 250ms ease, box-shadow 250ms ease;
}

.value-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}

.value-card__icon {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 8px;
}

.value-card__title {
    font-size: 17px;
    font-weight: 700;
    color: #0A3D62;
    margin: 0 0 6px;
    line-height: 1.25;
}

.value-card__text {
    font-size: 15px;
    line-height: 1.5;
    color: #456;
    margin: 0 !important;
    max-width: none !important;
}

@media (min-width: 600px) {
    .value-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

@media (min-width: 900px) {
    .why-buy {
        padding: 48px 24px 52px;
    }

    .why-buy .section-intro {
        margin-bottom: 28px !important;
    }

    .value-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }

    .value-card {
        padding: 20px 18px 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .scroll-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .cta-sequence__item {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .btn:hover,
    .btn:focus-visible,
    .value-card:hover,
    .proof-card:hover,
    .faq-item:hover,
    .hero-cover:hover .book {
        transform: none;
    }

    .hero-deco--sun,
    .hero-accent--star,
    .preview-deco--star,
    .preview-deco--cloud,
    .video-deco--star,
    .testimonial-deco-1,
    .author-deco--star,
    .author-deco--cloud,
    .coming-soon-banner__deco{
        animation: none;
        will-change: auto;
    }
}

@media (min-width: 768px) {
    h1 {
        font-size: 80px;
    }

    main p,
    .section p {
        font-size: 24px;
    }

    .hero .btn.buy {
        width: auto;
        max-width: 288px;
    }

    .section .btn,
    .buy-section .btn {
        width: 260px;
    }
}

/* =========================================
   SECTIONS (global)
========================================= */

.section{
    text-align:center;
    padding:60px 20px 70px;
}

.section-title{
    font-size:clamp(28px,5vw,42px);
    color:#0A3D62;
    margin-bottom:14px;
    letter-spacing:0;
}

.section-intro{
    margin-bottom:35px !important;
    color:#456 !important;
}

.section .btn{
    margin-top:10px;
}

/* =========================================
   SITE NAV
========================================= */

.site-nav{
    position:sticky;
    top:0;
    z-index:1000;
    background:#fff;
    box-shadow:0 4px 18px rgba(10,61,98,.1);
}

.site-nav__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    max-width:1180px;
    margin:0 auto;
    padding:12px 20px;
}

.site-nav__logo{
    font-size:clamp(22px,4vw,28px);
    font-weight:700;
    color:#FF4F88;
    text-decoration:none;
    text-shadow:2px 2px #fff;
    line-height:1;
    flex-shrink:0;
}

.site-nav__logo:hover{
    color:#ff3b7a;
}

.site-nav__toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:44px;
    height:44px;
    padding:10px;
    border:2px solid rgba(10,61,98,.12);
    border-radius:14px;
    background:#fffdf8;
    cursor:pointer;
    flex-shrink:0;
}

.site-nav__toggle-bar{
    display:block;
    width:100%;
    height:3px;
    border-radius:999px;
    background:#0A3D62;
    transition:transform .25s, opacity .25s;
}

.site-nav--open .site-nav__toggle-bar:nth-child(1){
    transform:translateY(8px) rotate(45deg);
}

.site-nav--open .site-nav__toggle-bar:nth-child(2){
    opacity:0;
}

.site-nav--open .site-nav__toggle-bar:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
}

.site-nav__menu{
    display:none;
    width:100%;
}

.site-nav__links{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.site-nav__link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 16px;
    border-radius:999px;
    font-size:16px;
    font-weight:600;
    color:#0A3D62;
    text-decoration:none;
    transition:background .2s, color .2s;
}

.site-nav__link:hover{
    background:#EAF8FF;
}

.site-nav__link[aria-current="page"]{
    background:#FFE45E;
    color:#0A3D62;
}

.site-nav__icon{
    font-size:1.05em;
    line-height:1;
}

.site-nav__cta.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    max-width:none;
    margin:12px 0 0;
    padding:14px 20px;
    font-size:18px;
    border-radius:999px;
}

.site-nav__cta.btn[aria-current="page"]{
    box-shadow:0 0 0 3px rgba(255,90,146,.35);
}

body.nav-open{
    overflow:hidden;
}

@media(max-width:899px){

.site-nav__inner{
    flex-wrap:wrap;
}

.site-nav--open .site-nav__menu{
    display:block;
    padding:8px 0 4px;
}

.site-nav--open .site-nav__inner{
    padding-bottom:16px;
}
}

@media(min-width:900px){

.site-nav__toggle{
    display:none;
}

.site-nav__inner{
    flex-wrap:nowrap;
    padding:14px 24px;
}

.site-nav__menu{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    flex:1;
    width:auto;
    margin-left:24px;
}

.site-nav__links{
    flex:1;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:4px;
}

.site-nav__link{
    font-size:15px;
    padding:9px 14px;
}

.site-nav__cta.btn{
    width:auto;
    max-width:none;
    margin:0;
    padding:12px 22px;
    font-size:17px;
    white-space:nowrap;
    flex-shrink:0;
}
}

/* =========================================
   HERO
========================================= */

.hero {
    background: linear-gradient(180deg, #87D9FF, #BCEEFF);
    padding: 40px 20px 56px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero p {
    max-width: none;
}

.hero-deco {
    position: absolute;
    pointer-events: none;
    line-height: 1;
    z-index: 1;
}

.hero-deco--sun {
    top: 12px;
    left: 12px;
    font-size: 52px;
    background: none;
    width: auto;
    height: auto;
    border-radius: 0;
    box-shadow: none;
}

.hero-accent {
    position: absolute;
    pointer-events: none;
    line-height: 1;
    z-index: 1;
    font-size: 18px;
    opacity: 0.45;
}

.hero-accent--star {
    top: 22%;
    right: 8%;
}

.hero-accent--heart {
    bottom: 18%;
    left: 6%;
}

.hero-accent--leaf {
    bottom: 28%;
    right: 12%;
}

.hero-header {
    position: relative;
    z-index: 2;
    margin-bottom: 36px;
}

.hero-header .hero-eyebrow {
    margin: 0 auto 10px;
    max-width: none;
}

.hero-header h1 {
    margin: 0 auto 16px;
}

.hero .hero-eyebrow {
    color: #0A3D62;
    font-size: 18px;
    letter-spacing: 1px;
    font-weight: 600;
}

.hero h1 {
    font-size: 52px;
    line-height: 1;
    color: #FF4F88;
    text-shadow: 3px 3px white;
}

.hero .tagline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #FFE45E;
    color: #003B73;
    padding: 14px 28px;
    border-radius: 40px;
    font-size: clamp(15px, 2.8vw, 22px);
    font-weight: bold;
    line-height: 1.35;
    margin: 0 auto;
    max-width: min(640px, 92vw);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12);
}

.hero-main {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    max-width: 1100px;
    margin: 0 auto;
}

.hero-cover {
    position: relative;
    width: 100%;
    max-width: 330px;
    flex-shrink: 0;
}

.hero-age-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    background: #7ED957;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    padding: 7px 13px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
}

.hero-cover .book {
    width: 100%;
    max-width: none;
    margin: 0;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    object-fit: cover;
    transition: transform 250ms ease, box-shadow 250ms ease;
}

.hero-cover:hover .book {
    transform: rotate(-2deg) translateY(-2px);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.24);
}

.hero-copy {
    width: 100%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero-copy .hero-text {
    margin: 0;
    width: 100%;
    max-width: 400px;
    text-align: left;
    font-size: clamp(17px, 2.5vw, 20px);
    line-height: 1.65;
    color: #234;
}

.hero .hero-copy .btn.buy {
    margin: 26px 0 0;
    width: 100%;
    max-width: 288px;
    padding: 16px 22px;
    font-size: 22px;
    align-self: center;
}

.hero-order-note {
    margin: 10px 0 0 !important;
    max-width: 320px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #567 !important;
    text-align: center;
}

@media (max-width: 767px) {
    .hero {
        padding: 36px 20px 50px;
    }

    .hero-header {
        margin-bottom: 32px;
    }

    .hero-main {
        gap: 28px;
    }

    .hero-cover {
        max-width: 308px;
    }

    .hero-accent--star {
        top: 14%;
        right: 4%;
    }

    .hero-accent--heart {
        bottom: 12%;
        left: 4%;
    }
}

@media (min-width: 768px) {
    .hero {
        padding: 50px 40px 70px;
    }

    .hero h1 {
        font-size: 80px;
    }

    .hero .hero-eyebrow {
        font-size: 26px;
    }

    .hero .tagline {
        font-size: clamp(17px, 2.2vw, 26px);
    }

    .hero-main {
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 68px;
    }

    .hero-cover {
        flex: 0 1 42%;
        max-width: 375px;
    }

    .hero-copy {
        flex: 1;
        max-width: 440px;
        align-items: center;
    }
}

@media (min-width: 992px) {
    .hero-cover {
        max-width: 440px;
    }

    .hero-main {
        gap: 72px;
    }
}

/* =========================================
   BOOK SPREAD / PREVIEW
========================================= */

.preview{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#FFF9E6,#FFFDF8);
}

.preview::before,
.preview::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    opacity:.3;
}

.preview::before{
    width:140px;
    height:140px;
    background:var(--light-green,#aee88b);
    top:-60px;
    right:-40px;
}

.preview::after{
    width:100px;
    height:100px;
    background:var(--pink,#FF4F88);
    bottom:-40px;
    left:-30px;
    opacity:.15;
}

.preview-deco{
    position:absolute;
    font-size:24px;
    opacity:.4;
    pointer-events:none;
    z-index:1;
}

.preview-deco--star{ top:24px; left:8%; }
.preview-deco--cloud{ top:32px; right:10%; }

.preview .section-title,
.preview .section-intro,
.book-spread-label,
.book-spread,
.preview-caption{
    position:relative;
    z-index:2;
}

.book-spread-label{
    display:inline-block;
    margin:0 auto 18px;
    padding:8px 18px;
    background:var(--yellow,#FFE45E);
    color:var(--dark-blue,#0A3D62);
    font-size:14px;
    font-weight:700;
    border-radius:999px;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
}

.book-spread{
    max-width:920px;
    margin:0 auto 20px;
    padding:0 12px;
}

.book-spread__frame{
    background:#fff;
    border-radius:20px;
    border:2px solid rgba(10,61,98,.08);
    box-shadow:0 12px 32px rgba(10,61,98,.12);
    padding:16px;
}

.book-spread__pages{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.book-spread__gutter{
    display:none;
}

.book-spread__page{
    flex:1;
    margin:0;
    line-height:0;
}

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

.preview-caption{
    font-size:15px !important;
    color:#678 !important;
    margin-top:8px !important;
    opacity:.9;
}

/* =========================================
   RECIPE
========================================= */

.recipe{
    position:relative;
    background:linear-gradient(180deg,#EAF8FF,#FFF9E6);
    padding:44px 20px 48px;
}

.recipe-badge{
    display:inline-block;
    margin:0 auto 14px;
    padding:8px 16px;
    background:#7ED957;
    color:#fff;
    font-size:14px;
    font-weight:700;
    border-radius:999px;
    box-shadow:0 4px 12px rgba(0,0,0,.1);
}

.recipe .section-title{
    margin-bottom:10px;
}

.recipe .section-intro{
    margin-bottom:24px !important;
    font-size:clamp(17px,2.2vw,19px) !important;
}

.recipe-card{
    max-width:720px;
    margin:0 auto;
    padding:24px 22px;
    background:#fff;
    border-radius:20px;
    border:2px solid #E8F9E0;
    box-shadow:0 8px 24px rgba(10,61,98,.08);
    text-align:left;
}

.recipe-card__title{
    font-size:clamp(18px,3vw,22px);
    font-weight:700;
    color:#0A3D62;
    margin:0 0 18px;
    text-align:center;
}

.recipe-card__content{
    display:grid;
    gap:20px;
}

.recipe-card__label{
    font-size:16px;
    font-weight:700;
    color:#0A3D62;
    margin:0 0 10px;
}

.recipe-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px;
}

.recipe-list li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:16px;
    line-height:1.45;
    color:#456;
}

.recipe-list__icon{
    flex-shrink:0;
    font-size:18px;
    line-height:1.3;
}

.recipe-directions p{
    margin:0 !important;
    max-width:none !important;
    font-size:16px !important;
    line-height:1.55 !important;
    color:#456 !important;
}

@media(min-width:640px){

.recipe-card{
    padding:28px 32px;
}

.recipe-card__content{
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:start;
}
}

@media(min-width:820px){

.book-spread__pages{
    flex-direction:row;
    align-items:stretch;
    gap:0;
}

.book-spread__gutter{
    display:block;
    flex:0 0 8px;
    background:linear-gradient(180deg,#E8E4DC,#D8D4CC);
    border-radius:2px;
    margin:4px 0;
}

.book-spread__page{
    flex:1 1 50%;
    min-width:0;
}

.book-spread__frame{
    transition:transform .25s ease,box-shadow .25s ease;
}

.book-spread__frame:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 40px rgba(10,61,98,.16);
}

}

@media(prefers-reduced-motion:reduce){

.book-spread__frame{
    transition:none;
}

.book-spread__frame:hover{
    transform:none;
}

.btn,
.value-card,
.proof-card,
.faq-item,
.hero-cover .book{
    transition:none;
}

.hero-deco--sun,
.hero-accent--star,
.preview-deco--star,
.preview-deco--cloud,
.video-deco--star,
.testimonial-deco-1,
.author-deco--star,
.author-deco--cloud,
.coming-soon-banner__deco{
    animation:none;
    will-change:auto;
}

}

/* =========================================
   VIDEO SECTION
========================================= */

.video-section{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,var(--light-sky,#ddf7ff),var(--sky-blue,#87D9FF));
}

.video-section::before,
.video-section::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    opacity:.35;
}

.video-section::before{
    width:160px;
    height:160px;
    background:var(--yellow,#FFD84D);
    top:-70px;
    left:-50px;
}

.video-section::after{
    width:120px;
    height:120px;
    background:var(--light-green,#aee88b);
    bottom:-50px;
    right:-30px;
}

.video-deco{
    position:absolute;
    font-size:26px;
    opacity:.45;
    pointer-events:none;
    z-index:1;
}

.video-deco--star{ top:28px; right:10%; }
.video-deco--heart{ bottom:40px; left:8%; }

.video-section .section-title,
.video-section .section-intro,
.video-frame,
.video-section__cta{
    position:relative;
    z-index:2;
}

.video-frame{
    width:100%;
    max-width:880px;
    margin:0 auto 14px;
    padding:0 4px;
}

.video-frame__inner{
    position:relative;
    width:100%;
    padding-bottom:56.25%;
    border-radius:20px;
    overflow:hidden;
    background:#0A3D62;
    border:4px solid var(--white,#fff);
    box-shadow:0 12px 32px rgba(10,61,98,.15);
}

.video-frame__inner iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

.video-section__cta{
    margin-top:0;
}

.video-section__cta:focus-visible{
    outline:5px solid rgba(10,61,98,.35);
    outline-offset:5px;
}

/* =========================================
   PROOF-CARD TESTIMONIALS
========================================= */

.testimonials{
    position:relative;
    overflow:hidden;
    background:#fff5f9;
}

.testimonials::before,
.testimonials::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    opacity:.35;
}

.testimonials::before{
    width:180px;
    height:180px;
    background:#FFD84D;
    top:-90px;
    right:-50px;
}

.testimonials::after{
    width:140px;
    height:140px;
    background:#7FE37A;
    bottom:-60px;
    left:-40px;
}

.testimonial-deco{
    position:absolute;
    font-size:28px;
    opacity:.5;
    pointer-events:none;
    z-index:1;
}

.testimonial-deco-1{ top:24px; left:8%; }
.testimonial-deco-2{ top:24px; right:8%; }

.testimonials-trust{
    position:relative;
    z-index:1;
    max-width:760px;
    margin:0 auto 36px;
}

.testimonials-stars{
    font-size:clamp(22px,4vw,30px);
    color:#FF4F88;
    letter-spacing:4px;
    margin:0 auto 14px !important;
    max-width:none !important;
}

.testimonials .section-intro{
    margin-bottom:0 !important;
}

.reviews-more{
    margin-top:28px;
}

.btn-secondary{
    background:#fff;
    color:#0A3D62;
    border:2px solid rgba(10,61,98,.2);
    box-shadow:0 4px 12px rgba(0,0,0,.08);
    font-size:20px;
    padding:14px 24px;
    max-width:280px;
}

.btn-secondary:hover,
.btn-secondary:focus-visible{
    background:#F7FBFF;
    border-color:rgba(10,61,98,.35);
    color:#0A3D62;
}

.reviews-page-header{
    background:linear-gradient(180deg,#87D9FF,#BCEEFF);
    padding:40px 20px 48px;
    text-align:center;
}

.reviews-page-header .hero-eyebrow,
.order-page-header .hero-eyebrow{
    color:#0A3D62;
    font-size:18px;
    letter-spacing:1px;
    font-weight:600;
    margin:0 auto 10px;
}

.reviews-page-header h1{
    font-size:clamp(36px,6vw,52px);
    margin-bottom:12px;
    color:#FF4F88;
    text-shadow:3px 3px white;
}

.reviews-page-intro{
    font-size:18px !important;
    color:#456 !important;
    margin:0 auto 24px !important;
    max-width:560px !important;
}

.reviews-group{
    margin-bottom:48px;
}

.reviews-group:last-child{
    margin-bottom:0;
}

.reviews-group__title{
    font-size:clamp(22px,4vw,28px);
    font-weight:600;
    color:#0A3D62;
    text-align:center;
    margin:0 auto 20px;
    max-width:920px;
}

.reviews-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    max-width:920px;
    margin:0 auto;
}

.proof-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border-radius:20px;
    box-shadow:0 6px 20px rgba(0,0,0,.07);
    border:2px solid #F0F0F0;
    overflow:hidden;
    transition:transform 250ms ease, box-shadow 250ms ease;
}

.proof-card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 28px rgba(0,0,0,.11);
}

.proof-card__inner{
    display:flex;
    flex-direction:row;
    align-items:stretch;
    min-height:0;
}

.proof-card__text{
    flex:0 0 68%;
    padding:26px 28px 18px;
    text-align:left;
}

.proof-card__media{
    flex:0 0 32%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px;
    background:#F7F8FA;
    border-left:1px solid #ECEEF2;
}

.proof-card__media img{
    width:100%;
    max-height:260px;
    object-fit:contain;
    border-radius:10px;
    box-shadow:0 2px 10px rgba(0,0,0,.06);
}

.proof-card__name{
    font-size:17px;
    font-weight:700;
    color:#0A3D62;
    margin:0 0 6px !important;
    max-width:none !important;
}

.proof-card__meta{
    font-size:15px;
    font-weight:600;
    color:#567;
    margin:0 0 10px !important;
    max-width:none !important;
}

.proof-card__stars{
    font-size:15px;
    letter-spacing:2px;
    line-height:1;
    margin:0 0 8px !important;
    max-width:none !important;
}

.proof-card__stars--amazon{
    color:#FF9900;
}

.proof-card__stars--goodnightreads{
    color:#B45309;
}

.proof-card__verified{
    font-size:13px;
    font-weight:600;
    color:#C45500;
    margin:0 0 8px !important;
    max-width:none !important;
}

.proof-card__title{
    font-size:16px;
    font-weight:700;
    color:#203747;
    margin:0 0 10px;
    line-height:1.35;
}

.proof-card__quote{
    margin:0;
}

.proof-card__quote p{
    font-size:18px;
    line-height:1.6;
    color:#345;
    margin:0 !important;
    max-width:none !important;
}

.proof-card__footer{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    padding:8px 16px 12px;
    background:#fff;
    border-top:1px solid #F3F4F6;
}

.platform-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:24px;
    padding:0 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.35px;
    line-height:1;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.platform-badge--amazon{
    background:rgba(35,47,62,.88);
    color:rgba(255,255,255,.95);
}

.platform-badge--facebook{
    background:rgba(24,119,242,.85);
    color:rgba(255,255,255,.95);
}

.platform-badge--email{
    background:rgba(255,216,77,.9);
    color:rgba(74,61,0,.92);
}

.platform-badge--goodnightreads{
    background:rgba(120,90,55,.82);
    color:rgba(255,255,255,.95);
}

@media(max-width:768px){

.proof-card__inner{
    flex-direction:column;
}

.proof-card__text{
    flex:none;
    width:100%;
    padding:24px 22px 16px;
}

.proof-card__media{
    flex:none;
    width:100%;
    border-left:none;
    border-top:1px solid #ECEEF2;
    padding:12px 16px 16px;
}

.proof-card__media img{
    max-height:220px;
}

.proof-card__quote p{
    font-size:17px;
}

}

/* =========================================
   MEET THE AUTHOR
========================================= */

.meet-author{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#FFFDF8,#EAF8FF);
}

.meet-author::before,
.meet-author::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    opacity:.25;
}

.meet-author::before{
    width:180px;
    height:180px;
    background:var(--light-green,#aee88b);
    top:-70px;
    right:-50px;
}

.meet-author::after{
    width:130px;
    height:130px;
    background:var(--yellow,#FFD84D);
    bottom:-50px;
    left:-40px;
}

.author-deco{
    position:absolute;
    font-size:24px;
    opacity:.35;
    pointer-events:none;
    z-index:1;
}

.author-deco--leaf{ top:30px; left:6%; }
.author-deco--star{ top:24px; right:8%; }
.author-deco--cloud{ bottom:36px; right:12%; }

.author-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:32px;
    max-width:980px;
    margin:0 auto;
    position:relative;
    z-index:2;
}

.author-portrait-wrap{
    position:relative;
    width:100%;
    max-width:400px;
    flex-shrink:0;
}

.author-portrait-blob{
    position:absolute;
    width:88%;
    height:85%;
    top:8%;
    left:6%;
    background:rgba(255,228,94,.35);
    border-radius:48% 52% 45% 55%;
    z-index:0;
}

.author-portrait{
    position:relative;
    z-index:1;
    margin:0;
    line-height:0;
}

.author-portrait img{
    width:100%;
    height:auto;
    display:block;
    border-radius:20px;
    box-shadow:0 12px 32px rgba(10,61,98,.14);
    object-fit:cover;
    object-position:center top;
}

.author-content{
    width:100%;
    text-align:center;
}

.author-heading{
    font-size:clamp(28px,5vw,42px);
    color:#0A3D62;
    margin:0 0 20px;
    letter-spacing:0;
}

.author-bio{
    text-align:left;
    max-width:560px;
    margin:0 auto;
}

.author-bio p{
    font-size:18px;
    line-height:1.7;
    color:#345;
    margin:0 0 18px;
    max-width:none;
}

.author-bio p:last-child{
    margin-bottom:0;
}

.author-book-title{
    color:#FF4F88;
    font-weight:600;
}

.author-signature{
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid rgba(10,61,98,.08);
    max-width:560px;
}

.author-signature__name{
    font-size:21px;
    font-weight:700;
    color:#0A3D62;
    margin:0 0 4px !important;
    max-width:none !important;
}

.author-signature__role{
    font-size:15px;
    font-weight:600;
    color:#678;
    margin:0 !important;
    max-width:none !important;
}

/* =========================================
   FAQ
========================================= */

.faq{
    background:#fffdf8;
}

.faq-list{
    max-width:580px;
    margin:0 auto;
    text-align:left;
}

.faq-item{
    background:#fff;
    border-radius:20px;
    margin-bottom:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
    border:2px solid #E8F9E0;
    overflow:hidden;
    transition:transform 250ms ease, box-shadow 250ms ease;
}

.faq-item:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 22px rgba(0,0,0,.1);
}

.faq-item summary{
    padding:20px 24px;
    font-size:clamp(18px,2.5vw,20px);
    font-weight:600;
    color:#0A3D62;
    cursor:pointer;
    list-style:none;
}

.faq-item summary::-webkit-details-marker{
    display:none;
}

.faq-item summary::after{
    content:"+";
    float:right;
    font-size:24px;
    color:#FF4F88;
}

.faq-item[open] summary::after{
    content:"−";
}

.faq-item p{
    padding:0 24px 22px;
    margin:0 !important;
    max-width:none;
    font-size:18px;
    color:#456;
}

/* =========================================
   COMING SOON BANNER + BUY
========================================= */

.coming-soon-banner{
    position:relative;
    padding:40px 20px 44px;
    background:linear-gradient(135deg,#FFF0F8 0%,#FFF9E6 45%,#EAF8FF 100%);
}

.coming-soon-banner__deco{
    position:absolute;
    font-size:clamp(16px,3vw,22px);
    opacity:.28;
    line-height:1;
    pointer-events:none;
}

.coming-soon-banner__deco--1{ top:18%; left:10%; }
.coming-soon-banner__deco--2{ top:14%; right:12%; }
.coming-soon-banner__deco--3{ bottom:18%; left:16%; }

.coming-soon-banner__inner{
    position:relative;
    z-index:1;
    max-width:620px;
    margin:0 auto;
    text-align:center;
}

.coming-soon-banner__heading{
    font-size:clamp(24px,4.5vw,34px);
    font-weight:700;
    color:#0A3D62;
    margin:0 0 10px;
    letter-spacing:0;
    line-height:1.25;
}

.coming-soon-banner__subtitle{
    font-size:clamp(18px,3vw,22px);
    font-weight:700;
    color:#FF4F88;
    margin:0 auto 12px !important;
    max-width:540px !important;
}

.coming-soon-banner__body{
    font-size:clamp(16px,2.5vw,18px);
    line-height:1.55;
    color:#456;
    margin:0 auto !important;
    max-width:540px !important;
}

.buy-section{
    background:linear-gradient(180deg,#E8F9E0,#D4F2C8);
}

.buy-section .section-intro{
    margin-bottom:28px !important;
}

.buy-how-it-works{
    margin-top:18px !important;
    max-width:520px !important;
    font-size:15px !important;
    line-height:1.55 !important;
    color:#456 !important;
    opacity:.9;
}

.buy-how-it-works strong{
    color:#0A3D62;
    font-weight:600;
}

.cta-sequence__item{
    opacity:0;
    transition:opacity .7s ease-out, transform .7s ease-out;
}

.cta-sequence__item--btn{
    transform:translateY(24px);
}

html:not(.scroll-reveal-ready) .cta-sequence__item{
    opacity:1;
    transform:none;
    transition:none;
}

.cta-sequence.is-visible .cta-sequence__item--heading{
    opacity:1;
    transition-delay:0ms;
}

.cta-sequence.is-visible .cta-sequence__item--text{
    opacity:1;
    transition-delay:150ms;
}

.cta-sequence.is-visible .cta-sequence__item--btn{
    opacity:1;
    transform:translateY(0);
    transition-delay:300ms;
}

.cta-sequence.is-visible .cta-sequence__item--note{
    opacity:.9;
    transition-delay:450ms;
}

/* =========================================
   RAINBOW CALLOUT
========================================= */

.rainbow-callout{
    padding:20px 16px 24px;
    background:linear-gradient(180deg,#FFFDF8,#EAF8FF);
}

.rainbow-callout__card{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    max-width:850px;
    margin:0 auto;
    padding:18px 18px 16px;
    background:#fff;
    border-radius:24px;
    box-shadow:0 4px 18px rgba(10,61,98,.07);
    border:2px solid rgba(232,249,224,.9);
}

.rainbow-callout__deco{
    position:absolute;
    top:10px;
    right:14px;
    font-size:14px;
    opacity:.22;
    line-height:1;
    pointer-events:none;
}

.rainbow-callout__photo-wrap{
    margin:0;
    flex-shrink:0;
    line-height:0;
}

.rainbow-callout__photo{
    width:100px;
    max-width:100%;
    height:auto;
    border-radius:16px;
    box-shadow:0 4px 12px rgba(10,61,98,.1);
    object-fit:contain;
}

.rainbow-callout__caption{
    margin-top:6px;
    font-size:12px;
    font-weight:600;
    color:#789;
    text-align:center;
    line-height:1.2;
}

.rainbow-callout__text{
    text-align:center;
}

.rainbow-callout__heading{
    font-size:clamp(18px,3.5vw,22px);
    font-weight:700;
    color:#0A3D62;
    margin:0 0 8px;
    letter-spacing:0;
}

.rainbow-callout__body{
    font-size:15px;
    line-height:1.55;
    color:#567;
    margin:0 !important;
    max-width:none !important;
}

@media(min-width:640px){

.rainbow-callout{
    padding:24px 20px 28px;
}

.rainbow-callout__card{
    flex-direction:row;
    align-items:center;
    gap:20px;
    padding:22px 24px;
}

.rainbow-callout__photo{
    width:130px;
    flex-shrink:0;
}

.rainbow-callout__text{
    text-align:left;
    flex:1;
    min-width:0;
}

.rainbow-callout__heading{
    margin-bottom:6px;
}

.rainbow-callout__body{
    font-size:16px;
    line-height:1.5;
}

}

/* =========================================
   FOOTER
========================================= */

.site-footer{
    text-align:center;
    padding:28px 20px 32px;
    background:#0A3D62;
    color:#fff;
}

.footer-copyright,
.footer-author{
    color:rgba(255,255,255,.72);
    max-width:none;
    margin:0 auto;
    font-size:13px;
    line-height:1.5;
}

.footer-copyright{
    margin-bottom:6px;
}

.footer-author{
    margin-bottom:16px;
}

.footer-contact-label{
    color:rgba(255,255,255,.88);
    max-width:none;
    margin:0 auto 8px;
    font-size:15px;
    line-height:1.4;
}

.footer-email{
    max-width:none;
    margin:0 auto;
    font-size:19px;
    line-height:1.3;
}

.footer-email a{
    color:#FFE45E;
    text-decoration:none;
    font-weight:700;
}

.footer-email a:hover{
    text-decoration:underline;
}

/* =========================================
   DECO FLOAT ANIMATIONS
========================================= */

@keyframes deco-float-y{
    from{ transform:translate3d(0,0,0); }
    to{ transform:translate3d(0,-6px,0); }
}

@keyframes deco-float-x{
    from{ transform:translate3d(0,0,0); }
    to{ transform:translate3d(6px,0,0); }
}

@keyframes deco-float-drift{
    from{ transform:translate3d(0,0,0); }
    to{ transform:translate3d(-5px,-7px,0); }
}

@keyframes deco-float-sway{
    from{ transform:translate3d(0,0,0); }
    to{ transform:translate3d(5px,-5px,0); }
}

.hero-deco--sun,
.hero-accent--star,
.preview-deco--star,
.preview-deco--cloud,
.video-deco--star,
.testimonial-deco-1,
.author-deco--star,
.author-deco--cloud,
.coming-soon-banner__deco{
    will-change:transform;
}

.hero-deco--sun{
    animation:deco-float-y 12s ease-in-out infinite alternate;
}

.hero-accent--star{
    animation:deco-float-drift 10s ease-in-out infinite alternate;
}

.preview-deco--star{
    animation:deco-float-sway 9s ease-in-out infinite alternate;
}

.preview-deco--cloud{
    animation:deco-float-x 11s ease-in-out infinite alternate;
}

.video-deco--star{
    animation:deco-float-y 8s ease-in-out infinite alternate;
}

.testimonial-deco-1{
    animation:deco-float-drift 10s ease-in-out infinite alternate;
}

.author-deco--star{
    animation:deco-float-y 9s ease-in-out infinite alternate;
}

.author-deco--cloud{
    animation:deco-float-x 12s ease-in-out infinite alternate;
}

.coming-soon-banner__deco--1{
    animation:deco-float-drift 8s ease-in-out infinite alternate;
}

.coming-soon-banner__deco--2{
    animation:deco-float-y 11s ease-in-out infinite alternate;
}

.coming-soon-banner__deco--3{
    animation:deco-float-sway 10s ease-in-out infinite alternate;
}

/* =========================================
   SCROLL REVEAL
========================================= */

.scroll-reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s ease-out, transform .7s ease-out;
}

html:not(.scroll-reveal-ready) .scroll-reveal{
    opacity:1;
    transform:none;
    transition:none;
}

.scroll-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

/* =========================================
   ORDER PAGE
========================================= */

.visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.order-page-header{
    background:linear-gradient(180deg,#87D9FF,#BCEEFF);
    padding:40px 20px 36px;
    text-align:center;
}

.order-page-header h1{
    font-size:clamp(36px,6vw,52px);
    margin-bottom:10px;
    color:#FF4F88;
    text-shadow:3px 3px white;
}

.order-page-intro{
    font-size:clamp(18px,3vw,22px) !important;
    font-weight:600;
    color:#0A3D62 !important;
    margin:0 auto 10px !important;
    max-width:560px !important;
}

.order-page-subintro{
    font-size:17px !important;
    color:#456 !important;
    line-height:1.55 !important;
    margin:0 auto 20px !important;
    max-width:540px !important;
}

.order-page-back{
    margin:0 auto !important;
}

.order-page-main{
    background:#fffdf8;
}

.order-section{
    padding:36px 20px 48px;
}

.order-form-card,
.order-confirmation{
    max-width:640px;
    margin:0 auto;
    padding:28px 22px 32px;
    background:#fff;
    border-radius:24px;
    box-shadow:0 8px 24px rgba(10,61,98,.08);
    border:2px solid rgba(232,249,224,.6);
}

.order-form{
    text-align:left;
}

.form-row{
    display:grid;
    gap:16px;
    margin-bottom:16px;
}

.form-row--2{
    margin-bottom:0;
}

.form-row--2 .form-group{
    margin-bottom:16px;
}

.form-group{
    margin-bottom:16px;
}

.form-group label{
    display:block;
    font-size:15px;
    font-weight:600;
    color:#0A3D62;
    margin-bottom:6px;
}

.form-required{
    color:#FF5A92;
}

.form-optional{
    font-weight:400;
    color:#789;
    font-size:14px;
}

.form-group input,
.form-group select,
.form-group textarea{
    width:100%;
    padding:12px 14px;
    font-family:inherit;
    font-size:16px;
    border:2px solid rgba(10,61,98,.12);
    border-radius:14px;
    background:#fffdf8;
    color:#234;
    transition:border-color .2s, box-shadow .2s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    outline:none;
    border-color:#87D9FF;
    box-shadow:0 0 0 3px rgba(135,217,255,.35);
}

.form-group textarea{
    min-height:110px;
    resize:vertical;
    line-height:1.5;
}

.form-hint{
    font-size:13px;
    color:#678;
    line-height:1.45;
    margin:8px 0 0 !important;
    max-width:none !important;
}

button.btn{
    cursor:pointer;
    border:none;
    font-family:inherit;
}

.order-form__submit{
    margin:8px auto 0 !important;
    max-width:100%;
}

.order-confirmation{
    text-align:center;
}

.order-confirmation__heading{
    font-size:clamp(28px,5vw,36px);
    color:#0A3D62;
    margin:0 0 16px;
    letter-spacing:0;
}

.order-confirmation__lead{
    font-size:20px !important;
    font-weight:600;
    color:#0A3D62 !important;
    margin:0 auto 14px !important;
    max-width:480px !important;
}

.order-confirmation__lead a{
    color:#FF5A92;
    font-weight:700;
    text-decoration:none;
}

.order-confirmation__lead a:hover{
    text-decoration:underline;
}

.order-confirmation__text{
    font-size:17px !important;
    color:#456 !important;
    margin:0 auto 12px !important;
    max-width:480px !important;
}

.order-confirmation__list{
    list-style:none;
    margin:0 auto 16px;
    padding:0;
    max-width:400px;
    text-align:left;
}

.order-confirmation__list li{
    position:relative;
    padding-left:22px;
    margin-bottom:8px;
    font-size:17px;
    color:#456;
    line-height:1.45;
}

.order-confirmation__list li::before{
    content:"•";
    position:absolute;
    left:0;
    color:#7ED957;
    font-weight:700;
}

.order-confirmation__questions{
    font-size:16px !important;
    font-weight:600;
    color:#0A3D62 !important;
    margin:18px auto 6px !important;
    max-width:none !important;
}

.order-confirmation__email{
    margin:0 auto 24px !important;
    max-width:none !important;
}

.order-confirmation__email a{
    color:#FF5A92;
    font-weight:700;
    font-size:19px;
    text-decoration:none;
}

.order-confirmation__email a:hover{
    text-decoration:underline;
}

@media(min-width:600px){

.form-row--2{
    grid-template-columns:1fr 1fr;
}

.order-form-card,
.order-confirmation{
    padding:32px 36px 36px;
}
}

/* =========================================
   MEDIA QUERIES — AUTHOR
========================================= */

@media(min-width:768px){

.section-title{
    font-size:clamp(28px,5vw,42px);
}

.author-card{
    flex-direction:row;
    align-items:flex-start;
    gap:36px;
}

.author-portrait-wrap{
    flex:0 0 42%;
    max-width:420px;
}

.author-content{
    flex:1;
    text-align:left;
}

.author-heading{
    text-align:left;
}

.author-bio{
    margin:0;
}

.author-signature{
    margin-left:0;
    margin-right:0;
}

}

@media(max-width:600px){

.author-card{
    flex-direction:column;
    align-items:center;
}

.author-content{
    text-align:center;
}

.author-heading{
    text-align:center;
}

.author-bio{
    text-align:left;
}

.author-signature{
    margin-left:auto;
    margin-right:auto;
}

}
