@font-face{font-family:Cormorant;src:url('assets/Display.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Lora;src:url('assets/Body.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Lora;src:url('assets/BodyBold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--paper:#f6eedb;--ink:#2f2924;--red:#a12d27;--line:#d8c9b2;--muted:#6a5a4c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Lora,serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:Cormorant,serif;font-weight:600;line-height:.98}h1{font-size:clamp(5rem,8.1vw,8.25rem);letter-spacing:-.045em;color:var(--red);margin:29px 0 25px}h1 em,h2 em{font-weight:600}h2{font-size:clamp(2.8rem,4.8vw,4.5rem);letter-spacing:-.025em}h3{font-size:1.8rem;line-height:1.08}.wrap,.masthead{width:min(1280px,calc(100% - 96px));margin-inline:auto}.masthead{padding:25px 0 23px;border-bottom:1px solid var(--red);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-family:Cormorant,serif;font-size:1.85rem;line-height:1.1;color:var(--red);text-decoration:none}.wordmark span{display:block;font-family:Lora,serif;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-top:7px;color:var(--muted)}nav{display:flex;align-items:center;gap:30px;font-size:.9rem}nav a{text-decoration:none}.nav-cta{border-bottom:1px solid var(--red);padding:6px 0;color:var(--red)}.eyebrow{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}.hero{display:grid;grid-template-columns:.86fr 1.14fr;gap:55px;padding-top:65px;padding-bottom:65px;align-items:center}.intro{font-size:1.4rem;line-height:1.5}.hero-description{font-size:1rem;color:var(--muted);max-width:370px;margin:20px 0 28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--red);color:var(--paper);padding:17px 25px;font-size:.95rem;text-decoration:none;transition:background .2s}.button:hover{background:#7c231f}.button span{font:1.35rem Arial,sans-serif}.small{font-size:.78rem;color:var(--muted);margin-top:15px}.hero-photo{padding-top:18px}.hero-photo img{width:100%;height:565px;object-fit:cover;object-position:48% center}.hero-photo figcaption{font-size:.72rem;display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}.book-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.book-facts p{display:flex;align-items:center;justify-content:center;gap:18px;padding:0 18px}.book-facts p+p{border-left:1px solid var(--line)}.book-facts strong{font:600 3.5rem/1 Cormorant,serif;color:var(--red)}.book-facts span{font-size:.8rem;max-width:145px;line-height:1.5}.inside{padding-block:100px}.section-heading{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{color:var(--muted);max-width:450px}.recipes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.recipes img{width:100%;aspect-ratio:1.1;object-fit:cover}.recipe-caption{display:flex;gap:15px;padding-top:20px}.recipe-caption>span{font-size:.85rem;color:var(--red);padding-top:4px}.recipe-caption p{font-size:.82rem;color:var(--muted);margin-top:9px}.chapters{margin-top:65px;border-top:1px solid var(--line);padding-top:30px;display:grid;grid-template-columns:.6fr 1fr;gap:50px}.chapters>.eyebrow{max-width:200px;line-height:1.8}.chapters ol{margin:0;padding-left:27px;display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;font-size:.85rem}.chapters li::marker{color:var(--red);font-size:.75rem}.mulan-section{background:#eee2c9;padding-block:75px}.mulan-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.mulan-grid img{width:100%;aspect-ratio:1.25;object-fit:cover;object-position:55% 45%}.mulan-grid figcaption{font-size:.75rem;margin-top:12px;color:var(--muted)}.mulan-grid h2{margin:20px 0 25px}.mulan-grid p+p{margin-top:17px}.details{padding-block:100px;display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.details h2{margin-top:20px;max-width:400px}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:1rem;font-weight:600;padding-right:25px}.faq p{color:var(--muted);font-size:.92rem;margin-top:16px}.closing{text-align:center;border-top:1px solid var(--red);padding:70px 0 85px}.closing h2{font-size:clamp(4rem,7vw,6.3rem);margin:25px 0 30px;color:var(--red)}footer{border-top:1px solid var(--line);padding-block:30px 40px;display:flex;justify-content:space-between;gap:50px}footer>div{max-width:620px;text-align:right;font-size:.73rem;color:var(--muted)}footer a{color:var(--red)}footer p+ a,footer a+p{display:block;margin-top:8px}.skip{position:absolute;left:20px;top:-70px;background:var(--red);color:white;padding:12px;z-index:2}.skip:focus{top:10px}
@media(max-width:1000px){.wrap,.masthead{width:calc(100% - 56px)}.hero{gap:30px}.hero-photo img{height:520px}.section-heading{gap:45px}.mulan-grid{gap:40px}.details{gap:45px}.book-facts p{gap:12px}.book-facts strong{font-size:3rem}}
@media(max-width:700px){.wrap,.masthead{width:calc(100% - 36px)}.masthead{align-items:flex-start;padding-block:20px}.wordmark{font-size:1.5rem}.wordmark span{font-size:.65rem}nav{gap:16px;font-size:.8rem}nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;gap:25px;padding-top:40px;padding-bottom:35px}h1{font-size:5.8rem;margin-block:22px}h2{font-size:3.25rem}.intro{font-size:1.2rem}.hero-description{max-width:440px}.hero-photo{padding-top:5px}.hero-photo img{height:auto;aspect-ratio:1.2}.hero-photo figcaption{font-size:.68rem}.book-facts{gap:16px;padding:22px 0}.book-facts p{padding:0 8px;display:block;text-align:center}.book-facts strong{display:block;font-size:2.8rem;margin-bottom:8px}.book-facts span{font-size:.72rem}.inside{padding-block:60px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.recipes{grid-template-columns:1fr;gap:32px}.recipes img{aspect-ratio:1.5}.recipe-caption{padding-top:15px}.chapters{grid-template-columns:1fr;gap:24px;margin-top:40px}.chapters>.eyebrow{max-width:none}.chapters ol{grid-template-columns:1fr;gap:12px}.mulan-section{padding-block:45px}.mulan-grid{grid-template-columns:1fr;gap:30px}.mulan-grid img{aspect-ratio:1.5}.details{padding-block:60px;grid-template-columns:1fr;gap:28px}.closing{padding-block:50px 60px}.closing h2{font-size:4.3rem}footer{display:block;padding-block:25px}footer>div{text-align:left;margin-top:20px}.button{min-height:52px;max-width:100%}}

@media(max-width:700px){.masthead{flex-wrap:wrap}.hero>*{min-width:0}h1{font-size:clamp(3rem,22vw,5.8rem)}h2{font-size:clamp(2rem,12vw,3.25rem)}.closing h2{font-size:clamp(2.5rem,17vw,4.3rem)}.book-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.book-facts span{overflow-wrap:anywhere}.hero-photo figcaption{flex-wrap:wrap}.button{white-space:normal}}

/* Motion intentionally runs with either OS motion preference, per project direction. */
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
.hero-copy{animation:entrance .9s both}.hero-photo{animation:entrance 1.1s .15s both}
@keyframes entrance{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.button{transition:background .2s,transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #a12d2726}.button span{transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}
.recipes article img{transition:transform .55s,box-shadow .55s}.recipes article:hover img{transform:translateY(-5px);box-shadow:0 12px 26px #2f29241a}
.faq details[open] p{animation:entrance .35s both}

.hero-book{padding:0 26px}.book-stage{perspective:1200px;padding:25px 20px 35px;display:flex;justify-content:center}
.book-object{position:relative;display:block;width:min(100%,380px);transform-style:preserve-3d;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,-7deg));transition:transform .45s ease;box-shadow:18px 25px 35px #38251530;border-radius:2px 5px 5px 2px;outline-offset:12px}
.hero-book .book-object img{width:100%;height:auto;aspect-ratio:17/24;object-fit:cover;border-radius:2px 5px 5px 2px}
.book-object::before{content:'';position:absolute;inset:3px -8px 3px auto;width:9px;background:repeating-linear-gradient(90deg,#d9ceb9 0 1px,#fff6e6 1px 3px);transform:translateZ(-3px);border-radius:0 3px 3px 0}
.book-sheen{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(100deg,#0003,transparent 4%,#fff3 5%,transparent 8%),radial-gradient(circle at var(--glow-x,35%) var(--glow-y,25%),#fff3,transparent 65%)}
.book-object.is-tracking{transition:transform .08s linear}.hero-book figcaption{margin-top:10px}
@media(max-width:700px){.hero-book{padding:0 12px}.book-stage{padding:20px 14px 28px}.book-object{width:min(100%,320px)}}

html{scroll-padding-top:110px}.purchase-bar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px max(24px,calc((100vw - 1280px)/2));background:var(--red);color:var(--paper);box-shadow:0 3px 15px #2f292415}.purchase-bar>div{display:flex;align-items:center;gap:25px}.purchase-bar>div>span:first-child{font:600 1.6rem Cormorant,serif}.bar-detail{font-size:.75rem}.buy-trigger{display:flex;gap:14px;align-items:center;background:var(--paper);color:var(--red);padding:10px 18px;text-decoration:none;font-size:.88rem;font-weight:600;white-space:nowrap}.buy-trigger span{font-size:.75rem;font-weight:400}.preview-section{padding-block:70px 90px;border-top:1px solid var(--line)}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:827px;margin:0 auto 20px;font-size:.85rem}.reader-toolbar button,.reader-toolbar select{font:inherit;min-height:44px;border:1px solid var(--line);background:#fff9eb;color:var(--ink);padding:8px 14px;border-radius:2px}.reader-toolbar button{cursor:pointer}.reader-toolbar button:disabled{opacity:.4;cursor:default}.reader-canvas{max-width:827px;margin:auto;background:#e7dcc7;box-shadow:0 8px 32px #2f292415}.reader-canvas img{width:100%;height:auto}.reader-status{text-align:center;font-size:.8rem;margin:18px 0;color:var(--muted)}.reader-actions{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;font-size:.85rem;margin-top:28px}.page-transcript{max-width:827px;margin:18px auto}.page-transcript summary{font-size:.85rem}.page-transcript div{white-space:pre-wrap;font-size:1rem;line-height:1.8;margin-top:20px}dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #0004}dialog::backdrop{background:#211b17aa;backdrop-filter:blur(5px)}dialog h2{font-size:3.4rem;margin:24px 0}dialog p{font-size:.95rem}dialog .purchase-price{font:600 3rem Cormorant,serif;color:var(--red);margin-bottom:15px}.purchase-price span{font:400 .85rem Lora,serif}.dialog-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:none;font-size:28px;color:var(--red);cursor:pointer}.checkout-status{padding:20px 0;margin:20px 0;border-block:1px solid var(--line);font-size:.9rem}.checkout-status p{margin-top:8px}body:has(dialog[open]){overflow:hidden}button:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:3px}.skip:focus{z-index:40;position:fixed}
@media(max-width:700px){.purchase-bar{padding:10px 18px;gap:8px}.purchase-bar>div>span:first-child{font-size:1.2rem}.bar-detail{display:none}.buy-trigger{padding:9px 12px;gap:9px;font-size:.8rem}.buy-trigger span{font-size:.7rem}.reader-toolbar{gap:5px;font-size:.72rem}.reader-toolbar button,.reader-toolbar select{padding:8px}.preview-section{padding-block:45px 60px}.reader-actions{gap:22px}dialog{padding:40px 24px 28px}dialog h2{font-size:2.7rem}}

.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}.hero-actions .button{gap:16px;padding:15px 18px}.button-secondary{background:transparent;color:var(--red);border:1px solid var(--red)}.button-secondary:hover{background:#a12d270c;box-shadow:none}
@media(max-width:700px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{justify-content:center}}
