:root{
–ink:#2A1D14;
–ink-soft:#5A4633;
–wheat:#F6EDD9;
–wheat-deep:#ECDFC2;
–card:#FFFCF4;
–saffron:#D9651F;
–saffron-dark:#AD4E16;
–indigo:#34465C;
–indigo-light:#E5EAF0;
–moss:#54622F;
–moss-light:#E9EEDD;
–tan:#F0E0CB;
–cream-text:#FBF6EC;
–line:rgba(42,29,20,0.14);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:’Karla’,sans-serif;color:var(–ink);background:var(–wheat);line-height:1.6;-webkit-font-smoothing:antialiased;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3{font-family:’Bricolage Grotesque’,sans-serif;margin:0;line-height:1.1;}
:focus-visible{outline:2px solid var(–saffron);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}}
/* —- top strip —- */
.topstrip{background:var(–ink);color:var(–cream-text);font-size:.76rem;}
.topstrip-inner{max-width:1180px;margin:0 auto;padding:.5rem 1.5rem;display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;opacity:.82;}
.topstrip span:not(:last-child)::after{content:’·’;margin-left:.6rem;opacity:.5;}
/* —- navbar —- */
.navbar{background:var(–ink);border-bottom:1px solid rgba(255,255,255,.08);position:relative;}
.navbar-inner{max-width:1180px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;gap:1.5rem;}
.logo{display:flex;align-items:center;gap:.55rem;color:var(–cream-text);flex-shrink:0;}
.logo svg{color:var(–saffron);flex-shrink:0;}
.logo-text{display:flex;flex-direction:column;line-height:1.1;}
.logo-pre{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7;}
.logo-name{font-family:’Bricolage Grotesque’,sans-serif;font-weight:800;font-size:1.3rem;color:var(–saffron);}
.nav-toggle{display:none;background:none;border:none;flex-direction:column;gap:4px;padding:8px;margin-left:auto;}
.nav-toggle span{width:20px;height:2px;background:var(–cream-text);display:block;}
.nav-links{display:flex;align-items:center;gap:1.5rem;margin-left:auto;flex-wrap:wrap;}
.nav-links a{color:var(–cream-text);font-size:.9rem;opacity:.82;transition:opacity .15s;}
.nav-links a:hover{opacity:1;}
.nav-cta{background:var(–saffron)!important;color:var(–cream-text)!important;padding:.6rem 1.15rem;border-radius:999px;font-weight:700;opacity:1!important;transition:background .15s;}
.nav-cta:hover{background:var(–saffron-dark)!important;}
@media (max-width:900px){
.nav-toggle{display:flex;}
.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(–ink);flex-direction:column;align-items:flex-start;padding:1rem 1.5rem 1.5rem;gap:.9rem;border-bottom:1px solid rgba(255,255,255,.08);}
.nav-links.is-open{display:flex;}
.nav-cta{align-self:flex-start;}
}
/* —- hero —- */
.hero{background:var(–ink);color:var(–cream-text);padding:4rem 0 6rem;}
.hero-inner{max-width:1180px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(–saffron);font-weight:700;margin-bottom:1rem;}
.hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:1.1rem;letter-spacing:-.01em;}
.hero h1 em{color:var(–saffron);font-style:normal;}
.hero .lede{font-size:1.05rem;color:rgba(251,246,236,.78);max-width:32rem;margin-bottom:1.8rem;}
.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;}
.btn{padding:.85rem 1.5rem;border-radius:999px;font-weight:700;font-size:.94rem;display:inline-flex;align-items:center;gap:.5rem;transition:transform .15s,background .15s,border-color .15s;}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(–saffron);color:var(–cream-text);}
.btn-primary:hover{background:var(–saffron-dark);}
.btn-secondary{background:transparent;color:var(–cream-text);border:1.5px solid rgba(251,246,236,.38);}
.btn-secondary:hover{border-color:var(–cream-text);}
.hero-media{position:relative;}
/* —- placeholder photo blocks (no real imagery — layout + direction only) —- */
.ph-dark,.ph-light{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;text-align:center;}
.ph-dark{background-image:repeating-linear-gradient(135deg,rgba(251,246,236,.07),rgba(251,246,236,.07) 10px,rgba(251,246,236,.02) 10px,rgba(251,246,236,.02) 20px);border:1px solid rgba(251,246,236,.22);color:rgba(251,246,236,.65);border-radius:20px;padding:1.5rem;}
.ph-light{background-image:repeating-linear-gradient(135deg,var(–wheat-deep),var(–wheat-deep) 10px,var(–card) 10px,var(–card) 20px);border:1px solid var(–line);color:var(–ink-soft);border-radius:14px;padding:1rem;}
.ph-label{font-size:.72rem;line-height:1.4;max-width:13rem;opacity:.85;}
.hero-photo{aspect-ratio:4/5;}
.badge-seal{position:absolute;bottom:-18px;left:-14px;width:100px;height:100px;border-radius:50%;background:var(–cream-text);color:var(–ink);border:3px double var(–saffron);display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-9deg);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.35;padding:.5rem;box-shadow:0 10px 22px rgba(0,0,0,.28);}
@media (max-width:900px){.hero-inner{grid-template-columns:1fr;}.hero-media{order:-1;max-width:340px;margin:0 auto;}}
/* —- filter bar (signature interaction) —- */
.filterbar{background:var(–wheat-deep);padding:1.3rem 0;border-bottom:1px solid var(–line);}
.filter-pills{max-width:1180px;margin:0 auto;padding:0 1.5rem;display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center;}
.pill{background:var(–card);border:1px solid var(–line);color:var(–ink-soft);padding:.5rem 1.1rem;border-radius:999px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;}
.pill:hover{border-color:var(–saffron);}
.pill.is-active{background:var(–ink);color:var(–cream-text);border-color:var(–ink);}
/* —- shared section heads —- */
.section-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(–saffron-dark);font-weight:700;margin-bottom:.5rem;}
.trending .section-kicker{color:var(–saffron);}
.section-head{text-align:center;max-width:36rem;margin:0 auto 2.5rem;}
.section-head h2{font-size:1.85rem;font-weight:800;margin-bottom:.6rem;letter-spacing:-.01em;}
.section-head p{color:var(–ink-soft);}
.trending .section-head p{color:rgba(251,246,236,.7);}
/* —- recipe grid —- */
.recipes{padding:4rem 0 3.5rem;}
.recipes-inner{max-width:1180px;margin:0 auto;padding:0 1.5rem;}
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem;}
.recipe-card{background:var(–card);border:1px solid var(–line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:opacity .25s,transform .25s;}
.recipe-card.is-filtered{opacity:.2;transform:scale(.97);pointer-events:none;}
.card-photo{aspect-ratio:4/3;}
.card-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;flex:1;}
.card-tags{display:flex;gap:.4rem;flex-wrap:wrap;}
.tag{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.25rem .6rem;border-radius:999px;}
.tag-keto,.tag-diabetic{background:var(–indigo-light);color:var(–indigo);}
.tag-glutenfree,.tag-highprotein{background:var(–moss-light);color:var(–moss);}
.tag-sugarfree,.tag-nobake{background:#FBEAD9;color:var(–saffron-dark);}
.card-title{font-family:’Bricolage Grotesque’,sans-serif;font-weight:700;font-size:1.02rem;line-height:1.3;}
.card-title small{display:block;font-family:’Karla’,sans-serif;font-weight:400;font-size:.8rem;color:var(–ink-soft);margin-top:.25rem;}
.card-link{font-size:.84rem;font-weight:700;color:var(–saffron-dark);margin-top:auto;display:inline-flex;align-items:center;gap:.3rem;}
.card-link svg{width:14px;height:14px;}
/* —- trending list —- */
.trending{background:var(–ink);color:var(–cream-text);padding:4.5rem 0;}
.trending-inner{max-width:1180px;margin:0 auto;padding:0 1.5rem;}
.trending-list{max-width:40rem;margin:0 auto;}
.trending-item{display:flex;align-items:baseline;gap:1.1rem;padding:.8rem 0;border-bottom:1px solid rgba(251,246,236,.12);}
.trending-item:last-child{border-bottom:none;}
.trending-rank{font-family:’Bricolage Grotesque’,sans-serif;font-weight:800;font-size:1.05rem;color:var(–saffron);width:1.7rem;flex-shrink:0;}
.trending-name{font-weight:600;}
.trending-meta{color:rgba(251,246,236,.58);font-size:.86rem;}
/* —- about —- */
.about{padding:4.5rem 0;}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:center;max-width:1180px;margin:0 auto;padding:0 1.5rem;}
.about-photo{aspect-ratio:4/5;}
.about-copy h2{font-size:1.85rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.01em;}
.about-copy p{color:var(–ink-soft);margin-bottom:1.4rem;max-width:34rem;}
.about-stats{display:flex;gap:1.8rem;margin-bottom:1.6rem;flex-wrap:wrap;}
.stat-num{font-family:’Bricolage Grotesque’,sans-serif;font-weight:800;font-size:1.5rem;color:var(–saffron-dark);}
.stat-label{font-size:.76rem;color:var(–ink-soft);text-transform:uppercase;letter-spacing:.04em;}
.about-link{font-weight:700;color:var(–saffron-dark);display:inline-flex;align-items:center;gap:.35rem;}
@media (max-width:780px){.about-grid{grid-template-columns:1fr;}.about-photo{max-width:320px;margin:0 auto;}}
/* —- youtube tie-in —- */
.youtube{background:var(–moss-light);padding:3.6rem 0;}
.youtube-inner{max-width:980px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;justify-content:space-between;}
.youtube-copy{max-width:28rem;}
.youtube-copy h2{font-size:1.55rem;font-weight:800;margin-bottom:.5rem;}
.youtube-copy p{color:var(–ink-soft);}
.youtube-copy strong{color:var(–moss);}
/* —- newsletter —- */
.newsletter{background:var(–wheat-deep);padding:4rem 0;text-align:center;}
.newsletter-inner{max-width:30rem;margin:0 auto;padding:0 1.5rem;}
.newsletter h2{font-size:1.65rem;font-weight:800;margin-bottom:.6rem;}
.newsletter p{color:var(–ink-soft);margin-bottom:1.4rem;}
.newsletter-form{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;}
.newsletter-form input[type=email]{flex:1;min-width:200px;padding:.8rem 1.1rem;border-radius:999px;border:1px solid var(–line);font-family:inherit;font-size:.9rem;background:var(–card);}
.newsletter-form button{padding:.8rem 1.6rem;border-radius:999px;background:var(–ink);color:var(–cream-text);font-weight:700;border:none;font-size:.9rem;transition:background .15s;}
.newsletter-form button:hover{background:var(–ink-soft);}
.newsletter-form button:disabled{opacity:.7;cursor:default;}
.newsletter-disclaimer{font-size:.72rem;color:var(–ink-soft);opacity:.7;margin-top:.8rem;}
/* —- footer —- */
.site-footer{background:var(–ink);color:rgba(251,246,236,.75);padding:3.5rem 0 1.5rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;max-width:1180px;margin:0 auto;padding:0 1.5rem 2.5rem;border-bottom:1px solid rgba(251,246,236,.12);}
.footer-tagline{font-size:.86rem;margin:.8rem 0 1.2rem;max-width:18rem;opacity:.85;}
.social-row{display:flex;gap:.6rem;}
.social-link{width:34px;height:34px;border-radius:50%;border:1px solid rgba(251,246,236,.25);display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;}
.social-link svg{width:15px;height:15px;}
.social-link:hover{border-color:var(–saffron);background:rgba(217,101,31,.15);}
.footer-col h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(–cream-text);margin-bottom:.9rem;font-weight:700;}
.footer-col a{display:block;font-size:.86rem;padding:.28rem 0;opacity:.85;}
.footer-col a:hover{opacity:1;}
.footer-bottom{max-width:1180px;margin:0 auto;padding:1.5rem 1.5rem 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.76rem;opacity:.6;}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;}}
MasterChef India contestant · eggless baking specialist
Healthy baking. Minus the eggs. Plus the protein.
Diabetic-friendly, keto, and gluten-free recipes built around real ingredients like roasted chickpea flour (sattu) — tested in my kitchen, ready for yours.
Hero photo — finished bake, natural light, close crop
MasterChef
India
Recent recipes
Just published
Tap a category above to filter — every recipe is tagged by what it actually delivers.
No-bake strawberry cheesecake cupsNo eggs · ready in 20 minutes
Dark choco bark5-minute, no-bake
Triple berry bark3 ingredients · no added sugar
Lentil breadHigh-protein · no eggs
Oat breadGluten-free · no eggs
Zero-carb keto breadDiabetic-friendly · no eggs
Trending now
What readers are baking most
Ranked by traffic — a mix of new releases and long-time favorites.
Photo: Neetu in her kitchen, natural light
Meet Neetu
MasterChef India contestant turned eggless-baking specialist
Since 2015 I’ve been developing healthier, simpler recipes that swap eggs for real, recognizable ingredients like roasted chickpea flour — known back home as sattu — without losing the texture or flavor you’re used to. Every recipe is tested in my own kitchen before it reaches yours.
Watch every recipe come together
91K+ home bakers already follow along on YouTube for step-by-step videos of every recipe on this site.
(function(){
var pills = document.querySelectorAll(‘.pill’);
var cards = document.querySelectorAll(‘.recipe-card’);
function applyFilter(diet){
pills.forEach(function(p){ p.classList.toggle(‘is-active’, p.getAttribute(‘data-diet’) === diet); });
cards.forEach(function(card){
var tags = card.getAttribute(‘data-tags’) || ”;
var match = diet === ‘all’ || tags.indexOf(diet) !== -1;
card.classList.toggle(‘is-filtered’, !match);
});
}
pills.forEach(function(pill){
pill.addEventListener(‘click’, function(){ applyFilter(pill.getAttribute(‘data-diet’)); });
});
document.querySelectorAll(‘[data-goto-diet]’).forEach(function(link){
link.addEventListener(‘click’, function(e){
e.preventDefault();
applyFilter(link.getAttribute(‘data-goto-diet’));
var target = document.getElementById(‘recipes’);
if(target){ target.scrollIntoView({behavior:’smooth’, block:’start’}); }
var navLinks = document.getElementById(‘navLinks’);
if(navLinks){ navLinks.classList.remove(‘is-open’); }
});
});
var navToggle = document.getElementById(‘navToggle’);
var navLinks = document.getElementById(‘navLinks’);
if(navToggle && navLinks){
navToggle.addEventListener(‘click’, function(){
var open = navLinks.classList.toggle(‘is-open’);
navToggle.setAttribute(‘aria-expanded’, String(open));
});
}
var form = document.getElementById(‘newsletterForm’);
if(form){
form.addEventListener(‘submit’, function(e){
e.preventDefault();
var btn = form.querySelector(‘button’);
var original = btn.textContent;
btn.textContent = ‘Subscribed’;
btn.disabled = true;
setTimeout(function(){ btn.textContent = original; btn.disabled = false; form.reset(); }, 2200);
});
}
})();