Home

/* ========================================================= TWIN STARS KITCHEN — HERO STORY Scoped styles: will not interfere with your website header ========================================================= */ .tsk-hero { –sky-top: #f7e3bc; –sky-bottom: #f3edcf; –hill-1: #a6b985; –hill-2: #8da76f; –field: #78975f; –field-dark: #6c8d58; –earth: #70503a; –house: #b96f48; –house-roof: #704837; –text: #3c291e; –gold: #c89538; –green: #376653; –deep-green: #285641; position: relative; width: 100%; min-height: 720px; overflow: hidden; background: linear-gradient( to bottom, var(–sky-top) 0%, var(–sky-bottom) 67%, var(–hill-1) 67%, var(–hill-1) 74%, var(–hill-2) 74%, var(–field) 84%, var(–field-dark) 100% ); font-family: Arial, Helvetica, sans-serif; } /* ——————————————————— SKY ——————————————————— */ .tsk-sky { position: absolute; inset: 0 0 33% 0; overflow: hidden; } /* Sun – intentionally kept on RIGHT */ .tsk-sun { position: absolute; right: 9%; top: 72px; width: 112px; height: 112px; border-radius: 50%; background: #e9bd63; box-shadow: 0 0 0 22px rgba(233,189,99,.10), 0 0 0 44px rgba(233,189,99,.06); animation: tskSunGlow 5s ease-in-out infinite; } @keyframes tskSunGlow { 0%,100% { transform: scale(1); opacity: .92; } 50% { transform: scale(1.06); opacity: 1; } } /* Clouds */ .tsk-cloud { position: absolute; width: 125px; height: 38px; background: rgba(255,255,255,.55); border-radius: 50px; filter: blur(.2px); animation: tskCloudMove linear infinite; } .tsk-cloud:before, .tsk-cloud:after { content: “”; position: absolute; background: rgba(255,255,255,.58); border-radius: 50%; } .tsk-cloud:before { width: 55px; height: 55px; left: 20px; top: -25px; } .tsk-cloud:after { width: 70px; height: 70px; right: 12px; top: -33px; } .tsk-cloud-1 { top: 145px; left: 9%; animation-duration: 42s; } .tsk-cloud-2 { top: 115px; left: 69%; transform: scale(.75); animation-duration: 55s; } @keyframes tskCloudMove { 0% { transform: translateX(-25px); } 50% { transform: translateX(45px); } 100% { transform: translateX(-25px); } } /* ——————————————————— BIRDS ——————————————————— */ .tsk-birds { position: absolute; top: 150px; left: 0; width: 100%; height: 70px; pointer-events: none; } .tsk-bird { position: absolute; width: 22px; height: 10px; } .tsk-bird:before, .tsk-bird:after { content: “”; position: absolute; width: 12px; height: 7px; border-top: 2px solid #6e6253; border-radius: 50%; } .tsk-bird:before { left: 0; transform: rotate(12deg); } .tsk-bird:after { right: 0; transform: rotate(-12deg); } .tsk-bird-1 { left: -30px; animation: tskBirdFly1 18s linear infinite; } .tsk-bird-2 { left: -70px; top: 27px; transform: scale(.72); animation: tskBirdFly2 23s linear infinite 4s; } .tsk-bird-3 { left: -90px; top: 8px; transform: scale(.55); animation: tskBirdFly3 27s linear infinite 8s; } @keyframes tskBirdFly1 { 0% { left: -40px; transform: translateY(15px) scale(.9); } 30% { transform: translateY(-12px) scale(.9); } 60% { transform: translateY(8px) scale(.9); } 100% { left: 105%; transform: translateY(-8px) scale(.9); } } @keyframes tskBirdFly2 { 0% { left: -50px; } 50% { transform: translateY(-12px) scale(.72); } 100% { left: 105%; transform: translateY(10px) scale(.72); } } @keyframes tskBirdFly3 { 0% { left: -70px; } 100% { left: 105%; transform: translateY(-15px) scale(.55); } } /* ——————————————————— HERO MESSAGE ——————————————————— */ .tsk-hero-copy { position: relative; z-index: 10; /* Important: Gives enough space below the existing website header. This prevents the hero from touching/overlapping it. */ padding-top: 125px; text-align: center; max-width: 900px; margin: 0 auto; } .tsk-kicker { display: inline-block; font-size: 14px; font-weight: 700; letter-spacing: 5px; color: #547254; margin-bottom: 15px; text-transform: uppercase; } .tsk-kicker span { margin: 0 8px; color: #b48738; } .tsk-title { margin: 0; color: var(–text); font-family: Georgia, “Times New Roman”, serif; font-size: clamp(48px, 6vw, 82px); line-height: .95; font-weight: 500; letter-spacing: -3px; } .tsk-script { margin-top: 18px; color: #c58422; font-family: Georgia, “Times New Roman”, serif; font-size: clamp(32px, 4vw, 50px); font-style: italic; font-weight: 500; } .tsk-description { margin: 12px auto 0; max-width: 620px; color: #756a5b; font-size: 18px; line-height: 1.55; } /* ——————————————————— LAND ——————————————————— */ .tsk-land { position: absolute; left: 0; right: 0; bottom: 0; height: 36%; z-index: 5; } /* rolling hills */ .tsk-hill { position: absolute; left: -5%; width: 110%; border-radius: 50% 50% 0 0; } .tsk-hill-back { top: 0; height: 95px; background: #a5b87f; } .tsk-hill-front { top: 40px; height: 140px; background: #8fa875; } .tsk-field { position: absolute; left: 0; right: 0; bottom: 0; top: 85px; background: linear-gradient( to bottom, #8aa570 0%, #78975f 55%, #6c8d58 100% ); } /* subtle field lines */ .tsk-field:after { content: “”; position: absolute; left: 0; right: 0; bottom: 30px; height: 1px; background: rgba(255,255,255,.10); box-shadow: 0 28px rgba(255,255,255,.06), 0 56px rgba(255,255,255,.05); } /* ——————————————————— VILLAGE HOUSES ——————————————————— */ .tsk-house { position: absolute; bottom: 55px; width: 110px; height: 82px; background: #b96f48; border-radius: 3px; } .tsk-house:before { content: “”; position: absolute; left: -16px; top: -42px; width: 0; height: 0; border-left: 71px solid transparent; border-right: 71px solid transparent; border-bottom: 45px solid #704837; } .tsk-house:after { content: “”; position: absolute; width: 25px; height: 43px; bottom: 0; left: 43px; background: #593925; border-radius: 12px 12px 0 0; } .tsk-window { position: absolute; width: 22px; height: 22px; background: #f4ce6b; border: 4px solid #805333; left: 15px; top: 25px; } .tsk-house-left { left: 8%; } .tsk-house-right { right: 28%; transform: scale(.94); } /* ——————————————————— FARMER ——————————————————— */ .tsk-farmer { position: absolute; bottom: 62px; left: 19%; width: 38px; height: 95px; animation: tskFarmerMove 4s ease-in-out infinite; } .tsk-head { position: absolute; top: 0; left: 10px; width: 23px; height: 23px; border-radius: 50%; background: #664531; } .tsk-body { position: absolute; top: 23px; left: 5px; width: 30px; height: 48px; border-radius: 12px 12px 6px 6px; background: #607c4f; } .tsk-leg { position: absolute; bottom: 0; width: 6px; height: 38px; background: #554334; } .tsk-leg-left { left: 8px; transform: rotate(8deg); } .tsk-leg-right { right: 8px; transform: rotate(-8deg); } @keyframes tskFarmerMove { 0%,100% { transform: translateX(0); } 50% { transform: translateX(7px); } } /* ——————————————————— CROP ROW ——————————————————— */ .tsk-crops { position: absolute; left: 27%; right: 45%; bottom: 75px; height: 100px; display: flex; justify-content: space-around; align-items: flex-end; } .tsk-plant { position: relative; width: 6px; height: 70px; background: #5e7f4c; transform-origin: bottom; animation: tskPlantSway 3s ease-in-out infinite; } .tsk-plant:nth-child(2) { animation-delay: .5s; } .tsk-plant:nth-child(3) { animation-delay: 1s; } .tsk-plant:nth-child(4) { animation-delay: 1.5s; } .tsk-plant:before, .tsk-plant:after { content: “”; position: absolute; width: 28px; height: 13px; background: #71945b; border-radius: 100% 0; } .tsk-plant:before { top: 22px; left: -24px; transform: rotate(18deg); } .tsk-plant:after { top: 38px; right: -24px; transform: rotate(-18deg); } @keyframes tskPlantSway { 0%,100% { transform: rotate(-1deg); } 50% { transform: rotate(3deg); } } /* ——————————————————— HARVEST / FOOD AREA ——————————————————— */ .tsk-harvest { position: absolute; right: 8%; bottom: 58px; display: flex; align-items: flex-end; gap: 13px; } .tsk-pot { width: 72px; height: 46px; background: #574a3d; border-radius: 8px 8px 35px 35px; position: relative; } .tsk-pot:before { content: “”; position: absolute; left: -5px; right: -5px; top: -8px; height: 15px; background: #4d4135; border-radius: 50%; } .tsk-food { width: 42px; height: 42px; border-radius: 50%; background: #dfa74d; animation: tskFoodFloat 3s ease-in-out infinite; } .tsk-food:nth-child(2) { animation-delay: .5s; } .tsk-food:nth-child(3) { width: 58px; height: 24px; border-radius: 50%; animation-delay: 1s; } @keyframes tskFoodFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } } /* ——————————————————— BILLBOARD ——————————————————— */ .tsk-billboard { position: absolute; right: 5%; bottom: 148px; z-index: 30; width: 225px; text-align: center; transform: rotate(-1deg); animation: tskBoardFloat 4s ease-in-out infinite; } .tsk-board { position: relative; padding: 18px 18px 20px; background: #725039; border: 5px solid #a87843; border-radius: 5px; box-shadow: 0 8px 0 rgba(74,52,37,.18), 0 15px 22px rgba(50,50,30,.14); } .tsk-board:before { content: “”; position: absolute; left: 10px; right: 10px; top: 7px; height: 1px; background: rgba(255,255,255,.15); } .tsk-board-small { display: block; color: #ead7a4; font-size: 11px; letter-spacing: 2px; margin-bottom: 6px; text-transform: uppercase; } .tsk-board-title { display: block; color: #fff6df; font-family: Georgia, serif; font-size: 22px; font-weight: bold; } .tsk-board-arrow { display: inline-block; margin-left: 7px; color: #efc565; transition: transform .3s ease; } .tsk-board:hover .tsk-board-arrow { transform: translateX(7px); } .tsk-board-post { width: 8px; height: 48px; margin: 0 auto; background: #5b3d2b; } @keyframes tskBoardFloat { 0%,100% { transform: rotate(-1deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-4px); } } /* ——————————————————— BRAND MESSAGE ON LAND ——————————————————— */ .tsk-nature-message { position: absolute; z-index: 20; left: 50%; bottom: 30px; transform: translateX(-50%); text-align: center; width: 430px; } .tsk-nature-message .line-1 { display: block; color: rgba(255,255,255,.86); font-size: 12px; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 5px; } .tsk-nature-message .line-2 { display: block; color: #fff9e9; font-family: Georgia, serif; font-size: 22px; font-style: italic; } /* ——————————————————— FLOATING SEEDS ——————————————————— */ .tsk-seeds { position: absolute; left: 48%; top: 68%; width: 70px; height: 50px; z-index: 20; } .tsk-seed { position: absolute; width: 9px; height: 6px; border-radius: 50%; background: #c98d3a; animation: tskSeed 4s ease-in-out infinite; } .tsk-seed:nth-child(1) { left: 0; top: 20px; } .tsk-seed:nth-child(2) { left: 28px; top: 5px; animation-delay: .7s; } .tsk-seed:nth-child(3) { left: 48px; top: 25px; animation-delay: 1.3s; } @keyframes tskSeed { 0%,100% { transform: translateY(0) rotate(0); opacity: .7; } 50% { transform: translateY(-12px) rotate(20deg); opacity: 1; } } /* ——————————————————— RESPONSIVE ——————————————————— */ @media (max-width: 900px) { .tsk-hero { min-height: 780px; } .tsk-hero-copy { padding-top: 135px; padding-left: 20px; padding-right: 20px; } .tsk-title { font-size: 50px; } .tsk-description { font-size: 16px; } .tsk-house-left { left: 4%; transform: scale(.78); transform-origin: bottom left; } .tsk-house-right { right: 10%; transform: scale(.75); transform-origin: bottom right; } .tsk-farmer { left: 20%; transform: scale(.8); transform-origin: bottom; } .tsk-crops { left: 25%; right: 40%; } .tsk-harvest { right: 2%; transform: scale(.75); transform-origin: bottom right; } .tsk-billboard { right: 3%; bottom: 165px; transform: scale(.8); transform-origin: bottom right; } .tsk-nature-message { bottom: 22px; } } @media (max-width: 600px) { .tsk-hero { min-height: 850px; } .tsk-hero-copy { padding-top: 120px; } .tsk-kicker { font-size: 10px; letter-spacing: 3px; } .tsk-title { font-size: 43px; letter-spacing: -1px; } .tsk-script { font-size: 30px; } .tsk-description { font-size: 14px; max-width: 350px; } .tsk-sun { right: 4%; top: 110px; width: 75px; height: 75px; } .tsk-house-left { left: 2%; transform: scale(.58); } .tsk-house-right { right: 0; transform: scale(.58); } .tsk-farmer { left: 24%; transform: scale(.6); } .tsk-crops { left: 30%; right: 28%; transform: scale(.65); transform-origin: bottom; } .tsk-harvest { right: 2%; transform: scale(.55); } .tsk-billboard { right: 50%; transform: translateX(50%) scale(.75); bottom: 150px; } .tsk-nature-message { width: 90%; bottom: 20px; } .tsk-nature-message .line-2 { font-size: 18px; } } /* Accessibility */ @media (prefers-reduced-motion: reduce) { .tsk-hero *, .tsk-hero *:before, .tsk-hero *:after { animation: none !important; transition: none !important; } }
TWIN STARS KITCHEN

Healthy Snacks
Made the Way

Nature Intended

Wholesome ingredients. Honest recipes.
Better snacking for your family.

Simple • Natural • Thoughtful From nature, given to you for a healthier life.
Twin Stars Kitchen — Our Promise:root{ –cream:#FDF8EC; –ink:#22201B; –mute:#6E6656; –forest:#1F4B3F; –gold:#C4841E; –line:#ECE4CF; }*{ box-sizing:border-box; margin:0; padding:0; } html,body{ height:100%; }body{ font-family:’Inter’, sans-serif; background:var(–cream); color:var(–ink); overflow-x:hidden; }.section{ max-width:1360px; margin:0 auto; padding:48px 40px 52px; }/* ———- header ———- */ .header{ text-align:center; }.reveal{ opacity:1; transform:none; } html.js-ready .reveal{ opacity:0; transform:translateY(-26px); transition:opacity .75s cubic-bezier(.19,.75,.2,1), transform .75s cubic-bezier(.19,.75,.2,1); transition-delay:var(–stagger, 0s); } html.js-ready .reveal.in-view{ opacity:1; transform:translateY(0); }.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:’Inter’, sans-serif; font-size:13px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(–forest); } .eyebrow .spark{ color:var(–gold); font-size:12px; animation:sparkSpin 4s linear infinite; display:inline-block; } @keyframes sparkSpin{ 0%,100%{ transform:rotate(0deg) scale(1); } 50%{ transform:rotate(180deg) scale(1.25); } }.headline{ font-family:’Fraunces’, serif; font-weight:600; font-size:clamp(32px, 4.4vw, 54px); line-height:1.14; letter-spacing:-0.005em; margin-top:10px; } .headline .love{ color:var(–forest); } .headline .health{ color:var(–gold); }.divider{ display:flex; align-items:center; justify-content:center; gap:14px; margin:16px 0 12px; } .divider .rule{ width:70px; height:1px; background:var(–gold); opacity:0.55; } .divider .heart{ color:var(–gold); font-size:16px; animation:heartbeat 1.8s ease-in-out infinite; } @keyframes heartbeat{ 0%,100%{ transform:scale(1); } 22%{ transform:scale(1.28); } 40%{ transform:scale(1); } }.subline{ font-size:17px; color:var(–mute); }/* ———- single-line auto-scrolling strip ———- */ .strip-wrap{ margin-top:30px; overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg, transparent, black 6%, black 94%, transparent); mask-image:linear-gradient(90deg, transparent, black 6%, black 94%, transparent); }.strip{ display:flex; gap:18px; width:max-content; animation:scrollStrip 34s linear infinite; will-change:transform; backface-visibility:hidden; transform:translateZ(0); } .strip-wrap:hover .strip{ animation-play-state:paused; }@keyframes scrollStrip{ from{ transform:translateX(0) translateZ(0); } to{ transform:translateX(-50%) translateZ(0); } }.medal{ position:relative; flex:0 0 auto; width:150px; display:flex; flex-direction:column; align-items:center; padding-top:2px; cursor:default; }/* thin dashed halo ring, spins slowly like a certification seal */ .medal-ring{ position:absolute; top:6px; width:106px; height:106px; border-radius:50%; border:1.5px dashed var(–accent); opacity:0.55; animation:ringSpin 16s linear infinite; transition:opacity .3s ease; } .medal:hover .medal-ring{ opacity:1; animation-duration:5s; } @keyframes ringSpin{ to{ transform:rotate(360deg); } }/* the medal disc itself */ .medal-disc{ position:relative; width:84px; height:84px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(155deg, var(–accent-light) 0%, var(–accent) 68%); box-shadow: 0 10px 20px -8px var(–accent-shadow), inset 0 -6px 10px rgba(0,0,0,0.14), inset 0 3px 6px rgba(255,255,255,0.35); color:#fff; transition:transform .4s cubic-bezier(.34,1.4,.64,1); z-index:1; } .medal:hover .medal-disc{ transform:scale(1.08) rotate(-4deg); } .medal-disc svg{ width:34px; height:34px; }/* ribbon tails hanging beneath the medal */ .medal-ribbon{ display:flex; margin-top:-10px; transform-origin:top center; transition:transform .4s ease; } .medal:hover .medal-ribbon{ transform:rotate(-2deg); }.medal-ribbon .tail{ width:20px; height:34px; background:var(–accent); filter:brightness(0.9); } .medal-ribbon .tail.left{ clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%); margin-right:1px; transform:rotate(-6deg); } .medal-ribbon .tail.right{ clip-path:polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%); transform:rotate(6deg); }.medal-title{ font-family:’Inter’, sans-serif; font-weight:700; font-size:14px; color:var(–accent); text-align:center; line-height:1.28; margin-top:12px; }.medal-desc{ font-size:12.5px; line-height:1.5; color:var(–mute); text-align:center; margin-top:5px; max-width:140px; }/* ================= RESPONSIVE ================= */ @media (max-width: 720px){ .section{ padding:36px 22px 40px; } .medal{ width:128px; } .medal-ring{ width:92px; height:92px; } .medal-disc{ width:72px; height:72px; } .medal-disc svg{ width:28px; height:28px; }/* Belt-and-braces: some mobile browsers throttle or pause CSS animations on elements that are only partially in view / low-power mode. This keeps the strip swipeable by hand even if the automatic scroll ever stalls. */ .strip-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; } .strip-wrap .strip{ scroll-snap-align:start; } }/* Respect reduced motion for the page’s ambient/decorative effects, but keep the marquee itself moving — it’s the only way the rest of the badges become reachable, so pausing it entirely would hide content rather than just calm the motion. */ @media (prefers-reduced-motion: reduce){ .eyebrow .spark, .divider .heart, .medal-ring{ animation-duration:.001ms !important; animation-iteration-count:1 !important; } html.js-ready .reveal{ opacity:1 !important; transform:none !important; transition-duration:.001ms !important; } .strip{ animation-duration:70s; /* slower, calmer, but still moving */ } }
Our Promise To You

Made with Love. Crafted for Health.

Wholesome Ingredients. Honest Nutrition. Made for You.

No Maida
Only wholesome ingredients.
No Refined Sugar
Sweetened the healthier way.
No Refined Oils
Made with pure ghee & butter.
Rich in Dry Fruits
Loaded with nuts & nutrition.
No Preservatives
100% natural & clean.
Made with Love
Handcrafted with care.
No Artificial
Colors or Flavors
Nothing artificial, ever.
Premium Quality
Assured
Carefully selected ingredients.
Safe & Trusted
Made for every family.
// Only enable the hide-then-reveal animation once we know JS actually runs. // If this script never executes, .reveal simply stays visible (no animation) — // the page is never blank. document.documentElement.classList.add(‘js-ready’);const revealEls = document.querySelectorAll(‘.reveal’); revealEls.forEach((el, i) => el.style.setProperty(‘–stagger’, (i * 0.08) + ‘s’));if (‘IntersectionObserver’ in window) { const observer = new IntersectionObserver((entries) => { entries.forEach((entry) => { entry.target.classList.toggle(‘in-view’, entry.isIntersecting); }); }, { threshold: 0.1, rootMargin: ‘0px 0px -6% 0px’ });revealEls.forEach((el) => observer.observe(el)); } else { revealEls.forEach((el) => el.classList.add(‘in-view’)); }// Safety net: force everything visible after a short delay regardless, // so nothing can stay hidden if the observer never fires. setTimeout(() => { revealEls.forEach((el) => el.classList.add(‘in-view’)); }, 1200);

Best Selling Products

Twin Stars Kitchen — Our Story
TWIN STARS KITCHEN

Our Story

Healthy snacking shouldn’t be complicated— it should simply be good.
WHY WE STARTED

Good food, made honest.

Too many snacks lean on refined sugar, maida, and preservatives. We wanted something better.

MADE WITH LOVE

Small batches, always.

Crafted in limited quantities, so every batch gets our full attention.

WHAT GOES IN

Wholesome by nature.

Nuts, seeds, millets, oats, pure ghee, and natural sweeteners—nothing you can’t pronounce.

That’s why Twin Stars Kitchen was born.
Good food. Honest ingredients. A little more love in every bite.
/* ========================================================= TWIN STARS KITCHEN OUR STORY — REFINED MINIMALIST GRID ========================================================= */@import url( ‘https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,400;1,500&display=swap’ );.tsk-story-full {–green:#173D2C; –green2:#557D3E; –gold:#C48722; –gold2:#D9A94F; –cream:#FCF9F1; –text:#5C6159; –line:#E7DFCC;width:100vw !important; max-width:none !important;position:relative;margin-left:calc(50% – 50vw) !important; margin-right:calc(50% – 50vw) !important;padding:64px 6vw 52px;background:var(–cream);font-family:’Inter’, Arial, sans-serif;color:var(–text); }.tsk-story-full, .tsk-story-full * { box-sizing:border-box; }.tsk-story-content { position:relative; max-width:1180px; margin:0 auto; }/* ========================================================= HEADING ========================================================= */.tsk-label { text-align:center; color:var(–green2); font-size:11px; font-weight:700; letter-spacing:4px; margin-bottom:14px; }.tsk-title { margin:0; text-align:center; color:var(–green); font-family:’Playfair Display’, Georgia, serif; font-size:clamp(40px,4.4vw,60px); font-weight:500; line-height:1; letter-spacing:-1.5px; }.tsk-title em { color:var(–gold); font-weight:400; font-style:italic; }.tsk-divider { display:flex; justify-content:center; margin:16px 0 14px; }.tsk-divider span { width:44px; height:1px; background:var(–gold); opacity:.55; transform:scaleX(0); transform-origin:center; }.tsk-intro { max-width:620px; margin:0 auto 40px; text-align:center; color:var(–green); font-family:’Playfair Display’, Georgia, serif; font-size:clamp(16px,1.4vw,19px); line-height:1.5; }.tsk-intro em { color:var(–gold); font-style:italic; }/* ========================================================= THREE-COLUMN GRID ========================================================= */.tsk-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:40px; padding-bottom:36px; border-bottom:1px solid var(–line); }.tsk-card { text-align:center; padding:0 8px; transition:transform .4s ease; }.tsk-card:hover { transform:translateY(-3px); }.tsk-card:hover .tsk-icon-badge { border-color:rgba(196,135,34,.55); }.tsk-card:hover .tsk-icon { transform:scale(1.1); }.tsk-icon { transition:transform .35s ease; }.tsk-card h2 em { position:relative; }.tsk-card h2 em::after { content:”; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(–gold); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }.tsk-card:hover h2 em::after { transform:scaleX(1); }/* Icon badge */.tsk-icon-badge { width:60px; height:60px; margin:0 auto 16px; border-radius:50%; border:1px solid rgba(196,135,34,.35); display:flex; align-items:center; justify-content:center; transition:border-color .4s ease, transform .4s ease; }.tsk-card:hover .tsk-icon-badge { transform:translateY(-2px); }.tsk-story-full.is-visible .tsk-icon-badge { animation:tskBreathe 5s ease-in-out 1.6s infinite; }.tsk-icon { width:26px; height:26px; overflow:visible; }.tsk-icon-path { fill:none; stroke:var(–gold); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }.tsk-small-label { margin-bottom:6px; color:var(–gold); font-size:10px; font-weight:700; letter-spacing:2.5px; }.tsk-card h2 { margin:0 0 8px; color:var(–green); font-family:’Playfair Display’, Georgia, serif; font-size:clamp(19px,1.7vw,24px); font-weight:500; line-height:1.2; letter-spacing:-.3px; }.tsk-card h2 em { color:var(–gold); font-style:italic; font-weight:500; }.tsk-card p { max-width:280px; margin:0 auto; font-size:13.5px; line-height:1.7; color:var(–text); }/* ========================================================= CREATED MESSAGE ========================================================= */.tsk-created { margin:28px auto 10px; text-align:center; color:var(–green); font-family:’Playfair Display’, Georgia, serif; font-size:16px; font-style:italic; }.tsk-created strong { font-style:normal; font-weight:600; color:var(–green); }/* ========================================================= CLOSING ========================================================= */.tsk-closing { text-align:center; color:var(–green); font-family:’Playfair Display’, Georgia, serif; font-size:14.5px; }.tsk-closing em { color:var(–gold); font-style:italic; }/* ========================================================= SCROLL-TRIGGERED ENTRANCE (quiet — fade + slight rise only) ========================================================= */.tsk-story-full.tsk-anim-ready .tsk-label, .tsk-story-full.tsk-anim-ready .tsk-title, .tsk-story-full.tsk-anim-ready .tsk-intro, .tsk-story-full.tsk-anim-ready .tsk-created, .tsk-story-full.tsk-anim-ready .tsk-closing, .tsk-story-full.tsk-anim-ready .tsk-card { opacity:0; transform:translateY(14px); }.tsk-story-full.tsk-anim-ready .tsk-divider span { transform:scaleX(0); }.tsk-story-full.tsk-anim-ready .tsk-icon-path { stroke-dasharray:120; stroke-dashoffset:120; }.tsk-story-full.is-visible .tsk-label { animation:tskReveal .7s ease both; }.tsk-story-full.is-visible .tsk-title { animation:tskReveal .8s .08s ease both; }.tsk-story-full.is-visible .tsk-divider span { animation:tskLine .6s .3s ease forwards; }.tsk-story-full.is-visible .tsk-intro { animation:tskReveal .8s .35s ease both; }.tsk-story-full.is-visible .tsk-card { animation:tskReveal .7s calc(.5s + var(–d)) ease both; }.tsk-story-full.is-visible .tsk-card .tsk-icon-path { animation:tskDraw 1s calc(.6s + var(–d)) ease forwards; }.tsk-story-full.is-visible .tsk-created { animation:tskReveal .8s .85s ease both; }.tsk-story-full.is-visible .tsk-closing { animation:tskReveal .8s .95s ease both; }/* ========================================================= ANIMATIONS ========================================================= */@keyframes tskReveal { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }@keyframes tskLine { to { transform:scaleX(1); } }@keyframes tskDraw { to { stroke-dashoffset:0; } }@keyframes tskBreathe { 0%,100% { transform:scale(1); } 50% { transform:scale(1.05); } }/* ========================================================= TABLET ========================================================= */@media (max-width:900px) {.tsk-story-full { padding:52px 6vw 44px; }.tsk-grid { gap:32px; }.tsk-card p { max-width:none; }}/* ========================================================= MOBILE ========================================================= */@media (max-width:700px) {.tsk-story-full { padding:44px 24px 40px; }.tsk-title { font-size:38px; }.tsk-intro { margin-bottom:32px; font-size:15px; }.tsk-grid { grid-template-columns:1fr; gap:30px; padding-bottom:30px; }.tsk-card p { max-width:340px; margin:0 auto; }.tsk-created { font-size:14px; }.tsk-closing { font-size:13px; }}/* ========================================================= REDUCED MOTION ========================================================= */@media (prefers-reduced-motion:reduce) {.tsk-story-full * { animation:none !important; transition:none !important; }.tsk-story-full.tsk-anim-ready * { opacity:1 !important; transform:none !important; }.tsk-story-full.tsk-anim-ready .tsk-icon-path { stroke-dashoffset:0 !important; }}(function () { var section = document.querySelector(‘.tsk-story-full’); if (!section) return;requestAnimationFrame(function () { section.classList.add(‘tsk-anim-ready’); });if (!(‘IntersectionObserver’ in window)) { section.classList.add(‘is-visible’); return; }var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { section.classList.add(‘is-visible’); observer.unobserve(section); } }); }, { threshold: 0.2 });observer.observe(section); })();/* ========================================================== TWIN STARS KITCHEN PREMIUM OUR STORY SECTION ========================================================== */@import url(‘https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap’);.tsk-story-v2 {–tsk-green:#173D2C; –tsk-green-soft:#668B4A; –tsk-gold:#C48722; –tsk-gold-light:#E2B866; –tsk-cream:#FBF7ED; –tsk-text:#5B5B54;position:relative;width:100vw !important; max-width:none !important;margin-left:calc(50% – 50vw) !important; margin-right:calc(50% – 50vw) !important;min-height:560px;display:grid;grid-template-columns:48% 52%;overflow:hidden;background:var(–tsk-cream);font-family:’DM Sans’,Arial,sans-serif;isolation:isolate; }/* ========================================================== PHOTO ========================================================== */.tsk-story-photo {position:relative;min-height:560px;overflow:hidden;background:#253C2D;z-index:1; }.tsk-story-photo img {position:absolute;inset:0;width:100%; height:100%;object-fit:cover;object-position:center;transform:scale(1.035);transition: transform 1.4s cubic-bezier(.16,1,.3,1); }.tsk-story-v2:hover .tsk-story-photo img {transform:scale(1.075); }/* ========================================================== PHOTO OVERLAY ========================================================== */.tsk-photo-overlay {position:absolute;inset:0;background:linear-gradient( 90deg, rgba(20,49,36,.16), rgba(20,49,36,0) ),linear-gradient( 0deg, rgba(15,40,28,.34), transparent 48% );z-index:2;pointer-events:none; }/* ========================================================== ORGANIC CURVE ========================================================== */.tsk-story-photo::after {content:””;position:absolute;top:-8%;right:-105px;width:190px;height:116%;background:var(–tsk-cream);border-radius: 55% 0 0 55%;z-index:4;pointer-events:none; }/* ========================================================== FLOATING DECORATION ========================================================== */.tsk-orb {position:absolute;border-radius:50%;z-index:5;pointer-events:none; }.orb-1 {width:11px; height:11px;top:17%; left:13%;background:var(–tsk-gold-light);box-shadow: 0 0 0 7px rgba(226,184,102,.13);animation: tskFloat 5s ease-in-out infinite; }.orb-2 {width:7px; height:7px;right:18%; bottom:25%;background:#fff;opacity:.8;animation: tskFloat 6s 1s ease-in-out infinite; }.tsk-spark {position:absolute;color:#F2D79C;z-index:5;font-size:17px;animation: tskSpark 4s ease-in-out infinite; }.spark-1 {top:13%;right:18%; }.spark-2 {bottom:18%;left:14%;font-size:12px;animation-delay:-2s; }/* ========================================================== PHOTO BADGE ========================================================== */.tsk-photo-caption {position:absolute;z-index:8;right:12%;bottom:10%;width:108px;height:108px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background: rgba(255,251,241,.94);box-shadow: 0 18px 40px rgba(0,0,0,.18);animation: tskBadge 5s ease-in-out infinite; }.tsk-photo-caption::before {content:””;position:absolute;inset:8px;border: 1px solid var(–tsk-gold);border-radius:50%; }.tsk-photo-caption small {position:relative;color:var(–tsk-green);font-size:7px;font-weight:700;letter-spacing:2px; }.tsk-photo-caption strong {position:relative;margin-top:7px;color:var(–tsk-gold);font-family:’Fraunces’,serif;font-size:15px;font-weight:500; }/* ========================================================== STORY PANEL ========================================================== */.tsk-story-copy {position:relative;display:flex;align-items:center;background:radial-gradient( circle at 92% 15%, rgba(196,135,34,.08), transparent 23% ),radial-gradient( circle at 10% 90%, rgba(102,139,74,.08), transparent 25% ),var(–tsk-cream);z-index:3; }/* ========================================================== STORY CONTENT ========================================================== */.tsk-story-copy-inner {width:100%;max-width:680px;padding: 55px clamp(45px,6vw,90px) 55px clamp(30px,5vw,70px);animation: tskContentReveal .95s cubic-bezier(.16,1,.3,1) both; }/* ========================================================== EYEBROW ========================================================== */.tsk-eyebrow {display:flex;align-items:center;gap:9px;margin-bottom:10px;color:var(–tsk-green-soft);font-size:9px;font-weight:700;letter-spacing:3.5px; }.tsk-eyebrow span {color:var(–tsk-gold);font-size:10px;animation: tskSpark 3.5s ease-in-out infinite; }/* ========================================================== MAIN HEADING ========================================================== */.tsk-story-copy h2 {margin:0;color:var(–tsk-green);font-family:’Fraunces’,Georgia,serif;font-size: clamp(52px,5.5vw,78px);font-weight:500;line-height:.9;letter-spacing:-3px; }.tsk-story-copy h2 em {display:block;color:var(–tsk-gold);font-style:italic;font-weight:400; }/* ========================================================== RULE ========================================================== */.tsk-rule {display:flex;align-items:center;gap:9px;margin: 18px 0 20px; }.tsk-rule i {width:40px;height:1px;background:var(–tsk-gold);opacity:.65; }.tsk-rule b {color:var(–tsk-gold);font-size:12px;animation: tskHeart 2.4s ease-in-out infinite; }/* ========================================================== SECONDARY HEADING ========================================================== */.tsk-story-copy h3 {max-width:560px;margin: 0 0 15px;color:var(–tsk-green);font-family:’Fraunces’,Georgia,serif;font-size: clamp(25px,2.7vw,35px);font-weight:400;line-height:1.1;letter-spacing:-.8px; }.tsk-story-copy h3 span {color:var(–tsk-gold);font-style:italic; }/* ========================================================== BODY ========================================================== */.tsk-story-copy p {max-width:610px;margin: 0 0 11px;color:var(–tsk-text);font-size:13px;line-height:1.65; }.tsk-story-copy .tsk-lead {margin-bottom:8px;color:var(–tsk-green);font-family:’Fraunces’,Georgia,serif;font-size:17px;line-height:1.45; }/* ========================================================== CREATED MESSAGE ========================================================== */.tsk-created {display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin: 5px 0 15px;padding: 9px 14px;color:var(–tsk-green);background: rgba(196,135,34,.09);border-left: 3px solid var(–tsk-gold);font-family:’Fraunces’,Georgia,serif;font-size:14px;font-style:italic;line-height:1.35;transition: transform .3s ease, background .3s ease; }.tsk-created:hover {transform:translateX(5px);background: rgba(196,135,34,.14); }.tsk-created strong {font-style:normal;font-weight:600; }.tsk-created span {color:var(–tsk-gold);font-size:9px; }/* ========================================================== SIGNATURE ========================================================== */.tsk-signature {display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:17px;padding-top:14px;border-top: 1px solid rgba(196,135,34,.22);color:var(–tsk-green);font-family:’Fraunces’,Georgia,serif;font-size:11px; }.tsk-signature i {width:1px;height:14px;background: rgba(196,135,34,.35); }.tsk-signature strong {color:var(–tsk-gold);font-weight:400;font-style:italic; }/* ========================================================== ANIMATIONS ========================================================== */@keyframes tskContentReveal {from {opacity:0;transform: translateX(30px); }to {opacity:1;transform: translateX(0); } }@keyframes tskFloat {0%,100% {transform: translateY(0); }50% {transform: translateY(-12px); } }@keyframes tskSpark {0%,100% {transform: rotate(0) scale(1);opacity:.5; }50% {transform: rotate(45deg) scale(1.35);opacity:1; } }@keyframes tskHeart {0%,100% {transform:scale(1); }45% {transform:scale(1.25); }65% {transform:scale(1); } }@keyframes tskBadge {0%,100% {transform: translateY(0) rotate(0); }50% {transform: translateY(-8px) rotate(2deg); } }/* ========================================================== TABLET ========================================================== */@media (max-width:950px) {.tsk-story-v2 {grid-template-columns: 46% 54%; }.tsk-story-copy-inner {padding: 45px 35px 45px 45px; }.tsk-story-photo::after {right:-80px;width:145px; }.tsk-story-copy h2 {font-size:58px; }}/* ========================================================== MOBILE ========================================================== */@media (max-width:700px) {.tsk-story-v2 {display:flex;flex-direction:column;width:100vw !important;margin-left: calc(50% – 50vw) !important;margin-right: calc(50% – 50vw) !important; }.tsk-story-photo {order:1;min-height:350px;height:350px; }.tsk-story-photo::after {display:none; }.tsk-story-copy {order:2; }.tsk-story-copy-inner {max-width:none;padding: 42px 25px 45px; }.tsk-story-copy h2 {font-size:58px;letter-spacing:-2.5px; }.tsk-story-copy h3 {font-size:29px; }.tsk-story-copy p {font-size:13px;line-height:1.7; }.tsk-story-copy .tsk-lead {font-size:17px; }.tsk-photo-caption {width:92px;height:92px;right:7%;bottom:8%; }.tsk-signature {gap:8px;font-size:10px; }}/* ========================================================== REDUCED MOTION ========================================================== */@media (prefers-reduced-motion:reduce) {.tsk-story-v2 *, .tsk-story-v2 img {animation:none !important;transition:none !important; }}