@font-face { font-family:'Jost'; src:url('../../fonts/jost-latin.woff2') format('woff2'); font-style:normal; font-weight:400 700; font-display:swap; }
:root {
 --type-h1:clamp(2rem,3.4vw,3rem);
 --type-h2:clamp(1.65rem,2.5vw,2.15rem);
 --type-h3:clamp(1.2rem,1.7vw,1.4rem);
 --type-body:1.0625rem;
 --type-small:.875rem;
 --space-section:72px;
 --ink:#213e2d; --muted:#5c6856; --leaf:#245b30; --cream:#fffcf6; --line:#dfe6d5;
}
body.site { font-family:'Jost',Arial,sans-serif; font-size:var(--type-body); line-height:1.7; }
/* A single scale overrides the builder's competing Bootstrap display sizes. */
body.site main h1 { font-family:inherit; font-size:var(--type-h1)!important; line-height:1.15!important; letter-spacing:-.03em; font-weight:600; }
body.site main h2 { font-family:inherit; font-size:var(--type-h2)!important; line-height:1.25!important; letter-spacing:-.025em; font-weight:600; }
body.site main h3,body.site main h4,body.site main h5,body.site main h6 { font-family:inherit; font-size:var(--type-h3)!important; line-height:1.35!important; letter-spacing:-.01em; font-weight:600; }
body.site main :is(h1,h2,h3,h4,h5,h6) strong { font-weight:600; line-height:inherit; }
body.site main p,body.site main .mbr-text,body.site main .mbr-section-subtitle { font-family:inherit; font-size:var(--type-body); line-height:1.75; }
body.site main :is(.site-eyebrow,.ebook-eyebrow,.contact-eyebrow,.about-eyebrow) { font-size:.72rem; line-height:1.5; letter-spacing:.14em; font-weight:600; }
body.site main :is(.contact-card h2,.item-title,.ebook-small-card h3,.ebook-benefits h3) { font-size:var(--type-h3)!important; line-height:1.3!important; }
body.site main .item-subtitle { font-size:var(--type-small); line-height:1.6; font-weight:400; letter-spacing:0; }
body.site main :is(.ebook-purchase-note,.home-pill) { font-size:var(--type-small); line-height:1.6; }
body.site main img { height:auto; }
body.site main :is(.ebook-button,.btn) { font-family:inherit; font-size:1rem; font-weight:600; line-height:1.4; padding:14px 22px; min-height:48px; border-radius:10px; }
.site .site-menu-toggle { font-family:inherit; }
.site .site-menu ul a { font-size:1rem; }
.site main .ebook-feature h2 { font-size:var(--type-h2)!important; }
.site .ebook-intro { padding-top:48px; }
.site .ebook-faq summary { font-size:var(--type-body); line-height:1.6; }
.site main .ebook-tags li { font-size:.85rem; line-height:1.5; }
.site main .home-about-copy .site-eyebrow { margin-bottom:16px; }
.site :is(.contact-page,.about-page) { font-size:var(--type-body); }
.home-container { width:calc(100% - 48px); max-width:1160px; margin-left:auto; margin-right:auto; }
.home-page .home-hero { min-height:600px; padding:72px max(24px,calc((100vw - 1160px)/2)); }
.home-page .hero-content { max-width:600px; }
.home-page .hero-content h1 { margin-bottom:24px; }
.home-page .hero-content h1 em { font-family:inherit; font-weight:500; color:#a34e13; position:relative; display:inline-block; white-space:nowrap; }
.hero-content h1 em::after { content:''; position:absolute; height:9px; bottom:0; left:0; right:0; background:#ebc4927a; border-radius:100%; z-index:-1; transform-origin:left; animation:underline-grow .8s .4s both; }
@keyframes underline-grow { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.home-page .hero-content > p:not(.site-eyebrow) { font-size:var(--type-body); max-width:470px; color:var(--muted); line-height:1.8; }
.home-page .hero-actions { margin-top:28px; gap:20px; }
.home-page .hero-scroll { margin-top:36px; font-size:.9rem; }
.home-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-bottom:1px solid var(--line); padding:24px 0; }
.home-paths a { display:flex; align-items:center; gap:14px; padding:10px 24px; color:var(--ink); font-size:.98rem; line-height:1.5; border-right:1px solid var(--line); }
.home-paths a:first-child { padding-left:0; }.home-paths a:last-child { border:0; }
.home-paths a > span:last-child { margin-left:auto; color:#8c9c7f; }
.home-path-number { color:#9e5b29; font-size:.8rem; }
.home-paths a:hover { color:#a34e13; }
.home-section { padding-top:var(--space-section); padding-bottom:var(--space-section); background:transparent; }
.home-page .home-section-heading { display:flex; gap:32px; align-items:flex-end; justify-content:space-between; margin-bottom:30px; }
.home-section-heading > div { max-width:650px; }
.home-section-heading h2 { max-width:600px; margin:0 0 16px; }
.home-section-heading p { color:var(--muted); margin:0; }
.home-section-heading .site-eyebrow { margin-bottom:12px; }
.home-section-heading > a { flex-shrink:0; padding-bottom:4px; font-size:.98rem; line-height:1.5; }
.home-recipes-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.home-recipe-card { min-width:0; }
.home-recipe-photo { border:0; padding:0; display:block; width:100%; position:relative; border-radius:16px; overflow:hidden; background:#e9eedf; cursor:pointer; }
.home-page .home-recipe-photo img { width:100%; height:auto; display:block; aspect-ratio:auto; object-fit:contain; transition:transform .45s cubic-bezier(.2,.65,.35,1); }
.home-photo-zoom { position:absolute; right:12px; bottom:12px; height:34px; width:34px; border-radius:50%; display:grid; place-items:center; background:#fffdf8e8; color:var(--leaf); font-size:1.1rem; transition:transform .2s; }
.home-recipe-copy { padding-top:18px; }
.home-recipe-copy h3 { margin:0 0 8px; }
.home-recipe-copy h3 a { color:var(--ink); font-weight:600; line-height:inherit; }
.home-page .home-recipe-copy p { font-size:.95rem; color:var(--muted); line-height:1.6; margin:0; }
.home-book-section { padding-bottom:0; background:transparent; }
.home-book { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; border-radius:26px; padding:48px; background:linear-gradient(135deg,#ecf1df,#f7f5e7); border:1px solid #e1e7d4; overflow:hidden; }
.home-book-art { position:relative; padding:12px; isolation:isolate; max-width:440px; }
.home-page .home-book-art img { display:block; width:100%; height:auto; border-radius:14px; transform:rotate(-3deg); box-shadow:0 18px 35px #263d2926; transition:transform .45s; }
.home-book-orbit { position:absolute; inset:-10px -16px; border:1px dashed #a7b68f; border-radius:44% 56% 51% 49%; transform:rotate(12deg); z-index:-1; transition:transform .8s; }
.home-book-sticker { position:absolute; bottom:0; right:-16px; width:102px; height:102px; border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; background:#f6bc73; color:#643d17; font-size:.88rem; line-height:1.5; text-align:center; transform:rotate(8deg); box-shadow:0 5px 15px #6e42161a; }
.home-book-sticker strong { font-weight:600; line-height:1.5; }
.home-pill { display:inline-block; border-radius:30px; background:#fffaf0; color:#7a4b1e; padding:7px 12px; margin-bottom:20px; font-weight:600; letter-spacing:.04em; }
.home-book-copy h2 { margin:0 0 20px; }
.home-book-copy > p { color:var(--muted); margin:0 0 22px; }
.home-book-copy strong { color:var(--ink); font-weight:500; }
.home-book-copy .ebook-tags { margin-bottom:24px; }
.home-book-all { display:block; width:fit-content; margin-top:18px; color:var(--leaf); text-decoration:underline; text-underline-offset:4px; font-size:.95rem; line-height:1.6; }
.home-about { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:80px; align-items:center; }
.home-about-image { position:relative; max-width:370px; width:100%; justify-self:center; }
.home-page .home-about-image img { display:block; width:100%; height:auto; border-radius:22px 22px 80px 22px; }
.home-about-image > p { position:absolute; bottom:24px; right:-20px; background:#fffcf6f5; padding:16px 20px; box-shadow:0 5px 24px #213e2d10; border-radius:12px; color:var(--ink); font-size:.9rem!important; line-height:1.6!important; }
.home-about-image strong { font-weight:600; line-height:1.6; }
.home-about-copy h2 { margin:0 0 20px; }
.home-about-copy > p:not(.site-eyebrow) { color:var(--muted); margin:0 0 24px; }
.home-learnings { margin:28px 0; }
.home-learnings > div { display:flex; gap:18px; padding:18px 0; border-top:1px solid var(--line); }
.home-learnings > div > span { flex:0 0 32px; height:32px; display:grid; place-items:center; background:#edf2e3; color:#5a7348; border-radius:50%; font-size:.75rem; }
.home-page .home-learnings h3 { font-size:1.1rem!important; letter-spacing:0; margin:0 0 7px; }
.home-page .home-learnings p { font-size:.98rem; line-height:1.6; margin:0; color:var(--muted); }
.home-contact-section { background:transparent; }
.home-contact { border:1px solid var(--line); border-radius:24px; padding:48px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; background:#f1f4e9; }
.home-contact-copy h2 { margin:0 0 22px; }
.home-contact-copy > p:not(.site-eyebrow) { margin-bottom:24px; color:var(--muted); }
.home-contact-form { align-self:center; min-width:0; }
.home-contact-form form { width:100%; }
.home-contact-form label { display:block; color:var(--ink); font-size:.9rem; line-height:1.5; font-weight:500; margin:0 0 8px; }
.home-contact-form input { background:#fff!important; }
.home-contact-form .form-group { margin-bottom:18px; flex:0 0 100%; max-width:100%; }
.home-contact-form .btn { margin:0; width:100%; background:var(--leaf)!important; border:1px solid var(--leaf)!important; color:#fff!important; white-space:normal; }
.home-contact-form .mbr-section-btn { flex:0 0 100%; max-width:100%; }
.home-social-section { display:flex; gap:32px; align-items:center; justify-content:space-between; padding-top:56px; padding-bottom:56px; background:transparent; }
.home-social-section .site-eyebrow { margin-bottom:10px; }
.home-page .home-social-section h2 { font-size:var(--type-h3)!important; margin:0; }
.home-social-links { display:flex; flex-wrap:wrap; gap:12px; }
.home-social-links a { display:inline-flex; gap:24px; align-items:center; padding:13px 20px; border:1px solid var(--line); border-radius:10px; color:var(--leaf); font-size:.95rem; line-height:1.4; min-height:48px; }
.home-social-links a:hover { background:#edf2e3; }
.home-gallery-dialog { max-width:min(920px,calc(100vw - 32px)); width:fit-content; padding:18px; margin:auto; border:1px solid #dce4d3; border-radius:18px; background:#fffcf6; color:var(--ink); overflow:visible; }
.home-gallery-dialog::backdrop { background:#11291edb; }
.home-gallery-frame { position:relative; }
.home-page .home-gallery-dialog img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100dvh - 180px); object-fit:contain; border-radius:10px; margin:auto; }
.home-gallery-close { position:absolute; top:8px; right:8px; width:44px; height:44px; border:1px solid #cdd9c0; border-radius:50%; background:#fffdf6; color:var(--ink); font-size:1.8rem; line-height:1; cursor:pointer; }
.home-gallery-controls { display:flex; align-items:center; gap:12px; justify-content:space-between; padding-top:14px; }
.home-gallery-controls button { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--leaf); cursor:pointer; font-size:1.25rem; }
.home-gallery-controls p { margin:0; text-align:center; font-size:.9rem!important; }
.reveal-in { animation-delay:var(--reveal-delay,0ms); }
@media (hover:hover) and (pointer:fine) {
 .home-recipe-photo:hover img { transform:scale(1.035); }
 .home-recipe-photo:hover .home-photo-zoom { transform:rotate(45deg); }
 .home-book:hover .home-book-art img { transform:rotate(0); }
 .home-book:hover .home-book-orbit { transform:rotate(32deg); }
 .home-social-links a span[aria-hidden],.ebook-button span[aria-hidden] { transition:transform .2s; }
 .home-social-links a:hover span[aria-hidden],.ebook-button:hover span[aria-hidden] { transform:translateX(3px); }
}
@media (max-width:991px) {
 :root { --space-section:56px; }
 .home-page .home-hero { min-height:560px; padding:56px 28px; }
 .home-paths a { padding:8px 14px; font-size:.9rem; gap:10px; }
 .home-recipes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
 .home-section-heading { flex-direction:column; align-items:flex-start!important; gap:20px!important; }
 .home-book { padding:32px; gap:32px; }
 .home-book-sticker { width:80px; height:80px; font-size:.72rem; right:-12px; }
 .home-about { gap:40px; }
 .home-contact { padding:32px; gap:36px; }
}
@media (max-width:767px) {
 :root { --type-body:1rem; --space-section:44px; }
 .home-container { width:calc(100% - 40px); }
 .home-page .home-hero { min-height:570px; padding:44px 24px; }
 .home-page .hero-content h1 em { white-space:normal; }
 .home-page .hero-actions { align-items:flex-start; }
 .home-page .hero-secondary { align-self:flex-start; text-align:left; }
 .home-paths { grid-template-columns:1fr; padding:12px 0; }
 .home-paths a,.home-paths a:first-child { padding:13px 0; border:0; border-bottom:1px solid var(--line); }
 .home-paths a:last-child { border-bottom:0; }
 .home-recipe-copy { padding-top:14px; }
 .home-book,.home-about,.home-contact { grid-template-columns:1fr; }
 .home-book { padding:28px 24px; gap:36px; }
 .home-book-art { width:100%; max-width:340px; justify-self:center; padding:10px; }
 .home-book-sticker { width:90px; height:90px; font-size:.8rem; right:-10px; }
 .home-about-image { max-width:300px; }
 .home-about-image > p { right:-4px; bottom:14px; }
 .home-about { gap:32px; }
 .home-contact { padding:28px 24px; gap:32px; }
 .home-social-section { align-items:flex-start; flex-direction:column; gap:22px; padding-top:36px; padding-bottom:36px; }
 .home-gallery-dialog { padding:12px; }
 .home-page .home-gallery-dialog img { max-height:calc(100dvh - 160px); }
}
@media (max-width:520px) { .home-recipes-grid { grid-template-columns:1fr; gap:28px; } }
@media (prefers-reduced-motion:reduce) {
 .hero-content h1 em::after { animation:none; }
 .home-book-art img,.home-book-orbit,.home-photo-zoom,.home-recipe-photo img { transition:none; }
 .reveal-in { animation:none!important; opacity:1; transform:none; }
}
/* Ebook 25: supplied cover artwork is the header background, with copy to the right. */
.ebook25-hero { display:flex; align-items:center; justify-content:flex-end; min-height:740px; padding:64px max(32px,calc((100vw - 1160px)/2)); background:#fffcf6 url('../../images/ebook-25-1988x1140.png') center / cover no-repeat; }
.ebook25-hero-copy { width:44%; max-width:520px; padding:36px; background:#fffdf6ed; border:1px solid #e2e8d7; border-radius:20px; }
.ebook25-hero-copy h1 { margin:0 0 24px; }
.ebook25-hero-copy > p:not(.site-eyebrow) { color:#53604d; margin:0 0 28px; }
.ebook25-hero-copy .site-eyebrow { margin:0 0 16px; }
@media (max-width:991px) {
 .ebook25-hero { min-height:0; display:block; padding:380px 24px 32px; background-size:auto 360px; background-position:left top; }
 .ebook25-hero-copy { width:100%; max-width:680px; margin:0 auto; padding:28px; }
}
@media (max-width:640px) {
 .ebook25-hero { padding:340px 16px 24px; background-size:auto 320px; }
 .ebook25-hero-copy { padding:26px 22px; }
}
/* Marmitas feature: decorative particles and a prominent, keyboard-friendly CTA. */
.home-meal-section { padding-top:48px; background:transparent; }
.home-meal-spotlight { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:44px; align-items:center; padding:48px; border-radius:26px; overflow:hidden; background:radial-gradient(ellipse at 90% 20%,#396844 0%,transparent 60%),linear-gradient(135deg,#183f2b,#143422); border:1px solid #355d3b; box-shadow:0 16px 40px #1c3f2610; color:#fffcf3; }
.home-meal-spotlight::after { content:''; position:absolute; z-index:-1; width:360px; height:360px; border:1px solid #c7dc9e21; border-radius:50%; right:-100px; top:-160px; box-shadow:0 0 0 50px #c7dc9e08,0 0 0 100px #c7dc9e05; pointer-events:none; }
.home-meal-copy,.home-meal-visual { position:relative; z-index:1; min-width:0; }
.home-meal-label { display:inline-flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid #d3e7b336; border-radius:30px; font-size:.63rem; letter-spacing:.075em; line-height:1.6; font-weight:500; color:#d8ebbe; margin-bottom:20px; }
.home-meal-label > span { color:#ffbf6e; }
.home-meal-copy h2 { color:#fffdf5; margin:0 0 20px; }
.home-meal-copy h2 em { font-family:inherit; font-weight:500; color:#e0efb9; }
.home-meal-copy > p { margin:0 0 26px; color:#d1dfc8; max-width:490px; }
.home-meal-action-wrap { position:relative; display:inline-flex; isolation:isolate; max-width:100%; }
.home-meal-action-wrap::before { content:''; position:absolute; inset:0; border:1px solid #fac58c; border-radius:12px; z-index:-1; opacity:0; animation:meal-action-ring 3.8s infinite; animation-play-state:paused; pointer-events:none; }
.home-meal-action { position:relative; display:inline-flex; justify-content:center; align-items:center; gap:18px; overflow:hidden; border-radius:11px; padding:16px 20px; min-height:54px; color:#183c27; background:#ffc37b; box-shadow:0 8px 20px #071d2026; font-size:1rem; line-height:1.5; font-weight:600; text-decoration:none; transition:transform .2s,background .2s,box-shadow .2s; }
.home-meal-action > span { position:relative; z-index:1; font-weight:600; line-height:1.5; }
.home-meal-action::before { content:''; position:absolute; z-index:0; top:-30%; left:-40%; width:30%; height:160%; background:linear-gradient(90deg,transparent,#fff8,transparent); transform:translateX(-200%) skewX(-20deg); animation:meal-action-sheen 5s infinite; animation-play-state:paused; pointer-events:none; }
.home-meal-action-arrow { font-size:1.2rem; transition:transform .2s; }
.home-meal-action:hover { background:#ffd19a; color:#153725; transform:translateY(-2px); box-shadow:0 10px 26px #071d2040; }
.home-meal-action:hover .home-meal-action-arrow { transform:translate(2px,-2px); }
.home-meal-action:focus-visible,.home-meal-image-link:focus-visible { outline:3px solid #fff5c5; outline-offset:6px; }
body.site main .home-meal-details { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:18px 0 0; font-size:.8rem; color:#bed2b1; line-height:1.6; }
.home-meal-visual { padding:8px 0; }
.home-meal-image-link { display:block; overflow:hidden; border-radius:18px; transform:rotate(2deg); border:5px solid #ffffff17; background:#fffcf4; box-shadow:0 18px 35px #041e1b30; transition:transform .4s; }
.home-page .home-meal-image-link img { display:block; width:100%; height:auto; object-fit:contain; }
.home-meal-image-link:hover { transform:rotate(0); }
.home-meal-caption { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; width:fit-content; max-width:100%; margin:20px auto 0; color:#d8e6cc; font-size:.83rem; line-height:1.6; text-align:center; }
.home-meal-particles { position:absolute; z-index:0; inset:0; pointer-events:none; overflow:hidden; }
.home-meal-particle { position:absolute; left:var(--x); top:var(--y); width:5px; height:5px; border-radius:50%; background:#d5e88c; opacity:.2; animation:meal-particle-float var(--duration) ease-in-out var(--delay) infinite; animation-play-state:paused; }
.home-meal-particle:nth-child(3n) { width:13px; height:7px; border-radius:0 90% 0 90%; background:#cee99c; }
.home-meal-particle:nth-child(4n) { width:11px; height:11px; background:#ffc176; clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%); border-radius:0; }
.is-in-view .home-meal-particle,.is-in-view .home-meal-action::before,.is-in-view .home-meal-action-wrap::before { animation-play-state:running; }
@keyframes meal-particle-float { 0%,100% { transform:translate3d(0,0,0) rotate(0); opacity:.12; } 50% { transform:translate3d(8px,var(--drift),0) rotate(30deg); opacity:.65; } }
@keyframes meal-action-sheen { 0%,45% { transform:translateX(-200%) skewX(-20deg); } 85%,100% { transform:translateX(650%) skewX(-20deg); } }
@keyframes meal-action-ring { 0%,20% { transform:scale(1); opacity:0; } 30% { opacity:.4; } 65%,100% { transform:scale(1.1,1.4); opacity:0; } }
@media(max-width:991px) { .home-meal-spotlight { padding:34px; gap:32px; } .home-meal-action { padding:15px 16px; gap:12px; } }
@media(max-width:767px) {
 .home-meal-section { padding-top:32px; }
 .home-meal-spotlight { grid-template-columns:1fr; gap:32px; padding:30px 24px; border-radius:20px; }
 .home-meal-copy h2 br { display:none; }
 .home-meal-label { font-size:.58rem; letter-spacing:.045em; }
 .home-meal-copy > p { margin-bottom:24px; }
 .home-meal-action-wrap,.home-meal-action { width:100%; }
 .home-meal-action { gap:12px; font-size:.95rem; padding:15px 12px; }
 .home-meal-visual { padding:4px; }
 .home-meal-particle:nth-child(n+9) { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .home-meal-particle,.home-meal-action::before,.home-meal-action-wrap::before { animation:none!important; }
 .home-meal-action::before,.home-meal-action-wrap::before { display:none; }
 .home-meal-action,.home-meal-image-link,.home-meal-action-arrow { transition:none; }
}
