/*======================================================================================
  Medapallil Foods Pvt. Ltd. — Brand layer
  Loaded after main.css. Re-skins the base template (tokens, header, buttons,
  section titles) and adds the components used across the five pages.

  01. Brand tokens
  02. Base & typography
  03. Header / navigation / offcanvas
  04. Buttons & shared UI
  05. Media containers (replaceable images)
  06. Home
  07. Inner page hero
  08. About
  09. Manufacturing & Quality
  10. Contact
  11. CTA banners & statements
  12. Footer
  13. Tasty Mill (sub-brand page)
  14. Responsive
======================================================================================*/

/*---------------------------------------
01. Brand tokens
   Medapallil logo: leaf greens (#5BA829 → #14611F), maroon wordmark (#3B1612)
   Headings: Merriweather, narrowed via font-stretch to match the condensed wordmark
   Tasty Mill logo: olive (#A8A03A), dark olive (#423D1A)
---------------------------------------*/
:root {
    --theme: #8CC63F;          /* light leaf — primary button fill */
    --theme-2: #14611F;        /* logo green */
    --theme-3: #5BA829;        /* mid leaf */
    --header: #2E1410;         /* maroon wordmark — headings */
    --text: #5D5650;
    --bg: #F8F4EA;             /* warm cream */
    --bg2: #F1F2E4;            /* pale leaf */
    --heading-font: 'Merriweather', Georgia, serif;
    --ui-font: 'Poppins', sans-serif;
    --body-font: 'Poppins', sans-serif;

    --mf-forest: #0F3A1A;
    --mf-forest-2: #154B22;
    --mf-green: #14611F;
    --mf-leaf: #5BA829;
    --mf-lime: #8CC63F;
    --mf-maroon: #3B1612;
    --mf-maroon-2: #5C2A22;
    --mf-cream: #F8F4EA;
    --mf-sand: #EDE5D3;
    --mf-line: rgba(46, 20, 16, .12);
    --mf-radius: 28px;
    --mf-radius-sm: 16px;
    --mf-shadow: 0 24px 60px -24px rgba(15, 58, 26, .28);
    --mf-shadow-soft: 0 10px 30px -12px rgba(46, 20, 16, .18);

    --tm-olive: #A8A03A;
    --tm-olive-dark: #423D1A;
    --tm-olive-deep: #2A270F;
    --tm-cream: #FBF6E7;
    --tm-butter: #F2E6C2;
    --tm-turmeric: #D99A1E;
}

/*---------------------------------------
02. Base & typography
---------------------------------------*/
body {
    color: var(--text);
    font-size: 17px;
    line-height: 1.7;
    /* Narrows Merriweather (wdth axis) to echo the condensed logo wordmark.
       Inherited everywhere; Poppins has a single width so it is unaffected. */
    font-stretch: 88%;
}

h1, h2, h3, h4 {
    font-family: var(--heading-font);
    font-optical-sizing: auto;
    letter-spacing: -0.005em;
}

h1 { font-weight: 500; }
h2 { font-weight: 500; line-height: 1.12; }
h3 { font-weight: 500; }

::selection { background: var(--mf-lime); color: var(--mf-forest); }

img { max-width: 100%; }

.text-white h2, h2.text-white { color: #fff; }

/* GSAP SplitText wraps chars in inline divs — keep italic accents intact */
.split-title em, .mf-accent { font-style: italic; color: var(--mf-green); }

.section-title .sub-title,
.section-title-area .section-title .sub-title,
.mf-eyebrow {
    font-family: var(--ui-font);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--mf-green);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.section-title .sub-title::before,
.mf-eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    display: inline-block;
}

.text-center .sub-title::after,
.mf-eyebrow.is-center::after {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    display: inline-block;
}

.mf-eyebrow.is-light, .is-light .sub-title { color: var(--mf-lime); }

.mf-lead {
    font-size: 20px;
    line-height: 1.65;
    color: var(--header);
    opacity: .85;
}

.mf-placeholder {
    /* Bracketed values from the content brief — replace with real details */
    font-style: normal;
}

.section-bg { background-color: var(--mf-cream); }

.mf-section { padding: 130px 0; position: relative; }
.mf-section.pt-0 { padding-top: 0; }
.mf-section.pb-0 { padding-bottom: 0; }

.mf-inset {
    margin: 0 40px;
    border-radius: var(--mf-radius);
}

.visually-hidden-focusable:focus { position: static !important; }

/*---------------------------------------
03. Header / navigation / offcanvas
---------------------------------------*/
.header-2 { top: 24px; }

.header-2 .header-items-two {
    background-color: rgba(15, 58, 26, .94);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-radius: 22px;
    box-shadow: 0 14px 40px -18px rgba(0, 0, 0, .45);
}

.sticky.header-2 { background-color: var(--mf-forest); }

.header-2 .header-main { padding: 14px 0; }

.header-main .logo img {
    height: 50px;
    width: auto;
}

.header-main .main-menu ul li { margin-inline-end: 32px; }

.header-main .main-menu ul li a {
    font-family: var(--ui-font);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .08em;
    padding: 18px 0;
}

.header-main .main-menu ul li a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--mf-lime);
    transform: translateX(-50%) scale(0);
    transition: transform .3s ease;
}

.header-main .main-menu ul li.active > a,
.header-main .main-menu ul li a:hover { color: var(--mf-lime) !important; }

.header-main .main-menu ul li.active > a::after,
.header-main .main-menu ul li a:hover::after { transform: translateX(-50%) scale(1); }

.header-2 .header-right { gap: 16px; }

.header-2 .header-right .theme-btn {
    height: 50px;
    line-height: 50px;
    padding: 0 24px;
}

.header-2 .header-right .theme-btn::before { background-color: #fff; }
.header-2 .header-right .theme-btn:hover { color: var(--mf-forest); }

.header__hamburger .sidebar__toggle { cursor: pointer; }

/* Offcanvas (mobile navigation) */
.offcanvas__info { background: var(--mf-forest); }
.offcanvas__wrapper .offcanvas__logo img { width: auto; height: 46px; max-width: 100%; object-fit: contain; }
.offcanvas__wrapper .offcanvas__top { gap: 20px; padding-bottom: 24px; margin-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.offcanvas__wrapper .offcanvas__logo { min-width: 0; flex: 1; }
.offcanvas__wrapper .offcanvas__close { flex-shrink: 0; }
@media (max-width: 575px) {
    .offcanvas__wrapper .offcanvas__logo img { width: auto; height: 40px; }
}
.offcanvas__info .offcanvas__content .text { color: rgba(255, 255, 255, .72); }
.offcanvas__info .mf-off-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 30px;
    padding: 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .06);
    color: #fff;
}
.offcanvas__info .mf-off-brand img { width: 52px; height: auto; }
.offcanvas__info .mf-off-brand span { display: block; font-size: 13px; color: rgba(255, 255, 255, .65); line-height: 1.4; }
.offcanvas__info .mf-off-brand strong { font-family: var(--heading-font); font-weight: 500; font-size: 18px; }

/*---------------------------------------
04. Buttons & shared UI
---------------------------------------*/
.theme-btn {
    font-family: var(--ui-font);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: .1em;
    border-radius: 999px;
    color: var(--mf-forest);
    padding: 0 32px;
}

.theme-btn::before { border-radius: 999px; background-color: var(--mf-forest); }

.theme-btn i { margin-left: 8px; transition: transform .35s ease; }
.theme-btn:hover i { transform: translateX(4px); }

.theme-btn.style-2 { background-color: var(--mf-green); color: #fff; }
.theme-btn.style-2::before { background-color: var(--mf-maroon); }

.theme-btn.mf-btn-ghost {
    background: transparent;
    color: #fff;
    box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .55);
}
.theme-btn.mf-btn-ghost::before { background-color: #fff; }
.theme-btn.mf-btn-ghost:hover { color: var(--mf-forest); }

.theme-btn.mf-btn-outline {
    background: transparent;
    color: var(--header);
    box-shadow: inset 0 0 0 1.5px var(--mf-line);
}
.theme-btn.mf-btn-outline::before { background-color: var(--mf-green); }
.theme-btn.mf-btn-outline:hover { color: #fff; }

.mf-btn-group { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

.link-btn { font-family: var(--ui-font); color: var(--mf-green); font-weight: 600; }

.mf-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--ui-font);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--header);
}
.mf-link i {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    background: var(--mf-lime);
    color: var(--mf-forest);
    transition: transform .35s ease, background .35s ease;
}
.mf-link:hover { color: var(--mf-green); }
.mf-link:hover i { transform: rotate(-45deg); background: var(--mf-green); color: #fff; }

.mf-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--mf-forest);
    background: rgba(140, 198, 63, .16);
    border: 1px solid rgba(20, 97, 31, .14);
}
.mf-chip i { color: var(--mf-green); }

.mf-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    font-size: 26px;
    color: var(--mf-green);
    background: rgba(140, 198, 63, .16);
    flex-shrink: 0;
    transition: all .4s ease;
}

/* Back to top */
.back-to-top { background-color: var(--mf-green); color: #fff; }

/* Preloader / cursor accents */
.cursor-inner { background-color: var(--mf-green); }
.cursor-outer { border-color: var(--mf-green); }

/*---------------------------------------
05. Media containers — fixed aspect ratios so replacement images never break layout
---------------------------------------*/
.mf-media {
    position: relative;
    overflow: hidden;
    border-radius: var(--mf-radius);
    background: var(--mf-sand);
    isolation: isolate;
}
.mf-media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
.mf-media.is-zoom:hover > img { transform: scale(1.05); }
.mf-media[data-ratio="1/1"] { aspect-ratio: 1 / 1; }
.mf-media[data-ratio="4/5"] { aspect-ratio: 4 / 5; }
.mf-media[data-ratio="3/4"] { aspect-ratio: 3 / 4; }
.mf-media[data-ratio="4/3"] { aspect-ratio: 4 / 3; }
.mf-media[data-ratio="3/2"] { aspect-ratio: 3 / 2; }
.mf-media[data-ratio="16/9"] { aspect-ratio: 16 / 9; }
.mf-media[data-ratio="21/9"] { aspect-ratio: 21 / 9; }
.mf-media[data-ratio="2/3"] { aspect-ratio: 2 / 3; }

/* Image reveal (triggered by WOW .wow + .mf-reveal) */
.mf-reveal.animated { animation-name: mfReveal !important; animation-duration: 1.2s !important; animation-timing-function: cubic-bezier(.7, 0, .2, 1) !important; }
@keyframes mfReveal {
    from { clip-path: inset(0 0 100% 0); }
    to { clip-path: inset(0 0 0 0); }
}

/*---------------------------------------
06. Home
---------------------------------------*/

/* Hero — inset rounded hero (template hero-2 idea) with animated product stage */
.mf-hero {
    position: relative;
    margin: 24px 40px 0;
    border-radius: 32px;
    overflow: hidden;
    min-height: min(100vh, 980px);
    min-height: min(100svh, 980px);
    display: flex;
    align-items: center;
    padding: 170px 0 110px;
    color: #fff;
    isolation: isolate;
    background: #0C2E15;
}
.mf-hero .mf-hero-bg { position: absolute; inset: 0; z-index: -3; }
.mf-hero .mf-hero-bg img { width: 100%; height: 115%; object-fit: cover; opacity: .32; }
.mf-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(60% 70% at 78% 50%, rgba(140, 198, 63, .16) 0%, rgba(140, 198, 63, 0) 70%),
        linear-gradient(100deg, rgba(10, 36, 16, .97) 0%, rgba(12, 46, 21, .9) 42%, rgba(12, 46, 21, .55) 100%);
}
.mf-hero::after {
    /* fine grain for a printed, premium finish */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .12;
    mix-blend-mode: soft-light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.mf-hero .container { max-width: 1440px; position: relative; }

/* floating spice specks */
.mf-hero-particles { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.mf-hero-particles span {
    position: absolute;
    bottom: -20px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mf-lime);
    opacity: 0;
    animation: mfRise 14s linear infinite;
}
.mf-hero-particles span:nth-child(1) { left: 8%;  animation-delay: 0s; }
.mf-hero-particles span:nth-child(2) { left: 22%; animation-delay: 4s; width: 5px; height: 5px; background: #F4C15A; }
.mf-hero-particles span:nth-child(3) { left: 38%; animation-delay: 8s; }
.mf-hero-particles span:nth-child(4) { left: 52%; animation-delay: 2s; width: 6px; height: 6px; background: #F4C15A; }
.mf-hero-particles span:nth-child(5) { left: 64%; animation-delay: 10s; width: 4px; height: 4px; }
.mf-hero-particles span:nth-child(6) { left: 76%; animation-delay: 6s; background: #F4C15A; }
.mf-hero-particles span:nth-child(7) { left: 88%; animation-delay: 12s; width: 5px; height: 5px; }
.mf-hero-particles span:nth-child(8) { left: 95%; animation-delay: 3s; width: 4px; height: 4px; background: #F4C15A; }
@keyframes mfRise {
    0% { transform: translateY(0) translateX(0); opacity: 0; }
    10% { opacity: .55; }
    90% { opacity: .35; }
    100% { transform: translateY(-105vh) translateX(40px); opacity: 0; }
}

/* copy */
.mf-hero .mf-hero-content { max-width: 640px; }
.mf-hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 18px 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .16);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .85);
    margin-bottom: 28px;
}
.mf-hero-pill-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mf-lime); box-shadow: 0 0 0 0 rgba(140, 198, 63, .7); animation: mfPulse 2.2s infinite; }
.mf-hero h1 {
    color: #fff;
    font-size: clamp(40px, 4.5vw, 76px);
    line-height: 1.04;
    font-weight: 400;
    letter-spacing: -0.03em;
}
.mf-hero h1 em { font-style: italic; color: var(--mf-lime); font-weight: 400; }
.mf-hero .mf-hero-text {
    font-size: 19px;
    line-height: 1.65;
    color: rgba(255, 255, 255, .78);
    max-width: 540px;
    margin: 26px 0 38px;
}
.mf-hero .mf-hero-pillars {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 26px;
    margin-top: 54px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, .14);
}
.mf-hero .mf-hero-pillars li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, .85);
}
.mf-hero .mf-hero-pillars li span {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(140, 198, 63, .14);
    color: var(--mf-lime);
    font-size: 16px;
}

/* product stage */
.mf-stage {
    --stage-color: #F4A11A;
    --interval: 3800ms;
    position: relative;
    height: 640px;
    max-width: 600px;
    margin-left: auto;
    margin-right: 10px;
    user-select: none;
    touch-action: pan-y;
}
.mf-stage-glow {
    position: absolute;
    left: 50%;
    top: 44%;
    width: 62%;
    aspect-ratio: 1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--stage-color);
    filter: blur(90px);
    opacity: .42;
    transition: background-color 1.1s ease;
}
.mf-stage-ring {
    position: absolute;
    left: 50%;
    top: 44%;
    width: 86%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px dashed rgba(255, 255, 255, .14);
}
.mf-stage-ring svg { width: 100%; height: 100%; animation: cir36 40s linear infinite; }
.mf-stage-ring text { font-family: var(--ui-font); font-size: 11px; font-weight: 600; letter-spacing: 4px; text-transform: uppercase; fill: rgba(255, 255, 255, .42); }
.mf-stage-platform {
    position: absolute;
    left: 50%;
    bottom: 17%;
    width: 58%;
    height: 54px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0));
}
.mf-stage-platform::after {
    content: "";
    position: absolute;
    inset: 6px 4%;
    border-radius: 50%;
    border: 1px solid rgba(140, 198, 63, .35);
}
.mf-stage-track {
    position: absolute;
    inset: 0;
    transform: translate3d(calc(var(--mx, 0) * 14px), calc(var(--my, 0) * 10px), 0);
    transition: transform .6s ease-out;
}
.mf-stage-item {
    position: absolute;
    left: 50%;
    bottom: 19%;
    width: min(44%, 290px);
    margin: 0;
    transform-origin: 50% 100%;
    transform: translateX(-50%) scale(.4);
    opacity: 0;
    z-index: 1;
    transition: transform 1s cubic-bezier(.65, 0, .25, 1), opacity 1s ease, filter 1s ease;
    pointer-events: none;
}
.mf-stage-item img {
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 30px 34px rgba(0, 0, 0, .45));
}
.mf-stage-item[data-pos="0"] { transform: translateX(-50%) rotate(-4deg) scale(1); opacity: 1; z-index: 5; pointer-events: auto; }
.mf-stage-item[data-pos="0"] img { animation: mfFloat 6s ease-in-out infinite; }
.mf-stage-item[data-pos="-1"] { transform: translateX(-112%) translateY(-7%) rotate(-12deg) scale(.6); opacity: .92; z-index: 3; filter: brightness(.7) saturate(.9); pointer-events: auto; cursor: pointer; }
.mf-stage-item[data-pos="1"] { transform: translateX(12%) translateY(-7%) rotate(10deg) scale(.6); opacity: .92; z-index: 3; filter: brightness(.7) saturate(.9); pointer-events: auto; cursor: pointer; }
.mf-stage-item[data-pos="-2"] { transform: translateX(-150%) translateY(-12%) rotate(-20deg) scale(.42); opacity: 0; z-index: 2; }
.mf-stage-item[data-pos="2"] { transform: translateX(50%) translateY(-12%) rotate(20deg) scale(.42); opacity: 0; z-index: 2; }
@keyframes mfFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-16px) rotate(1.5deg); }
}

.mf-stage-brand {
    position: absolute;
    top: 4%;
    right: 2%;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px 10px 10px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    color: #fff;
    font-family: var(--heading-font);
    font-size: 19px;
    line-height: 1.15;
    transition: background .4s ease, transform .4s ease;
}
.mf-stage-brand:hover { color: #fff; background: rgba(255, 255, 255, .16); transform: translateY(-3px); }
.mf-stage-brand img { width: 46px; height: auto; }
.mf-stage-brand small { display: block; font-family: var(--ui-font); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--mf-lime); }

.mf-stage-bar {
    position: absolute;
    left: 4%;
    right: 4%;
    bottom: 0;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 14px 14px 24px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .14);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}
.mf-stage-info { min-width: 0; }
.mf-stage-count { display: block; font-size: 12px; letter-spacing: .16em; color: rgba(255, 255, 255, .6); }
.mf-stage-count b { color: var(--mf-lime); font-weight: 700; }
.mf-stage-name {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--heading-font);
    font-size: 24px;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.mf-stage-name i { font-size: 14px; color: var(--mf-lime); transition: transform .3s ease; }
.mf-stage-name:hover { color: var(--mf-lime); }
.mf-stage-name:hover i { transform: translateX(4px); }
.mf-stage-name.is-changing { animation: mfNameIn .6s ease; }
@keyframes mfNameIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.mf-stage-controls { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.mf-stage-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .25);
    transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.mf-stage-btn:hover, .mf-stage-btn:focus-visible { background: var(--mf-lime); border-color: var(--mf-lime); color: var(--mf-forest); }
.mf-stage-dots { display: flex; gap: 6px; }
.mf-stage-dots button {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .3);
    overflow: hidden;
    transition: width .5s ease, background .3s ease;
}
.mf-stage-dots button.is-active { width: 34px; background: rgba(255, 255, 255, .22); }
.mf-stage-dots button.is-active::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--mf-lime);
    transform-origin: left;
    animation: mfProgress var(--interval) linear forwards;
}
.mf-stage.is-paused .mf-stage-dots button.is-active::after { animation-play-state: paused; }
.mf-stage.is-static .mf-stage-dots button.is-active::after { animation: none; transform: none; }
@keyframes mfProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* scroll cue */
.mf-hero-scroll {
    position: absolute;
    left: 50%;
    bottom: 26px;
    transform: translateX(-50%);
    width: 26px;
    height: 42px;
    border-radius: 999px;
    border: 1.5px solid rgba(255, 255, 255, .4);
    z-index: 2;
}
.mf-hero-scroll span {
    position: absolute;
    left: 50%;
    top: 8px;
    width: 4px;
    height: 8px;
    margin-left: -2px;
    border-radius: 4px;
    background: var(--mf-lime);
    animation: mfScrollCue 1.8s ease-in-out infinite;
}
@keyframes mfScrollCue {
    0% { transform: translateY(0); opacity: 1; }
    80% { transform: translateY(14px); opacity: 0; }
    100% { opacity: 0; }
}

@media (max-width: 1399px) {
    .mf-stage { height: 580px; }
}
@media (max-width: 1199px) {
    .mf-hero { padding: 150px 0 100px; }
    .mf-stage { height: 540px; }
    .mf-stage-name { font-size: 20px; }
}
@media (max-width: 991px) {
    .mf-hero { min-height: 0; padding: 150px 0 90px; }
    .mf-hero .mf-hero-content { max-width: none; }
    .mf-stage { margin: 0 auto; height: 560px; }
    .mf-hero-scroll { display: none; }
}
@media (max-width: 767px) {
    .mf-hero { padding: 130px 0 50px; }
    .mf-hero h1 { font-size: 40px; }
    .mf-hero .mf-hero-pillars { margin-top: 36px; gap: 12px 18px; }
    .mf-hero .mf-hero-pillars li { font-size: 13px; }
    .mf-stage { height: 470px; }
    .mf-stage-item { width: 50%; bottom: 22%; }
    .mf-stage-item[data-pos="-1"] { transform: translateX(-112%) translateY(-6%) rotate(-12deg) scale(.6); }
    .mf-stage-item[data-pos="1"] { transform: translateX(12%) translateY(-6%) rotate(10deg) scale(.6); }
    .mf-stage-ring { width: 96%; }
    .mf-stage-brand { top: 0; right: 0; padding: 8px 14px 8px 8px; font-size: 16px; }
    .mf-stage-brand img { width: 36px; }
    .mf-stage-bar { left: 0; right: 0; padding: 12px 12px 12px 18px; }
    .mf-stage-name { font-size: 18px; }
    .mf-stage-btn { width: 40px; height: 40px; }
}
@media (max-width: 470px) {
    .mf-hero h1 { font-size: 36px; }
    .mf-stage { height: 430px; }
    .mf-stage-dots { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .mf-hero-particles, .mf-hero-scroll span { display: none; }
    .mf-stage-ring svg, .mf-stage-item img, .mf-hero-pill-dot { animation: none !important; }
    .mf-stage-item { transition-duration: .01s; }
}

/* Intro / heritage split */
.mf-intro .mf-intro-media {
    position: relative;
    padding: 0 0 80px 70px;
}
.mf-intro .mf-intro-media .mf-media.is-main { aspect-ratio: 4 / 5; }
.mf-intro .mf-intro-media .mf-media.is-float {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 46%;
    aspect-ratio: 1 / 1;
    border: 10px solid #fff;
    box-shadow: var(--mf-shadow);
}
.mf-intro .mf-intro-badge {
    position: absolute;
    top: 40px;
    left: 10px;
    background: var(--mf-maroon);
    color: #fff;
    border-radius: 20px;
    padding: 20px 24px;
    max-width: 220px;
    box-shadow: var(--mf-shadow);
    z-index: 2;
}
.mf-intro .mf-intro-badge small { display: block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--mf-lime); margin-bottom: 6px; }
.mf-intro .mf-intro-badge strong { font-family: var(--heading-font); font-weight: 400; font-size: 20px; line-height: 1.3; }

.mf-intro .mf-intro-content { padding-left: 40px; }
.mf-intro .mf-intro-content p + p { margin-top: 18px; }
.mf-goal {
    margin-top: 34px;
    padding: 28px 30px;
    border-radius: 22px;
    background: var(--mf-cream);
    border-left: 4px solid var(--mf-leaf);
}
.mf-goal span { display: block; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--mf-green); font-weight: 600; margin-bottom: 8px; }
.mf-goal p { font-family: var(--heading-font); font-size: 24px; line-height: 1.35; color: var(--header); margin: 0; }

/* Marquee ribbon */
.mf-marquee {
    background: var(--mf-forest);
    color: #fff;
    overflow: hidden;
    padding: 26px 0;
    white-space: nowrap;
    position: relative;
}
.mf-marquee.is-tilt { transform: rotate(-1.5deg); margin: 0 -20px; }
.mf-marquee-track {
    display: inline-flex;
    gap: 48px;
    align-items: center;
    animation: mfMarquee 38s linear infinite;
    padding-left: 48px;
}
.mf-marquee-track span {
    font-family: var(--heading-font);
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 400;
    font-style: italic;
    display: inline-flex;
    align-items: center;
    gap: 48px;
}
.mf-marquee-track span::after {
    content: "\2726";
    font-style: normal;
    font-size: .55em;
    color: var(--mf-lime);
}
@keyframes mfMarquee { to { transform: translateX(-50%); } }

/* Tasty Mill brand intro (home) */
.mf-brand-intro {
    background: var(--tm-cream);
    position: relative;
    overflow: hidden;
}
.mf-brand-intro::before {
    content: "";
    position: absolute;
    right: -180px;
    top: -180px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(168, 160, 58, .22), rgba(168, 160, 58, 0) 70%);
}
.mf-brand-intro .sub-title { color: var(--tm-olive-dark) !important; }
.mf-brand-intro h2 { color: var(--tm-olive-deep); font-size: clamp(48px, 6vw, 84px); line-height: 1; }
.mf-brand-intro .mf-brand-tag {
    font-family: var(--heading-font);
    font-style: italic;
    font-size: 26px;
    color: var(--tm-olive);
    margin: 14px 0 26px;
}
.mf-brand-intro p { color: #5d5741; }
.mf-brand-intro .theme-btn { background: var(--tm-olive-dark); color: #fff; margin-top: 34px; }
.mf-brand-intro .theme-btn::before { background: var(--tm-turmeric); }

.mf-brand-stack {
    position: relative;
    height: 620px;
}
.mf-brand-stack .mf-media { position: absolute; box-shadow: var(--mf-shadow); }
.mf-brand-stack .is-a { left: 0; top: 0; width: 58%; height: 78%; border-radius: 999px 999px 28px 28px; }
.mf-brand-stack .is-b { right: 0; bottom: 0; width: 46%; height: 58%; border-radius: 28px; }
.mf-brand-stack .mf-brand-logo {
    position: absolute;
    right: 6%;
    top: 4%;
    width: 170px;
    padding: 18px;
    background: #fff;
    border-radius: 28px;
    box-shadow: var(--mf-shadow);
    transform: rotate(4deg);
    z-index: 2;
}

/* Product accordion (reuses template project-section-two) */
.project-section-two .sec-top p { max-width: 420px; }
.project-main-item-two .project-item-two img,
.project-main-item-two .project-hover-item .thumb img { object-fit: cover; }
.project-main-item-two .project-hover-item .thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(15, 58, 26, .55) 100%);
    pointer-events: none;
}
.project-main-item-two .project-hover-item .thumb .content { z-index: 2; }
.project-main-item-two .project-hover-item .thumb .content span { color: var(--mf-green); letter-spacing: .14em; text-transform: uppercase; font-size: 12px; font-weight: 600; }
.project-main-item-two .project-item-two .mf-label {
    position: absolute;
    left: 50%;
    bottom: 28px;
    transform: translateX(-50%);
    writing-mode: vertical-rl;
    rotate: 180deg;
    font-family: var(--heading-font);
    font-size: 26px;
    color: #fff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .5);
    white-space: nowrap;
}
.project-main-item-two .project-item-two::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .55));
}
.project-main-item-two .project-item-two .mf-label { z-index: 2; }

/* Values list (reuses template service-box-item-two hover-image rows) */
.service-wrapper-two { border-color: var(--mf-line); background: #fff; }
.service-wrapper-two .service-box-item-two:not(:last-child) { border-color: var(--mf-line); }
.service-wrapper-two .service-box-item-two .content { flex-basis: 40%; }
.service-wrapper-two .service-box-item-two .content .title { max-width: none; font-size: 30px; }
.service-wrapper-two .service-box-item-two .mf-num {
    font-family: var(--ui-font);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .14em;
    color: var(--mf-green);
    min-width: 36px;
}
.service-wrapper-two .service-box-item-two .text { font-size: 18px; max-width: 470px; margin: 0; }
.service-wrapper-two .service-box-item-two:hover .mf-icon { background: var(--mf-green); color: #fff; }
.service-wrapper-two .service-box-item-two .hover-image img { border-radius: 20px; width: 260px; height: 180px; object-fit: cover; }

/* Quality highlights (reuses template choose-us-section-2) */
.choose-us-section-2 { background: var(--mf-forest); }
.choose-us-section-2 .choose-content-2 .section-title .sub-title { color: var(--mf-lime); }
.choose-us-section-2 .choose-text { color: rgba(255, 255, 255, .78); text-transform: none; font-size: 18px; max-width: 600px; }
.choose-us-section-2 .mf-choose-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 34px 30px;
    margin-top: 44px;
}
.choose-us-section-2 .mf-choose-item .mf-icon { background: rgba(140, 198, 63, .14); color: var(--mf-lime); margin-bottom: 20px; }
.choose-us-section-2 .mf-choose-item h3 { color: #fff; font-size: 23px; margin-bottom: 10px; }
.choose-us-section-2 .mf-choose-item p { color: rgba(255, 255, 255, .7); font-size: 16px; line-height: 1.6; margin: 0; }
.choose-us-section-2 .choose-thumb-2::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(10, 30, 15, .85));
    pointer-events: none;
}
.choose-us-section-2 .choose-thumb-2 .content { z-index: 2; right: 60px; }
.choose-us-section-2 .choose-thumb-2 .content .title-2 { font-family: var(--heading-font); line-height: 1.2; }
.choose-us-section-2 .choose-thumb-2 .content .title-2 em { font-style: italic; color: var(--mf-lime); }
.choose-us-section-2 .mf-choose-cta { margin-top: 48px; }

/* Vision (reuses template benifit-section-2) */
.benifit-section-2 { background: var(--bg2); }
.benifit-section-2 .section-title-area p { text-transform: none; font-size: 18px; }
.benifit-thumb-items-2 { overflow: hidden; }
.benifit-thumb-items-2::before { content: ""; position: absolute; inset: 0 0 50% 0; z-index: 1; border-radius: 30px 30px 0 0; background: linear-gradient(180deg, rgba(10, 36, 16, .6), rgba(10, 36, 16, 0)); pointer-events: none; }
.benifit-thumb-items-2 .mf-vision-quote, .benifit-thumb-items-2 .benifit-content { z-index: 2; }
.benifit-thumb-items-2 > img { height: 120% !important; }
.benifit-thumb-items-2 .mf-vision-quote {
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    font-family: var(--heading-font);
    font-size: clamp(36px, 5vw, 72px);
    line-height: 1.05;
    font-weight: 400;
    text-shadow: 0 4px 30px rgba(0, 0, 0, .35);
    padding: 0 20px;
}
.benifit-thumb-items-2 .mf-vision-quote em { font-style: italic; color: #E8F5C8; }
.benifit-thumb-items-2 .benifit-content .icon-items { display: flex; gap: 18px; align-items: flex-start; flex: 1; }
.benifit-thumb-items-2 .benifit-content .icon-items h3 { font-size: 22px; margin-bottom: 6px; }
.benifit-thumb-items-2 .benifit-content .icon-items p { font-size: 15px; line-height: 1.55; margin: 0; }
.benifit-thumb-items-2 .benifit-content .mf-step-arrow { color: var(--mf-leaf); font-size: 22px; align-self: center; }

/*---------------------------------------
07. Inner page hero (extends template breadcrumb-wrapper)
---------------------------------------*/
.mf-page-hero {
    position: relative;
    margin: 24px 40px 0;
    border-radius: 32px;
    overflow: hidden;
    isolation: isolate;
    min-height: 640px;
    display: flex;
    align-items: flex-end;
    color: #fff;
}
.mf-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(15, 58, 26, .92) 0%, rgba(15, 58, 26, .65) 45%, rgba(15, 58, 26, .15) 100%),
                linear-gradient(0deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0) 50%);
    mix-blend-mode: normal;
}
.mf-page-hero .mf-hero-bg { position: absolute; inset: 0; z-index: -2; }
.mf-page-hero .mf-hero-bg img { width: 100%; height: 115%; object-fit: cover; }
.mf-page-hero .page-heading { padding: 220px 0 80px; text-align: left; max-width: 820px; }
.mf-page-hero .breadcrumb-list { justify-content: flex-start; margin: 0 0 26px; display: flex; gap: 10px; flex-wrap: wrap; }
.mf-page-hero .breadcrumb-list li,
.mf-page-hero .breadcrumb-list li a {
    font-family: var(--ui-font);
    font-size: 13px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 600;
    color: rgba(255, 255, 255, .78);
}
.mf-page-hero .breadcrumb-list li a:hover { color: var(--mf-lime); }
.mf-page-hero .breadcrumb-list li.is-current { color: var(--mf-lime); }
.mf-page-hero h1 {
    color: #fff;
    font-size: clamp(40px, 5.4vw, 80px);
    line-height: 1.04;
    font-weight: 400;
    letter-spacing: -0.03em;
}
.mf-page-hero h1 em { font-style: italic; color: var(--mf-lime); }
.mf-page-hero .mf-page-hero-text { margin-top: 24px; font-size: 19px; color: rgba(255, 255, 255, .85); max-width: 640px; }
.mf-page-hero .mf-page-hero-text strong { color: #fff; }

/*---------------------------------------
08. About
---------------------------------------*/
.mf-who .mf-who-media { position: relative; padding-right: 60px; }
.mf-who .mf-who-media .mf-media.is-main { aspect-ratio: 4 / 5; }
.mf-who .mf-who-media .mf-who-badge {
    position: absolute;
    right: 0;
    bottom: 60px;
    width: 210px;
    padding: 28px 24px;
    border-radius: 24px;
    background: var(--mf-green);
    color: #fff;
    box-shadow: var(--mf-shadow);
}
.mf-who .mf-who-badge small { display: block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--mf-lime); margin-bottom: 8px; }
.mf-who .mf-who-badge strong { display: block; font-family: var(--heading-font); font-weight: 400; font-size: 40px; line-height: 1; }
.mf-who .mf-who-badge span { display: block; margin-top: 8px; font-size: 14px; color: rgba(255, 255, 255, .8); line-height: 1.5; }
.mf-who .mf-who-content p + p { margin-top: 18px; }
.mf-who .mf-who-points { margin-top: 34px; display: grid; gap: 16px; }
.mf-who .mf-who-points li {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 18px 22px;
    border-radius: 18px;
    background: var(--mf-cream);
    font-weight: 500;
    color: var(--header);
}
.mf-who .mf-who-points li i { color: var(--mf-green); font-size: 20px; }

.mf-statement {
    padding: 140px 0;
    background: var(--mf-cream);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.mf-statement .mf-statement-mark {
    font-family: var(--heading-font);
    font-size: 160px;
    line-height: .6;
    color: var(--mf-lime);
    opacity: .5;
    display: block;
    height: 70px;
}
.mf-statement blockquote {
    font-family: var(--heading-font);
    font-size: clamp(30px, 3.6vw, 52px);
    line-height: 1.22;
    font-weight: 400;
    color: var(--header);
    max-width: 1100px;
    margin: 0 auto;
    letter-spacing: -0.02em;
}
.mf-statement blockquote em { color: var(--mf-green); }

/* Story — chapter timeline */
.mf-story .mf-story-sticky { position: sticky; top: 140px; }
.mf-story .mf-story-sticky .mf-media { aspect-ratio: 4 / 5; margin-top: 36px; }
.mf-chapters { position: relative; padding-left: 50px; }
.mf-chapters::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: linear-gradient(var(--mf-leaf), rgba(91, 168, 41, .15));
}
.mf-chapter { position: relative; padding-bottom: 60px; }
.mf-chapter:last-child { padding-bottom: 0; }
.mf-chapter::before {
    content: "";
    position: absolute;
    left: -44px;
    top: 6px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid var(--mf-leaf);
}
.mf-chapter .mf-chapter-label { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--mf-green); font-weight: 600; }
.mf-chapter h3 { font-size: 34px; margin: 10px 0 14px; }
.mf-chapter .mf-media { aspect-ratio: 16 / 9; margin-top: 26px; }

/* Vision & Mission */
.mf-vm {
    background: var(--mf-forest);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.mf-vm::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../img/logo/medapallil-icon.png") no-repeat right -160px top -120px / 620px;
    opacity: .05;
    filter: grayscale(1) brightness(3);
}
.mf-vm .container { position: relative; }
.mf-vm .section-title h2 { color: #fff; }
.mf-vision-card {
    border-radius: var(--mf-radius);
    overflow: hidden;
    position: relative;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 44px;
    isolation: isolate;
}
.mf-vision-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.mf-vision-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(15, 58, 26, .1), rgba(15, 58, 26, .92) 70%); }
.mf-vision-card .mf-eyebrow { color: var(--mf-lime); }
.mf-vision-card h3 { color: #fff; font-size: clamp(26px, 2.4vw, 36px); line-height: 1.25; font-weight: 400; }
.mf-vision-card p { color: rgba(255, 255, 255, .8); margin: 18px 0 0; }
.mf-mission-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.mf-mission-list li {
    display: flex;
    gap: 18px;
    padding: 26px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .88);
    font-size: 16px;
    line-height: 1.55;
    transition: background .4s ease, transform .4s ease;
}
.mf-mission-list li:hover { background: rgba(140, 198, 63, .12); transform: translateY(-3px); }
.mf-mission-list li span { font-family: var(--heading-font); font-size: 22px; color: var(--mf-lime); line-height: 1.1; min-width: 34px; }
.mf-mission-list li.is-wide { grid-column: 1 / -1; }

/* Value cards */
.mf-values-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 60px;
}
.mf-values-grid > * { flex: 1 1 calc(20% - 20px); min-width: 230px; max-width: 420px; }
.mf-value-card {
    padding: 36px 28px 34px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--mf-line);
    position: relative;
    overflow: hidden;
    transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
}
.mf-value-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--mf-leaf), var(--mf-green));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .5s ease;
}
.mf-value-card:hover { transform: translateY(-8px); box-shadow: var(--mf-shadow); border-color: transparent; }
.mf-value-card:hover::after { transform: scaleX(1); }
.mf-value-card:hover .mf-icon { background: var(--mf-green); color: #fff; }
.mf-value-card .mf-num { position: absolute; right: 24px; top: 26px; font-family: var(--heading-font); font-size: 15px; color: rgba(46, 20, 16, .35); }
.mf-value-card h3 { font-size: 26px; margin: 26px 0 10px; }
.mf-value-card p { font-size: 15.5px; line-height: 1.6; margin: 0; }

/* Direction split cards */
.mf-direction-card {
    position: relative;
    border-radius: var(--mf-radius);
    overflow: hidden;
    min-height: 520px;
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    isolation: isolate;
    color: #fff;
}
.mf-direction-card > img:not(.mf-direction-logo) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s ease; }
.mf-direction-card:hover > img:not(.mf-direction-logo) { transform: scale(1.05); }
.mf-direction-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(15, 58, 26, .9) 75%); }
.mf-direction-card.is-olive::before { background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(42, 39, 15, .92) 75%); }
/* logo sits in the flow at the top; margin-bottom:auto pushes the text to the bottom so they never overlap */
.mf-direction-card .mf-direction-logo { align-self: flex-start; width: 88px; height: auto; margin-bottom: auto; padding: 10px; border-radius: 18px; background: var(--tm-cream); box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .5); }
.mf-direction-card .mf-eyebrow { color: var(--mf-lime); }
.mf-direction-card.is-olive .mf-eyebrow { color: var(--tm-butter); }
.mf-direction-card h3 { color: #fff; font-size: clamp(28px, 2.6vw, 40px); line-height: 1.15; }
.mf-direction-card p { color: rgba(255, 255, 255, .82); margin: 16px 0 26px; max-width: 520px; }

/*---------------------------------------
09. Manufacturing & Quality
---------------------------------------*/
.mf-pillar {
    border-radius: var(--mf-radius);
    background: #fff;
    border: 1px solid var(--mf-line);
    overflow: hidden;
    height: 100%;
    transition: transform .45s ease, box-shadow .45s ease;
}
.mf-pillar:hover { transform: translateY(-8px); box-shadow: var(--mf-shadow); }
.mf-pillar .mf-media { border-radius: 0; aspect-ratio: 4 / 3; }
.mf-pillar .mf-pillar-body { padding: 34px 34px 38px; position: relative; }
.mf-pillar .mf-pillar-body .mf-icon { position: absolute; top: -32px; right: 30px; background: var(--mf-green); color: #fff; box-shadow: var(--mf-shadow-soft); }
.mf-pillar .mf-pillar-body span { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--mf-green); font-weight: 600; }
.mf-pillar h3 { font-size: 28px; margin: 10px 0 12px; }
.mf-pillar p { margin: 0; }

.mf-quality .mf-quality-sticky { position: sticky; top: 140px; }
.mf-quality .mf-quality-sticky p + p { margin-top: 16px; }
.mf-quality .mf-quality-sticky .mf-media { aspect-ratio: 3 / 2; margin-top: 36px; }
.mf-quality-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.mf-quality-card {
    padding: 40px 34px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--mf-line);
    transition: all .45s ease;
}
.mf-quality-card:nth-child(2), .mf-quality-card:nth-child(4) { transform: translateY(48px); }
.mf-quality-card:hover { background: var(--mf-forest); border-color: var(--mf-forest); }
.mf-quality-card:hover h3 { color: #fff; }
.mf-quality-card:hover p { color: rgba(255, 255, 255, .75); }
.mf-quality-card:hover .mf-icon { background: rgba(140, 198, 63, .18); color: var(--mf-lime); }
.mf-quality-card h3 { font-size: 26px; margin: 28px 0 12px; }
.mf-quality-card p { margin: 0; transition: color .45s ease; }

/* Process — zig-zag timeline */
.mf-process { position: relative; margin-top: 80px; }
.mf-process::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    background: repeating-linear-gradient(180deg, rgba(20, 97, 31, .35) 0 8px, transparent 8px 16px);
}
.mf-step {
    display: grid;
    grid-template-columns: 1fr 120px 1fr;
    align-items: center;
    margin-bottom: 60px;
}
.mf-step:last-child { margin-bottom: 0; }
.mf-step .mf-step-dot {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: var(--mf-cream);
    border: 2px solid var(--mf-leaf);
    display: grid;
    place-items: center;
    font-family: var(--heading-font);
    font-size: 24px;
    color: var(--mf-green);
    position: relative;
    z-index: 1;
    transition: background .4s ease, color .4s ease;
}
.mf-step:hover .mf-step-dot { background: var(--mf-green); color: #fff; }
.mf-step .mf-step-media { grid-row: 1; aspect-ratio: 16 / 10; }
.mf-step .mf-step-body { grid-row: 1; padding: 10px 20px; }
.mf-step .mf-step-body i { font-size: 28px; color: var(--mf-leaf); }
.mf-step .mf-step-body h3 { font-size: 32px; margin: 14px 0 10px; }
.mf-step .mf-step-body p { margin: 0; max-width: 440px; font-size: 17px; }
.mf-step:nth-child(odd) .mf-step-media { grid-column: 1; }
.mf-step:nth-child(odd) .mf-step-body { grid-column: 3; }
.mf-step:nth-child(even) .mf-step-media { grid-column: 3; }
.mf-step:nth-child(even) .mf-step-body { grid-column: 1; text-align: right; }
.mf-step:nth-child(even) .mf-step-body p { margin-left: auto; }

/* Built for scale — full-width parallax banner */
.mf-scale {
    position: relative;
    margin: 0 40px;
    border-radius: 32px;
    overflow: hidden;
    isolation: isolate;
    padding: 160px 0;
    color: #fff;
}
.mf-scale > .mf-scale-bg { position: absolute; inset: 0; z-index: -2; }
.mf-scale > .mf-scale-bg img { width: 100%; height: 125%; object-fit: cover; }
.mf-scale::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(15, 58, 26, .94), rgba(15, 58, 26, .6) 60%, rgba(15, 58, 26, .25)); }
.mf-scale h2 { color: #fff; font-size: clamp(40px, 4.6vw, 68px); }
.mf-scale p { color: rgba(255, 255, 255, .82); font-size: 18px; max-width: 560px; }
.mf-scale p + p { margin-top: 16px; }
.mf-scale .mf-scale-card {
    border-radius: 24px;
    padding: 14px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.mf-scale .mf-scale-card .mf-media { aspect-ratio: 4 / 3; border-radius: 16px; }
.mf-scale .mf-scale-card ul { display: flex; justify-content: space-around; gap: 10px; padding: 18px 6px 6px; flex-wrap: wrap; }
.mf-scale .mf-scale-card li { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; display: flex; align-items: center; gap: 8px; }
.mf-scale .mf-scale-card li i { color: var(--mf-lime); }

/* Trust statement */
.mf-trust { text-align: center; }
.mf-trust-words { display: flex; justify-content: center; flex-wrap: wrap; gap: 0; margin-top: 50px; }
.mf-trust-words li {
    font-family: var(--heading-font);
    font-size: clamp(30px, 3.4vw, 54px);
    line-height: 1.1;
    color: var(--header);
    padding: 10px 40px;
    position: relative;
}
.mf-trust-words li + li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--mf-leaf);
    transform: translate(-50%, -50%);
}
.mf-trust-words li em { color: var(--mf-green); }

/*---------------------------------------
10. Contact
---------------------------------------*/
.mf-contact-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 40px; }
.mf-contact-card {
    padding: 28px;
    border-radius: 22px;
    background: var(--mf-cream);
    border: 1px solid transparent;
    transition: border-color .4s ease, transform .4s ease;
}
.mf-contact-card:hover { border-color: rgba(20, 97, 31, .25); transform: translateY(-4px); }
.mf-contact-card .mf-icon { width: 52px; height: 52px; border-radius: 16px; font-size: 20px; background: #fff; }
.mf-contact-card h3 { font-family: var(--ui-font); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--mf-green); font-weight: 600; margin: 20px 0 8px; }
.mf-contact-card p { margin: 0; font-size: 17px; color: var(--header); line-height: 1.55; }
.mf-contact-company { margin-top: 30px; font-family: var(--heading-font); font-size: 22px; color: var(--header); }

.mf-form-card {
    background: #fff;
    border-radius: 30px;
    padding: 50px;
    box-shadow: var(--mf-shadow);
    border: 1px solid var(--mf-line);
    scroll-margin-top: 140px;
}
.mf-form-card h2 { font-size: clamp(32px, 3vw, 44px); }
.mf-form-card .mf-form-note { margin: 10px 0 30px; font-size: 15px; }
.mf-form-card label {
    display: block;
    font-family: var(--ui-font);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    color: var(--header);
    margin-bottom: 8px;
}
.mf-form-card label .req { color: #B3261E; }
.mf-form-card input,
.mf-form-card textarea,
.mf-form-card .nice-select {
    width: 100%;
    border: 1px solid #E2DCCD;
    background: #FCFAF5;
    border-radius: 14px;
    padding: 0 18px;
    height: 56px;
    line-height: 56px;
    font-size: 16px;
    color: var(--header);
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.mf-form-card textarea { height: 150px; padding: 16px 18px; line-height: 1.6; resize: vertical; }
.mf-form-card input:focus,
.mf-form-card textarea:focus,
.mf-form-card .nice-select.open {
    outline: none;
    color: var(--header);
    border-color: var(--mf-leaf);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(140, 198, 63, .2);
}
.mf-form-card input::placeholder, .mf-form-card textarea::placeholder { color: #A39B90; }
.mf-form-card .nice-select { float: none; display: block; }
.mf-form-card .nice-select::after { right: 22px; border-color: var(--mf-green); width: 8px; height: 8px; }
.mf-form-card .nice-select .list { width: 100%; border-radius: 14px; box-shadow: var(--mf-shadow-soft); max-height: 300px; overflow-y: auto; }
.mf-form-card .nice-select .option { line-height: 44px; min-height: 44px; }
.mf-form-card .nice-select .option.selected { color: var(--mf-green); }
.mf-form-card .theme-btn { border: none; }
.mf-form-card .form-message { margin-top: 18px; font-size: 15px; }
.mf-form-card .form-message.success { color: var(--mf-green); }
.mf-form-card .form-message.error { color: #B3261E; }
.mf-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.mf-form-foot small { font-size: 14px; display: flex; gap: 8px; align-items: center; }
.mf-form-foot small i { color: var(--mf-green); }


@keyframes mfPulse {
    0% { box-shadow: 0 0 0 0 rgba(140, 198, 63, .7); }
    70% { box-shadow: 0 0 0 28px rgba(140, 198, 63, 0); }
    100% { box-shadow: 0 0 0 0 rgba(140, 198, 63, 0); }
}

/*---------------------------------------
11. CTA banners & statements
---------------------------------------*/
.mf-cta {
    position: relative;
    margin: 0 40px;
    border-radius: 32px;
    overflow: hidden;
    isolation: isolate;
    padding: 150px 0;
    text-align: center;
    color: #fff;
}
.mf-cta > .mf-cta-bg { position: absolute; inset: 0; z-index: -2; }
.mf-cta > .mf-cta-bg img { width: 100%; height: 125%; object-fit: cover; }
.mf-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 110% at 50% 50%, rgba(15, 58, 26, .62), rgba(10, 36, 16, .9)); }
.mf-cta h2 { color: #fff; font-size: clamp(40px, 5.4vw, 80px); line-height: 1.04; font-weight: 400; }
.mf-cta h2 em { font-style: italic; color: var(--mf-lime); }
.mf-cta p { font-size: 20px; color: rgba(255, 255, 255, .85); margin: 22px auto 40px; max-width: 620px; }
.mf-cta .mf-btn-group { justify-content: center; }
.mf-cta .mf-cta-sign { margin-top: 50px; font-size: 15px; color: rgba(255, 255, 255, .7); }
.mf-cta .mf-cta-sign strong { display: block; color: #fff; font-family: var(--heading-font); font-weight: 500; font-size: 20px; }

/*---------------------------------------
12. Footer
---------------------------------------*/
.mf-footer {
    background: var(--mf-forest);
    color: rgba(255, 255, 255, .72);
    margin: 0 40px 40px;
    border-radius: 32px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.mf-footer::before {
    content: "";
    position: absolute;
    left: -140px;
    bottom: -160px;
    width: 520px;
    height: 520px;
    background: url("../img/logo/medapallil-icon.png") no-repeat center / contain;
    opacity: .05;
    filter: grayscale(1) brightness(3);
    z-index: -1;
}
.mf-footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 70px 0 60px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.mf-footer-top h2 { color: #fff; font-size: clamp(30px, 3.2vw, 48px); font-weight: 400; max-width: 720px; }
.mf-footer-top h2 em { color: var(--mf-lime); }
.mf-footer-main { padding: 70px 0 60px; }
.mf-footer .mf-footer-logo img { height: 62px; width: auto; }
.mf-footer .mf-footer-about { margin: 24px 0 0; max-width: 380px; font-size: 16px; line-height: 1.7; }
.mf-footer .mf-footer-tagline { margin-top: 18px; font-family: var(--heading-font); font-style: italic; color: var(--mf-lime); font-size: 18px; }
.mf-footer h3 { font-family: var(--ui-font); font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #fff; margin-bottom: 24px; }
.mf-footer-links li + li { margin-top: 12px; }
.mf-footer-links a { color: rgba(255, 255, 255, .72); display: inline-flex; align-items: center; gap: 10px; }
.mf-footer-links a::before { content: ""; width: 0; height: 1.5px; background: var(--mf-lime); transition: width .3s ease; }
.mf-footer-links a:hover { color: #fff; }
.mf-footer-links a:hover::before { width: 14px; }
.mf-footer-contact li { display: flex; gap: 14px; margin-bottom: 16px; line-height: 1.55; }
.mf-footer-contact li i { color: var(--mf-lime); margin-top: 5px; width: 16px; }
.mf-footer-contact a { color: rgba(255, 255, 255, .8); }
.mf-footer-contact a:hover { color: var(--mf-lime); }
.mf-footer-brand {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 18px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    color: #fff;
    transition: background .4s ease;
}
.mf-footer-brand:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.mf-footer-brand img { width: 68px; height: auto; background: #fff; border-radius: 14px; padding: 6px; }
.mf-footer-brand strong { display: block; font-family: var(--heading-font); font-size: 20px; font-weight: 500; }
.mf-footer-brand span { font-size: 14px; color: rgba(255, 255, 255, .65); line-height: 1.45; display: block; }
.mf-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding: 26px 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: 14px;
}
.mf-footer-bottom a { color: rgba(255, 255, 255, .72); }
.mf-footer-bottom a:hover { color: var(--mf-lime); }

/*---------------------------------------
13. Tasty Mill (sub-brand page)
   Arch motif taken from the logo's domed top; olive palette from the logo,
   turmeric accent from golden Kerala snacks.
---------------------------------------*/
.page-tastymill { background: var(--tm-cream); color: #5F5843; }
.page-tastymill h1, .page-tastymill h2, .page-tastymill h3 { color: var(--tm-olive-deep); }
.page-tastymill .section-title .sub-title,
.page-tastymill .mf-eyebrow { color: #7C7425; }
.page-tastymill .header-2 .header-items-two { background-color: rgba(42, 39, 15, .92); }
.page-tastymill .sticky.header-2 { background-color: var(--tm-olive-deep); }
.page-tastymill .header-main .main-menu ul li.active > a,
.page-tastymill .header-main .main-menu ul li a:hover { color: var(--tm-butter) !important; }
.page-tastymill .header-main .main-menu ul li a::after { background: var(--tm-turmeric); }
.page-tastymill .theme-btn { background: var(--tm-turmeric); color: var(--tm-olive-deep); }
.page-tastymill .theme-btn::before { background: var(--tm-olive-deep); }
.page-tastymill .theme-btn:hover { color: #fff; }
.page-tastymill .header-2 .header-right .theme-btn::before { background: #fff; }
.page-tastymill .header-2 .header-right .theme-btn:hover { color: var(--tm-olive-deep); }
.page-tastymill .back-to-top { background: var(--tm-olive-dark); }
.page-tastymill .offcanvas__info { background: var(--tm-olive-deep); }

.tm-grain { position: relative; }
.tm-grain::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    mix-blend-mode: soft-light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.tm-arch { border-radius: 999px 999px 28px 28px !important; }
.tm-arch-full { border-radius: 999px 999px 999px 999px !important; }

/* Hero */
.tm-hero {
    margin: 24px 40px 0;
    border-radius: 32px;
    background: var(--tm-olive-deep);
    color: var(--tm-butter);
    overflow: hidden;
    padding: 200px 0 110px;
    position: relative;
    isolation: isolate;
}
.tm-hero::before {
    content: "";
    position: absolute;
    left: -10%;
    bottom: -40%;
    width: 70%;
    height: 90%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(168, 160, 58, .35), rgba(168, 160, 58, 0) 65%);
    z-index: -1;
}
.tm-hero .container { max-width: 1440px; }
.tm-hero .tm-hero-logo { width: 150px; margin-bottom: 34px; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .35)); }
.tm-hero .tm-kicker {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    font-size: 13px;
    letter-spacing: .2em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--tm-olive);
    margin-bottom: 16px;
}
.tm-hero .tm-kicker::before { content: ""; width: 26px; height: 2px; background: currentColor; }
.tm-hero h1 {
    color: var(--tm-cream);
    font-size: clamp(46px, 6.4vw, 100px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -0.035em;
}
.tm-hero h1 em { font-style: italic; color: var(--tm-turmeric); }
.tm-hero .tm-hero-text { font-size: 19px; color: rgba(242, 230, 194, .82); max-width: 520px; margin: 28px 0 40px; line-height: 1.65; }
.tm-hero .theme-btn::before { background: var(--tm-cream); }
.tm-hero .theme-btn:hover { color: var(--tm-olive-deep); }
.tm-hero .tm-hero-link { color: var(--tm-butter); }
.tm-hero .tm-hero-link i { background: rgba(242, 230, 194, .15); color: var(--tm-butter); }


/* Ribbon */
.tm-ribbon { background: var(--tm-turmeric); color: var(--tm-olive-deep); margin-top: -40px; position: relative; z-index: 3; transform: rotate(-2deg); }
.tm-ribbon .mf-marquee-track span::after { color: var(--tm-olive-deep); }
.tm-ribbon.is-dark { background: var(--tm-olive-deep); color: var(--tm-butter); transform: rotate(0); margin: 0; }
.tm-ribbon.is-dark .mf-marquee-track span::after { color: var(--tm-turmeric); }

/* Born from tradition — editorial */
.tm-story { padding: 170px 0 140px; overflow: hidden; }
.tm-story .tm-story-title {
    font-size: clamp(38px, 4.4vw, 66px);
    line-height: 1.08;
    font-weight: 400;
}
.tm-story .tm-story-title em { font-style: italic; color: #8E8524; }
.tm-story p { font-size: 18px; }
.tm-story p + p { margin-top: 18px; }
.tm-focus { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.tm-focus li {
    padding: 10px 20px;
    border-radius: 999px;
    background: var(--tm-butter);
    color: var(--tm-olive-deep);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.tm-story-media { position: relative; height: 640px; }
.tm-story-media .is-a { position: absolute; left: 0; top: 0; width: 62%; height: 88%; }
.tm-story-media .is-b { position: absolute; right: 0; bottom: 0; width: 48%; aspect-ratio: 1 / 1; border: 10px solid var(--tm-cream); border-radius: 50% !important; }
.tm-story-media .tm-sticker {
    position: absolute;
    right: 8%;
    top: 6%;
    background: var(--tm-olive-dark);
    color: var(--tm-butter);
    padding: 18px 22px;
    border-radius: 18px;
    font-family: var(--heading-font);
    font-style: italic;
    font-size: 20px;
    line-height: 1.3;
    max-width: 220px;
    transform: rotate(3deg);
    box-shadow: var(--mf-shadow);
}

/* Ingredients & textures */
.tm-textures { padding: 0 0 140px; }
.tm-texture-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1fr 1.2fr;
    gap: 18px;
    align-items: end;
    margin-top: 60px;
}
.tm-texture { position: relative; }
.tm-texture .mf-media { aspect-ratio: 3 / 5; border-radius: 999px 999px 24px 24px; }
.tm-texture:nth-child(2) .mf-media, .tm-texture:nth-child(4) .mf-media { aspect-ratio: 3 / 4; }
.tm-texture:nth-child(3) .mf-media { aspect-ratio: 3 / 6; }
.tm-texture figcaption {
    margin-top: 16px;
    text-align: center;
    font-family: var(--heading-font);
    font-size: 22px;
    color: var(--tm-olive-deep);
}
.tm-texture figcaption small { display: block; font-family: var(--ui-font); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #8A8250; }

/* Product range — reusable product cards */
.tm-products { background: #fff; padding: 140px 0; border-radius: 40px; margin: 0 40px; }
.tm-products-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; margin-bottom: 60px; }
.tm-products-head h2 { font-size: clamp(42px, 5vw, 72px); font-weight: 400; }
.tm-products-head p { max-width: 420px; margin: 0; }
.tm-product-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: auto;
    gap: 26px;
}
.tm-product-card {
    position: relative;
    border-radius: 28px;
    background: var(--tm-cream);
    padding: 16px 16px 30px;
    display: flex;
    flex-direction: column;
    transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s ease, background .5s ease;
}
.tm-product-card:hover { transform: translateY(-10px); box-shadow: 0 34px 60px -30px rgba(42, 39, 15, .45); background: var(--tm-butter); }
.tm-product-card .tm-product-media { aspect-ratio: 4 / 3; border-radius: 20px; }
.tm-product-card .tm-product-tag {
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 2;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(251, 246, 231, .92);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    color: var(--tm-olive-dark);
}
.tm-product-card .tm-product-body { padding: 26px 14px 0; display: flex; flex-direction: column; flex: 1; }
.tm-product-card h3 { font-size: 30px; margin-bottom: 10px; }
.tm-product-card p { margin: 0 0 24px; font-size: 16px; line-height: 1.6; }
.tm-product-card .mf-link { margin-top: auto; color: var(--tm-olive-deep); }
.tm-product-card .mf-link i { background: var(--tm-turmeric); color: var(--tm-olive-deep); }
.tm-product-card:hover .mf-link i { background: var(--tm-olive-deep); color: var(--tm-butter); }
.tm-product-card.is-more { background: transparent; border: 2px dashed rgba(66, 61, 26, .25); }
.tm-product-card.is-more .tm-product-media { filter: saturate(.85); }
.tm-products-note { margin-top: 40px; text-align: center; font-size: 14px; color: #8A8250; }

/* Full-width editorial */
.tm-editorial {
    position: relative;
    margin: 140px 40px 0;
    border-radius: 32px;
    overflow: hidden;
    min-height: 760px;
    display: flex;
    align-items: center;
    isolation: isolate;
}
.tm-editorial > .tm-editorial-bg { position: absolute; inset: 0; z-index: -2; }
.tm-editorial > .tm-editorial-bg img { width: 100%; height: 125%; object-fit: cover; }
.tm-editorial::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(42, 39, 15, 0) 30%, rgba(42, 39, 15, .88) 75%); }
.tm-editorial-content { margin-left: auto; max-width: 540px; color: var(--tm-butter); padding: 60px 0; }
.tm-editorial-content .mf-eyebrow { color: var(--tm-turmeric); }
.tm-editorial-content h2 { color: var(--tm-cream); font-size: clamp(40px, 4.6vw, 68px); font-weight: 400; line-height: 1.04; }
.tm-editorial-content h2 em { font-style: italic; color: var(--tm-turmeric); }
.tm-editorial-content p { margin-top: 24px; font-size: 19px; color: rgba(242, 230, 194, .85); }

/* Why Tasty Mill */
.tm-why { padding: 150px 0; }
.tm-why-layout {
    display: grid;
    grid-template-columns: 1fr minmax(320px, 420px) 1fr;
    gap: 40px;
    align-items: center;
    margin-top: 70px;
}
.tm-why-col { display: grid; gap: 26px; }
.tm-why-item {
    padding: 30px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 40px -26px rgba(42, 39, 15, .35);
    transition: transform .45s ease;
}
.tm-why-item:hover { transform: translateY(-6px); }
.tm-why-col.is-left .tm-why-item:nth-child(2) { margin-right: -40px; margin-left: 40px; }
.tm-why-col.is-right .tm-why-item:nth-child(2) { margin-left: -40px; margin-right: 40px; }
.tm-why-item .mf-icon { background: var(--tm-butter); color: var(--tm-olive-dark); width: 56px; height: 56px; border-radius: 18px; font-size: 22px; }
.tm-why-item h3 { font-size: 24px; margin: 18px 0 8px; }
.tm-why-item p { margin: 0; font-size: 15.5px; line-height: 1.6; }
.tm-why-center { position: relative; }
.tm-why-center .mf-media { aspect-ratio: 3 / 4.4; }
.tm-why-center .tm-why-logo {
    position: absolute;
    left: 50%;
    bottom: -40px;
    transform: translateX(-50%);
    width: 120px;
    padding: 14px;
    background: var(--tm-cream);
    border-radius: 26px;
    box-shadow: var(--mf-shadow);
}

/* Then / Now */
.tm-then-now { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: 32px; overflow: hidden; margin: 0 40px; position: relative; }
.tm-then-now .tm-tn {
    position: relative;
    min-height: 640px;
    display: flex;
    align-items: flex-end;
    padding: 60px;
    isolation: isolate;
    overflow: hidden;
}
.tm-then-now .tm-tn > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.4s ease; }
.tm-then-now .tm-tn:hover > img { transform: scale(1.06); }
.tm-then-now .tm-tn::before { content: ""; position: absolute; inset: 0; z-index: -1; }
.tm-then-now .tm-tn.is-then::before { background: linear-gradient(180deg, rgba(42, 39, 15, .1), rgba(42, 39, 15, .9)); }
.tm-then-now .tm-tn.is-now::before { background: linear-gradient(180deg, rgba(217, 154, 30, .05), rgba(66, 61, 26, .92)); }
.tm-then-now .tm-tn small { display: block; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--tm-turmeric); font-weight: 700; margin-bottom: 12px; }
.tm-then-now .tm-tn h3 { color: var(--tm-cream); font-size: clamp(32px, 3.4vw, 52px); font-weight: 400; line-height: 1.08; }
.tm-then-now .tm-tn h3 em { font-style: italic; }
.tm-then-now .tm-tn p { color: rgba(242, 230, 194, .82); margin: 14px 0 0; max-width: 440px; }
.tm-then-now .tm-tn-divider {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: var(--tm-turmeric);
    display: grid;
    place-items: center;
    z-index: 2;
    box-shadow: 0 0 0 10px rgba(251, 246, 231, .25);
    color: var(--tm-olive-deep);
    font-size: 30px;
}

/* Lifestyle gallery */
.tm-gallery { padding: 140px 0 0; overflow: hidden; }
.tm-gallery-slider { overflow: visible; margin-top: 60px; }
.tm-gallery-slider .swiper-slide { width: 380px; }
.tm-gallery-slider .swiper-slide:nth-child(even) { margin-top: 60px; }
.tm-gallery-slider .mf-media { aspect-ratio: 4 / 5; }
.tm-gallery-slider .swiper-slide:nth-child(3n+1) .mf-media { border-radius: 999px 999px 28px 28px; }
.tm-gallery-slider .swiper-wrapper { transition-timing-function: linear !important; }

/* Tasty Mill CTA */
.tm-cta {
    margin: 140px 40px 0;
    border-radius: 32px;
    background: var(--tm-turmeric);
    color: var(--tm-olive-deep);
    padding: 120px 0;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.tm-cta h2 { color: var(--tm-olive-deep); font-size: clamp(44px, 6vw, 92px); line-height: 1; font-weight: 400; }
.tm-cta h2 em { font-style: italic; color: #fff; }
.tm-cta p { font-size: 20px; margin: 24px 0 40px; max-width: 520px; color: #4A3F12; }
.tm-cta .theme-btn { background: var(--tm-olive-deep); color: var(--tm-butter); }
.tm-cta .theme-btn::before { background: #fff; }
.tm-cta .theme-btn:hover { color: var(--tm-olive-deep); }
.tm-cta .theme-btn.mf-btn-outline { background: transparent; color: var(--tm-olive-deep); box-shadow: inset 0 0 0 1.5px rgba(42, 39, 15, .45); }
.tm-cta-visual { position: relative; height: 520px; }
.tm-cta-visual .mf-media { position: absolute; box-shadow: 0 30px 60px -24px rgba(42, 39, 15, .55); }
.tm-cta-visual .is-a { right: 34%; top: 0; width: 46%; height: 82%; }
.tm-cta-visual .is-b { right: 0; bottom: 0; width: 40%; height: 64%; }
.tm-cta-visual .tm-cta-logo { position: absolute; left: 4%; bottom: 6%; width: 130px; padding: 12px; background: var(--tm-cream); border-radius: 24px; transform: rotate(-6deg); box-shadow: var(--mf-shadow); z-index: 2; }

.page-tastymill .mf-footer { background: var(--tm-olive-deep); margin-top: 140px; }
.page-tastymill .mf-footer-top h2 em,
.page-tastymill .mf-footer .mf-footer-tagline,
.page-tastymill .mf-footer-contact li i { color: var(--tm-turmeric); }
.page-tastymill .mf-footer-links a::before { background: var(--tm-turmeric); }

/*---------------------------------------
14. Responsive
---------------------------------------*/
@media (max-width: 1600px) {
    .mf-hero, .mf-page-hero, .tm-hero { margin: 20px 30px 0; }
    .mf-cta, .mf-scale, .tm-products, .tm-then-now, .mf-inset { margin-left: 30px; margin-right: 30px; }
    .tm-editorial, .tm-cta { margin-left: 30px; margin-right: 30px; }
    .mf-footer { margin: 0 30px 30px; }
}

@media (max-width: 1399px) {
    .header-main .main-menu ul li { margin-inline-end: 24px; }
    .header-2 .header-right .theme-btn { display: none; }
    .tm-why-col.is-left .tm-why-item:nth-child(2),
    .tm-why-col.is-right .tm-why-item:nth-child(2) { margin: 0; }
    .project-main-item-two .project-item-two .mf-label { display: none; }
}

@media (max-width: 1199px) {
    body { font-size: 16px; }
    .header-2 .header-right .theme-btn { display: inline-block; }
    .mf-section, .tm-story, .tm-why, .tm-products { padding: 100px 0; }
    .mf-hero, .mf-page-hero, .tm-hero { margin: 16px 20px 0; }
    .mf-cta, .mf-scale, .tm-products, .tm-then-now, .tm-editorial, .tm-cta, .mf-inset { margin-left: 20px; margin-right: 20px; }
    .mf-footer { margin: 0 20px 20px; }
    .mf-intro .mf-intro-content { padding-left: 0; margin-top: 30px; }
    .choose-us-section-2 .choose-thumb-2 .content { right: 45px; }
    .benifit-thumb-items-2 .benifit-content { flex-wrap: wrap; gap: 26px; }
    .benifit-thumb-items-2 .benifit-content .mf-step-arrow { display: none; }
    .benifit-thumb-items-2 .benifit-content .icon-items { flex: 1 1 100%; }
    .benifit-thumb-items-2 .mf-vision-quote { top: 50px; }
    .mf-story .mf-story-sticky { position: static; }
    .mf-quality .mf-quality-sticky { position: static; margin-bottom: 40px; }
    .tm-why-layout { grid-template-columns: 1fr 1fr; }
    .tm-why-center { grid-column: 1 / -1; grid-row: 1; max-width: 420px; margin: 0 auto 50px; width: 100%; }
    .tm-texture-grid { grid-template-columns: repeat(3, 1fr); }
    .tm-texture-grid .tm-texture:nth-child(n+4) { display: none; }
    .tm-product-grid { grid-template-columns: repeat(4, 1fr); }
    /* Values: compact icon-left rows instead of the template's tall centred stack */
    .service-wrapper-two .service-box-item-two {
        grid-template-columns: auto 1fr;
        justify-content: stretch;
        align-items: start;
        gap: 6px 22px;
        padding: 30px;
        text-align: left;
    }
    .service-wrapper-two .service-box-item-two .content { display: contents; }
    .service-wrapper-two .service-box-item-two .mf-icon { grid-column: 1; grid-row: 1 / span 3; }
    .service-wrapper-two .service-box-item-two .mf-num { grid-column: 2; grid-row: 1; line-height: 1.4; }
    .service-wrapper-two .service-box-item-two .content .title { grid-column: 2; grid-row: 2; margin: 0; font-size: 26px; }
    .service-wrapper-two .service-box-item-two .text { grid-column: 2; grid-row: 3; max-width: none; margin: 4px 0 0; }
}

@media (max-width: 991px) {
    .mf-page-hero { min-height: 520px; }
    .mf-page-hero .page-heading { padding: 190px 0 60px; }
    .mf-intro .mf-intro-media { padding: 0 0 60px 40px; }
    .mf-brand-stack { height: 520px; margin-bottom: 30px; }
    .mf-who .mf-who-media { padding-right: 30px; margin-bottom: 30px; }
    .mf-mission-list { grid-template-columns: 1fr; }
    .mf-vision-card { min-height: 460px; margin-bottom: 24px; }
    .mf-process::before { left: 38px; }
    .mf-step { grid-template-columns: 76px 1fr; gap: 0 26px; margin-bottom: 50px; }
    .mf-step .mf-step-dot { grid-column: 1 !important; grid-row: 1 / span 2; align-self: start; }
    .mf-step .mf-step-body,
    .mf-step:nth-child(even) .mf-step-body { grid-column: 2 !important; grid-row: 1; text-align: left; padding: 6px 0 20px; }
    .mf-step:nth-child(even) .mf-step-body p { margin-left: 0; }
    .mf-step .mf-step-media,
    .mf-step:nth-child(even) .mf-step-media { grid-column: 2 !important; grid-row: 2; }
    .mf-quality-card:nth-child(2), .mf-quality-card:nth-child(4) { transform: none; }
    .mf-scale { padding: 100px 0; }
    .mf-scale .mf-scale-card { margin-top: 40px; }
    .mf-footer-top { flex-direction: column; align-items: flex-start; }
    .tm-hero { padding: 170px 0 90px; }
    .tm-story-media { height: 540px; margin-top: 50px; }
    .tm-then-now { grid-template-columns: 1fr; }
    .tm-then-now .tm-tn { min-height: 480px; padding: 40px; }
    .tm-then-now .tm-tn-divider { width: 80px; height: 80px; font-size: 22px; transform: translate(-50%, -50%) rotate(90deg); }
    .tm-editorial::before { background: linear-gradient(180deg, rgba(42, 39, 15, .1) 20%, rgba(42, 39, 15, .9) 70%); }
    .tm-editorial { align-items: flex-end; min-height: 680px; }
    .tm-cta-visual { height: 440px; margin-top: 50px; }
}

@media (max-width: 767px) {
    .mf-section, .tm-story, .tm-why, .tm-products, .mf-statement { padding: 80px 0; }
    .tm-textures { padding-bottom: 80px; }
    .mf-hero, .mf-page-hero, .tm-hero { margin: 12px 12px 0; border-radius: 24px; }
    .mf-cta, .mf-scale, .tm-products, .tm-then-now, .tm-editorial, .tm-cta, .mf-inset { margin-left: 12px; margin-right: 12px; border-radius: 24px; }
    .tm-editorial, .tm-cta { margin-top: 80px; }
    .tm-gallery { padding-top: 80px; }
    .mf-footer { margin: 0 12px 12px; border-radius: 24px; }
    .page-tastymill .mf-footer { margin-top: 80px; }
    .header-2 { top: 12px; }
    .header-2 .header-items-two { margin: 0 12px; }
    .header-2 .header-right .theme-btn { display: none; }
    .header-main .logo img { height: 40px; }
    .mf-hero .mf-hero-text { font-size: 17px; }
    .mf-intro .mf-intro-media { padding: 0 0 50px 24px; }
    .mf-intro .mf-intro-badge { top: 20px; left: 0; padding: 16px 18px; max-width: 180px; }
    .mf-intro .mf-intro-badge strong { font-size: 17px; }
    .mf-goal p { font-size: 20px; }
    .mf-brand-stack { height: 420px; }
    .mf-brand-stack .mf-brand-logo { width: 120px; padding: 12px; }
    .service-wrapper-two .service-box-item-two { padding: 24px 20px; gap: 4px 16px; }
    .service-wrapper-two .service-box-item-two .mf-icon { width: 52px; height: 52px; border-radius: 16px; font-size: 22px; }
    .service-wrapper-two .service-box-item-two .content .title { font-size: 22px; }
    .service-wrapper-two .service-box-item-two .text { font-size: 16px; }
    .choose-us-section-2 .mf-choose-list { grid-template-columns: 1fr; }
    .choose-us-section-2 .choose-thumb-2 { height: 460px; }
    .choose-us-section-2 .choose-thumb-2 .content { left: 40px; right: 40px; bottom: 30px; }
    .benifit-thumb-items-2 { height: auto; display: flex; flex-direction: column; background: #fff; }
    .benifit-thumb-items-2 > img { height: 360px !important; border-radius: 24px 24px 0 0; }
    .benifit-thumb-items-2 .mf-vision-quote { top: 40px; font-size: 34px; }
    .benifit-thumb-items-2 .benifit-content { position: static; padding: 30px 24px; }
    .mf-page-hero { min-height: 0; }
    .mf-page-hero .page-heading { padding: 150px 0 50px; }
    .mf-page-hero .mf-page-hero-text { font-size: 17px; }
    .mf-who .mf-who-media { padding-right: 0; }
    .mf-who .mf-who-media .mf-who-badge { right: 12px; bottom: 12px; width: 180px; padding: 20px; }
    .mf-who .mf-who-badge strong { font-size: 30px; }
    .mf-chapters { padding-left: 38px; }
    .mf-chapters::before { left: 8px; }
    .mf-chapter::before { left: -38px; }
    .mf-chapter h3 { font-size: 28px; }
    .mf-values-grid > * { max-width: none; }
    .mf-vision-card, .mf-direction-card { padding: 30px; min-height: 420px; }
    .mf-quality-grid, .mf-contact-cards { grid-template-columns: 1fr; }
    .mf-process::before { left: 26px; }
    .mf-step { grid-template-columns: 52px 1fr; gap: 0 18px; }
    .mf-step .mf-step-dot { width: 52px; height: 52px; font-size: 18px; }
    .mf-step .mf-step-body h3 { font-size: 26px; }
    .mf-trust-words li { padding: 8px 20px; }
    .mf-trust-words li + li::before { display: none; }
    .mf-form-card { padding: 30px 22px; border-radius: 24px; }
    .mf-cta { padding: 100px 0; }
    .mf-cta p { font-size: 17px; }
    .mf-footer-top { padding: 50px 0 40px; }
    .mf-footer-main { padding: 50px 0 30px; }
    .tm-hero { padding: 140px 0 70px; }
    .tm-hero .tm-hero-logo { width: 110px; margin-bottom: 24px; }
    .tm-hero h1 { font-size: 46px; }
    .tm-ribbon { margin-top: -24px; }
    .tm-story-media { height: 440px; }
    .tm-story-media .tm-sticker { font-size: 16px; max-width: 170px; padding: 14px 16px; }
    .tm-texture-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .tm-texture-grid .tm-texture:nth-child(n+4) { display: block; }
    .tm-texture .mf-media, .tm-texture:nth-child(n) .mf-media { aspect-ratio: 3 / 4; }
    .tm-texture-grid .tm-texture:nth-child(3) { grid-column: 1 / -1; }
    .tm-texture-grid .tm-texture:nth-child(3) .mf-media { aspect-ratio: 16 / 10; border-radius: 24px; }
    .tm-texture figcaption { font-size: 18px; }
    .tm-product-grid { grid-template-columns: 1fr; }
    .tm-products { border-radius: 28px; }
    .tm-why-layout { grid-template-columns: 1fr; gap: 20px; }
    .tm-why-col { gap: 20px; }
    .tm-editorial { min-height: 620px; }
    .tm-editorial-content { padding: 40px 10px; }
    .tm-then-now .tm-tn { min-height: 420px; padding: 30px; }
    .tm-gallery-slider .swiper-slide { width: 260px; }
    .tm-gallery-slider .swiper-slide:nth-child(even) { margin-top: 30px; }
    .tm-cta { padding: 80px 0; }
    .tm-cta-visual { height: 360px; }
    .tm-cta-visual .tm-cta-logo { width: 96px; }
}

@media (max-width: 470px) {
    .tm-hero h1 { font-size: 38px; }
    .mf-page-hero h1 { font-size: 36px; }
    .mf-btn-group .theme-btn { width: 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    .mf-marquee-track { animation: none !important; }
    .mf-reveal.animated { animation: none !important; }
}
.sub-title.is-light, .section-title .sub-title.is-light { color: var(--mf-lime); }
.tm-narrow { max-width: 860px; }
.tm-cta .mf-eyebrow { color: var(--tm-olive-deep); }

/* Fixes: clip rotated ribbons, keep footer headings light on the sub-brand page */
main { display: block; overflow-x: clip; }
.tm-hero .tm-hero-logo { display: block; }
.page-tastymill .mf-footer h2 { color: #fff; }
.page-tastymill .mf-footer h3 { color: #fff; }
.page-tastymill .mf-footer-brand strong { color: #fff; }
.mf-area-text { max-width: 440px; margin: 0; }
.breadcrumb-wrapper.mf-page-hero .page-heading .breadcrumb-list { justify-content: flex-start; }
.mf-trust-words { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1200px; margin-left: auto; margin-right: auto; }
.mf-trust-words li { font-size: clamp(28px, 2.8vw, 44px); padding: 10px 24px; }
@media (max-width: 767px) {
    .mf-trust-words { grid-template-columns: 1fr; }
}
.mf-404 { min-height: 100vh; min-height: calc(100vh - 48px); }

/* Product accordion: on touch / narrower layouts show each product's details permanently */
@media (max-width: 1399px) {
    .project-main-item-two { height: 480px !important; }
    .project-main-item-two .project-hover-item { opacity: 1; visibility: visible; transform: none; }
    .project-main-item-two .project-hover-item .thumb .content {
        opacity: 1; visibility: visible;
        top: auto; left: 20px; right: 20px; bottom: 20px; height: auto; max-width: none; padding: 24px 26px;
    }
    .project-main-item-two .project-hover-item .thumb .content .title { margin-bottom: 8px; }
    .project-main-item-two .project-hover-item .thumb .content p { font-size: 15px; line-height: 1.55; margin-bottom: 6px; }
    .project-main-item-two .project-hover-item .thumb .content .project-btn { position: static; }
    .project-section-two .project-main-item-two.active .project-hover-item { width: 100% !important; height: 100% !important; }
}
@media (max-width: 767px) {
    .project-main-item-two { height: 470px !important; }
}

/* Product cards — square catalogue photos with packshot revealed on hover */
.tm-product-card .tm-product-media { aspect-ratio: 1 / 1; }
.tm-product-card .tm-product-media .is-pack {
    object-fit: contain;
    background: #fff;
    padding: 6%;
    opacity: 0;
    transition: opacity .5s ease, transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
.tm-product-card:hover .tm-product-media .is-pack { opacity: 1; }
.mf-step .mf-step-media img[src$="-pack.webp"] { object-fit: contain; background: #fff; padding: 4%; }
@media (hover: none) {
    .tm-product-card .tm-product-media .is-pack { display: none; }
}
.split-title em { padding-right: .1em; }

/*---------------------------------------
Brand preloader (replaces template "leafix" text loader)
---------------------------------------*/
.preloader {
    --ld-bg: #fff;
    --ld-accent: var(--mf-leaf);
    --ld-text: var(--header);
    --ld-sub: var(--mf-green);
    --ld-tag: rgba(46, 20, 16, .6);
    --ld-track: rgba(20, 97, 31, .12);
    background:
        radial-gradient(50% 50% at 50% 45%, rgba(140, 198, 63, .12), rgba(140, 198, 63, 0) 70%),
        var(--ld-bg);
    clip-path: inset(0 0 0 0);
    transition: clip-path .9s cubic-bezier(.77, 0, .18, 1) .25s, visibility 0s linear 1.2s;
}
.page-tastymill .preloader {
    --ld-bg: #fff;
    --ld-accent: var(--tm-turmeric);
    --ld-text: var(--tm-olive-deep);
    --ld-sub: #7C7425;
    --ld-tag: rgba(42, 39, 15, .6);
    --ld-track: rgba(168, 160, 58, .2);
    background:
        radial-gradient(50% 50% at 50% 45%, rgba(217, 154, 30, .12), rgba(217, 154, 30, 0) 70%),
        var(--ld-bg);
}
.preloader.is-done { clip-path: inset(0 0 100% 0); visibility: hidden; pointer-events: none; }

.mf-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: opacity .45s ease, transform .6s cubic-bezier(.65, 0, .35, 1);
}
.preloader.is-done .mf-loader { opacity: 0; transform: translateY(-24px) scale(.96); }

.mf-loader-mark { position: relative; width: 132px; height: 132px; display: grid; place-items: center; }
.mf-loader-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.mf-loader-ring circle { fill: none; stroke-width: 2.5; }
.mf-loader-track { stroke: var(--ld-track); }
.mf-loader-bar {
    stroke: var(--ld-accent);
    stroke-linecap: round;
    stroke-dasharray: 340;
    stroke-dashoffset: 340;
    animation: mfLoaderRing 1.6s cubic-bezier(.65, 0, .35, 1) infinite;
}
@keyframes mfLoaderRing {
    0% { stroke-dashoffset: 340; transform: rotate(0deg); transform-origin: 60px 60px; }
    50% { stroke-dashoffset: 85; }
    100% { stroke-dashoffset: 340; transform: rotate(360deg); transform-origin: 60px 60px; }
}
.mf-loader-tile {
    width: 92px;
    height: 92px;
    border-radius: 26px;
    background: transparent;
    display: grid;
    place-items: center;
    animation: mfLoaderPop .7s cubic-bezier(.34, 1.56, .64, 1) both, mfLoaderBreathe 2.4s ease-in-out .7s infinite;
}
.mf-loader-logo { width: 84px; height: auto; filter: drop-shadow(0 12px 18px rgba(15, 58, 26, .22)); }
.mf-loader-logo.is-tm { width: 70px; filter: drop-shadow(0 12px 18px rgba(42, 39, 15, .22)); }
@keyframes mfLoaderPop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes mfLoaderBreathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }

.mf-loader-word {
    margin-top: 28px;
    font-family: var(--heading-font);
    font-size: 40px;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--ld-text);
    animation: mfLoaderRise .8s cubic-bezier(.2, .7, .2, 1) .2s both;
}
.mf-loader-word small {
    display: block;
    margin-top: 10px;
    font-family: var(--ui-font);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--ld-sub);
}
.mf-loader-tag {
    margin: 22px 0 0;
    font-family: var(--heading-font);
    font-style: italic;
    font-size: 17px;
    color: var(--ld-tag);
    animation: mfLoaderRise .8s cubic-bezier(.2, .7, .2, 1) .4s both;
}
@keyframes mfLoaderRise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* corporate vs Tasty Mill variant */
.mf-loader .is-tm { display: none; }
.page-tastymill .mf-loader .is-tm { display: block; }
.page-tastymill .mf-loader .is-corp { display: none; }

@media (max-width: 575px) {
    .mf-loader-mark { width: 112px; height: 112px; }
    .mf-loader-tile { width: 78px; height: 78px; border-radius: 22px; }
    .mf-loader-logo { width: 70px; }
    .mf-loader-logo.is-tm { width: 58px; }
    .mf-loader-word { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
    .mf-loader-bar, .mf-loader-tile, .mf-loader-word, .mf-loader-tag { animation: none !important; }
    .mf-loader-bar { stroke-dashoffset: 120; }
    .preloader { transition: opacity .3s ease, visibility 0s linear .3s; clip-path: none !important; }
    .preloader.is-done { opacity: 0; }
}

/* Offcanvas close button — clear, tappable target */
.offcanvas__wrapper .offcanvas__close button {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 22px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    transition: background .3s ease, color .3s ease;
}
.offcanvas__wrapper .offcanvas__close button:hover { background: var(--mf-lime); color: var(--mf-forest); }
.page-tastymill .offcanvas__wrapper .offcanvas__close button:hover { background: var(--tm-turmeric); color: var(--tm-olive-deep); }
.offcanvas__wrapper .offcanvas__close button i { line-height: 1; }

/* The template's custom cursor is mouse-only — hide it on touch screens */
@media (hover: none), (pointer: coarse) {
    .mouseCursor { display: none !important; }
}

/*---------------------------------------
Home — product scroller (template project-section-two, all products)
---------------------------------------*/
.mf-products-home .project-wrapper-two.mf-scroll-track {
    position: relative;
    display: flex !important;
    justify-content: flex-start;
    align-items: stretch;
    gap: 26px;
    margin: 60px 0 0;
    padding: 0 40px 6px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 40px;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 90px), transparent 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 90px), transparent 100%);
    cursor: grab;
    outline: none;
}
.mf-products-home .mf-scroll-track::-webkit-scrollbar { display: none; }
.mf-products-home .mf-scroll-track.is-dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; }
.mf-products-home .mf-scroll-track.is-dragging * { pointer-events: none; }
.mf-products-home .mf-scroll-track.is-end { -webkit-mask-image: none; mask-image: none; }
.mf-products-home .mf-scroll-track:focus-visible { box-shadow: inset 0 0 0 2px var(--mf-lime); border-radius: 30px; }
.mf-products-home .mf-scroll-track img { -webkit-user-drag: none; user-select: none; }

.mf-products-home .project-main-item-two {
    flex: 0 0 auto;
    width: 300px !important;
    height: 529px !important;
    scroll-snap-align: start;
}
.mf-products-home .project-main-item-two.active { width: 600px !important; }
.mf-products-home .project-main-item-two.active .project-hover-item { width: 100% !important; height: 100% !important; }

.mf-scroll-bar {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 40px;
}
.mf-scroll-progress {
    position: relative;
    flex: 1;
    height: 3px;
    border-radius: 3px;
    background: var(--mf-line);
    overflow: hidden;
}
.mf-scroll-progress span {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 20%;
    border-radius: 3px;
    background: var(--mf-green);
    transition: transform .25s ease-out, width .25s ease-out;
}
.mf-scroll-count { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--text); white-space: nowrap; }
.mf-scroll-count b { color: var(--mf-green); font-family: var(--heading-font); font-size: 20px; letter-spacing: 0; margin-right: 4px; }
.mf-scroll-nav { display: flex; gap: 10px; }
.mf-scroll-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    border: 1.5px solid var(--mf-line);
    color: var(--header);
    transition: background .3s ease, color .3s ease, border-color .3s ease, opacity .3s ease;
}
.mf-scroll-btn:hover:not(:disabled), .mf-scroll-btn:focus-visible { background: var(--mf-green); border-color: var(--mf-green); color: #fff; }
.mf-scroll-btn:disabled { opacity: .35; cursor: default; }

@media (max-width: 1600px) {
    .mf-products-home .project-wrapper-two.mf-scroll-track { padding: 0 30px 6px; scroll-padding-inline: 30px; }
}
@media (max-width: 1399px) {
    /* details always visible (no hover expand) on laptops, tablets and phones */
    .mf-products-home .project-main-item-two,
    .mf-products-home .project-main-item-two.active { width: 420px !important; height: 480px !important; }
}
@media (max-width: 1199px) {
    .mf-products-home .project-wrapper-two.mf-scroll-track { padding: 0 20px 6px; scroll-padding-inline: 20px; gap: 18px; }
}
@media (max-width: 767px) {
    .mf-products-home .project-wrapper-two.mf-scroll-track { margin-top: 36px; padding: 0 16px 6px; scroll-padding-inline: 16px; scroll-snap-type: x mandatory; cursor: auto; }
    .mf-products-home .project-main-item-two,
    .mf-products-home .project-main-item-two.active { width: 82vw !important; height: 470px !important; }
    .mf-scroll-bar { gap: 14px; margin-top: 26px; }
    .mf-scroll-count { display: none; }
    .mf-scroll-btn { width: 44px; height: 44px; }
}

/* Home intro — tradition → today image pairing */
.mf-intro .mf-intro-media figure { margin: 0; }
.mf-intro-tag {
    position: absolute;
    z-index: 2;
    right: 18px;
    bottom: 18px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    color: #fff;
    background: rgba(15, 58, 26, .72);
    border: 1px solid rgba(255, 255, 255, .18);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.mf-intro-tag i { color: var(--mf-lime); }
@media (max-width: 767px) {
    .mf-intro-tag { right: 12px; bottom: 12px; font-size: 12px; padding: 7px 12px; }
}
.mf-intro-tag { white-space: nowrap; }
@media (max-width: 575px) {
}

/*---------------------------------------
Tasty Mill hero — "Mill Wheel" product showcase
(all products ride a slowly turning wheel; positions driven by main.js)
---------------------------------------*/
.tm-hero { padding: 168px 0 96px; }
.tm-hero .tm-hero-logo { width: 112px; margin-bottom: 26px; }
.tm-hero h1 { font-size: clamp(42px, 4.6vw, 80px); line-height: 1.02; }
.tm-hero .tm-hero-text { margin: 22px 0 34px; }

.tm-wheel {
    --wheel-color: #F4A11A;
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    user-select: none;
}
.tm-wheel-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    touch-action: pan-y;
    cursor: grab;
}
.tm-wheel-stage.is-dragging { cursor: grabbing; }
.tm-wheel-glow {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 58%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--wheel-color);
    filter: blur(80px);
    opacity: .34;
    transition: background-color 1s ease;
}
.tm-wheel-sails {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    fill: rgba(242, 230, 194, .045);
    animation: cir36 70s linear infinite reverse;
}
.tm-wheel-frame { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.tm-wheel-outer { fill: none; stroke: rgba(242, 230, 194, .1); stroke-width: 1; }
.tm-wheel-orbit { fill: none; stroke: rgba(242, 230, 194, .24); stroke-width: 1.2; stroke-dasharray: 2 8; stroke-linecap: round; }
.tm-wheel-spokes line { stroke: rgba(242, 230, 194, .13); stroke-width: 1; }
.tm-wheel-items { position: absolute; inset: 0; }
.tm-wheel-item {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16%;
    display: block;
    z-index: 2;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
    will-change: transform;
}
.tm-wheel-item img {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
    -webkit-user-drag: none;
    filter: drop-shadow(0 14px 14px rgba(0, 0, 0, .45));
    transition: filter .45s ease;
}
.tm-wheel-item.is-active { z-index: 3; }
.tm-wheel-item.is-active img {
    filter: drop-shadow(0 18px 20px rgba(0, 0, 0, .5)) drop-shadow(0 0 26px var(--item-color, #D99A1E));
}
.tm-wheel-item:focus-visible { outline: 2px solid var(--tm-turmeric); outline-offset: 6px; border-radius: 10px; }
.tm-wheel-hub {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 4;
    width: 29%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    background: var(--tm-cream);
    box-shadow: 0 0 0 10px rgba(242, 230, 194, .06), 0 0 0 22px rgba(242, 230, 194, .035), 0 30px 60px -20px rgba(0, 0, 0, .65);
}
.tm-wheel-hub img { width: 60%; height: auto; }
.tm-wheel-hub::before {
    content: "";
    position: absolute;
    inset: -14px;
    border-radius: 50%;
    border: 1.5px dashed rgba(217, 154, 30, .6);
    animation: cir36 30s linear infinite;
}
.tm-wheel-hub.is-pop { animation: tmHubPop .8s cubic-bezier(.34, 1.56, .64, 1) both; }
@keyframes tmHubPop { from { transform: translate(-50%, -50%) scale(.3); opacity: 0; } to { transform: translate(-50%, -50%) scale(1); opacity: 1; } }

.tm-wheel-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    max-width: 440px;
    margin: 14px auto 0;
}
.tm-wheel-info { flex: 1; min-width: 0; text-align: center; }
.tm-wheel-count { display: block; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: rgba(242, 230, 194, .6); }
.tm-wheel-count b { color: var(--tm-turmeric); font-weight: 700; }
.tm-wheel-name {
    display: block;
    font-family: var(--heading-font);
    font-size: 28px;
    line-height: 1.3;
    color: var(--tm-cream);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.tm-wheel-name:hover { color: var(--tm-turmeric); }
.tm-wheel-name.is-changing { animation: mfNameIn .5s ease; }
.tm-wheel-btn {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--tm-butter);
    border: 1px solid rgba(242, 230, 194, .28);
    transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.tm-wheel-btn:hover, .tm-wheel-btn:focus-visible { background: var(--tm-turmeric); border-color: var(--tm-turmeric); color: var(--tm-olive-deep); }

@media (max-width: 991px) {
    .tm-hero { padding: 150px 0 80px; }
    .tm-wheel { max-width: 520px; }
}
@media (max-width: 767px) {
    .tm-hero { padding: 130px 0 70px; }
    .tm-hero .tm-hero-logo { width: 90px; margin-bottom: 20px; }
}
@media (max-width: 575px) {
    .tm-wheel-item { width: 18%; }
    .tm-wheel-hub::before { inset: -9px; }
    .tm-wheel-name { font-size: 22px; }
    .tm-wheel-btn { width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
    .tm-wheel-sails, .tm-wheel-hub::before { animation: none !important; }
    .tm-wheel-hub.is-pop { animation: none; }
}

/*---------------------------------------
Home — Who We Are: Kerala scene with Tasty Mill packs in front
---------------------------------------*/
.mf-intro .mf-intro-media.mf-intro-kerala { padding: 0 0 90px 70px; }
.mf-intro-scene {
    position: relative;
    margin: 0;
    aspect-ratio: 4 / 5;
    border-radius: 999px 999px 32px 32px;
    overflow: hidden;
    background: var(--mf-sand);
    box-shadow: var(--mf-shadow);
    isolation: isolate;
}
.mf-intro-scene img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mf-intro-scene::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12, 46, 21, 0) 52%, rgba(12, 46, 21, .55) 100%);
    pointer-events: none;
}
.mf-intro-tag.is-place { top: 13%; bottom: auto; left: 50%; right: auto; transform: translateX(-50%); }
.mf-intro-kerala .mf-intro-badge { top: 26%; left: 0; }
.mf-intro-packs {
    position: absolute;
    left: 70px;
    right: 0;
    bottom: 0;
    height: 52%;
    pointer-events: none;
    z-index: 3;
}
.mf-intro-packs::before {
    /* soft ground shadow under the packs */
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    bottom: 8px;
    height: 34px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0));
    filter: blur(2px);
}
.mf-intro-pack { position: absolute; bottom: 0; }
.mf-intro-pack > span { display: block; animation: mfPackFloat 6s ease-in-out infinite; }
.mf-intro-pack img { display: block; width: 100%; height: auto; filter: drop-shadow(0 22px 22px rgba(0, 0, 0, .38)); }
.mf-intro-pack.is-center { left: 50%; width: 40%; margin-left: -20%; z-index: 3; bottom: 4%; }
.mf-intro-pack.is-left { left: 6%; width: 31%; z-index: 2; bottom: 9%; }
.mf-intro-pack.is-left img { transform: rotate(-11deg); }
.mf-intro-pack.is-left > span { animation-delay: -2s; }
.mf-intro-pack.is-right { right: 6%; width: 31%; z-index: 2; bottom: 11%; }
.mf-intro-pack.is-right img { transform: rotate(10deg); }
.mf-intro-pack.is-right > span { animation-delay: -4s; }
@keyframes mfPackFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/*---------------------------------------
Home — Manufacturing & Quality photo + process card
---------------------------------------*/
.choose-us-section-2 .choose-thumb-2 img.mf-choose-photo { object-position: 74% center; }
.mf-process-card {
    position: absolute;
    top: 28px;
    left: 28px;
    z-index: 2;
    width: 260px;
    padding: 20px 22px 18px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .9);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .45);
}
.mf-process-card-title { display: block; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mf-green); margin-bottom: 12px; }
.mf-process-card ol { counter-reset: step; margin: 0; padding: 0; list-style: none; }
.mf-process-card li {
    counter-increment: step;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--header);
    border-bottom: 1px dashed rgba(46, 20, 16, .12);
}
.mf-process-card li:last-child { border-bottom: 0; }
.mf-process-card li::before { content: counter(step, decimal-leading-zero); font-size: 11px; font-weight: 700; color: rgba(46, 20, 16, .4); min-width: 18px; }
.mf-process-card li i { width: 18px; text-align: center; color: var(--mf-leaf); }
.mf-process-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--mf-green);
}
.mf-process-card-link:hover { color: var(--mf-maroon); }
.mf-process-card-link i { transition: transform .3s ease; }
.mf-process-card-link:hover i { transform: translateX(4px); }

/*---------------------------------------
Home — Explore products banner (Tasty Mill)
---------------------------------------*/
.mf-shop-cta {
    position: relative;
    margin: 0 40px;
    padding: 110px 0;
    border-radius: 32px;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background:
        radial-gradient(45% 60% at 85% 40%, rgba(217, 154, 30, .28), rgba(217, 154, 30, 0) 70%),
        radial-gradient(40% 55% at 10% 90%, rgba(140, 198, 63, .18), rgba(140, 198, 63, 0) 70%),
        linear-gradient(120deg, #0C2E15 0%, #134a22 60%, #0f3a1a 100%);
}
.mf-shop-cta::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .12;
    mix-blend-mode: soft-light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.mf-shop-cta .container { position: relative; z-index: 1; }
.mf-shop-cta-watermark {
    position: absolute;
    left: 50%;
    bottom: -0.18em;
    transform: translateX(-50%);
    z-index: 0;
    white-space: nowrap;
    font-family: var(--heading-font);
    font-style: italic;
    font-size: clamp(90px, 13vw, 230px);
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1.5px rgba(242, 230, 194, .1);
    pointer-events: none;
    user-select: none;
}
.mf-shop-cta-brand { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.mf-shop-cta-brand img { width: 58px; height: auto; background: var(--tm-cream); border-radius: 14px; padding: 6px; }
.mf-shop-cta-brand span { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--tm-turmeric); line-height: 1.5; }
.mf-shop-cta-brand strong { display: block; font-family: var(--heading-font); font-size: 22px; font-weight: 500; letter-spacing: 0; text-transform: none; color: #fff; }
.mf-shop-cta h2 { color: #fff; font-size: clamp(40px, 4.6vw, 72px); line-height: 1.04; font-weight: 400; }
.mf-shop-cta h2 em { font-style: italic; color: var(--mf-lime); }
.mf-shop-cta-copy > p { font-size: 19px; color: rgba(255, 255, 255, .82); margin: 20px 0 34px; max-width: 480px; }
.mf-shop-cta-picks { margin-top: 40px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .14); }
.mf-shop-cta-picks-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .55); margin-bottom: 14px; }
.mf-shop-cta-picks ul { display: flex; flex-wrap: wrap; gap: 10px; }
.mf-shop-cta-picks a {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .04);
    transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.mf-shop-cta-picks a:hover, .mf-shop-cta-picks a:focus-visible { background: var(--tm-turmeric); border-color: var(--tm-turmeric); color: var(--tm-olive-deep); transform: translateY(-2px); }
.mf-shop-cta-picks a.is-more { border-style: dashed; color: var(--tm-butter); }

.mf-shop-cta-visual { position: relative; height: 560px; max-width: 560px; margin-left: auto; }
.mf-shop-cta-photo {
    position: absolute;
    left: 12%;
    right: 6%;
    top: 0;
    bottom: 0;
    border-radius: 999px 999px 32px 32px;
    overflow: hidden;
    box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .65);
}
.mf-shop-cta-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 55% center; }
.mf-shop-cta-pack { position: absolute; z-index: 2; pointer-events: none; }
.mf-shop-cta-pack > span { display: block; animation: mfPackFloat 6s ease-in-out infinite; }
.mf-shop-cta-pack img { display: block; width: 100%; height: auto; filter: drop-shadow(0 26px 26px rgba(0, 0, 0, .5)); }
.mf-shop-cta-pack.is-a { left: 0; bottom: 6%; width: 32%; }
.mf-shop-cta-pack.is-a img { transform: rotate(-10deg); }
.mf-shop-cta-pack.is-b { right: -2%; top: 14%; width: 26%; }
.mf-shop-cta-pack.is-b img { transform: rotate(9deg); }
.mf-shop-cta-pack.is-b > span { animation-delay: -3s; }
.mf-shop-cta-count {
    position: absolute;
    z-index: 3;
    right: 4%;
    bottom: 8%;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: grid;
    place-content: center;
    text-align: center;
    background: var(--tm-turmeric);
    color: var(--tm-olive-deep);
    box-shadow: 0 0 0 8px rgba(217, 154, 30, .22), 0 20px 40px -14px rgba(0, 0, 0, .5);
    transition: transform .35s ease;
}
.mf-shop-cta-count:hover { transform: scale(1.06) rotate(-4deg); color: var(--tm-olive-deep); }
.mf-shop-cta-count b { font-family: var(--heading-font); font-size: 44px; line-height: 1; font-weight: 500; }
.mf-shop-cta-count span { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; line-height: 1.25; }

@media (max-width: 1600px) { .mf-shop-cta { margin: 0 30px; } }
@media (max-width: 1199px) {
    .mf-shop-cta { margin: 0 20px; padding: 90px 0; }
    .mf-process-card { width: 230px; top: 20px; left: 40px; }
}
@media (max-width: 991px) {
    .mf-shop-cta-visual { margin: 10px auto 0; height: 500px; }
    .mf-intro .mf-intro-media.mf-intro-kerala { padding: 0 0 80px 40px; }
    .mf-intro-packs { left: 40px; }
}
@media (max-width: 767px) {
    .mf-shop-cta { margin: 0 12px; padding: 70px 0 60px; border-radius: 24px; }
    .mf-shop-cta-copy > p { font-size: 17px; }
    .mf-shop-cta-visual { height: 400px; }
    .mf-shop-cta-count { width: 96px; height: 96px; }
    .mf-shop-cta-count b { font-size: 34px; }
    .mf-shop-cta-count span { font-size: 9px; }
    .mf-intro .mf-intro-media.mf-intro-kerala { padding: 0 0 60px 16px; }
    .mf-intro-packs { left: 16px; }
    .mf-intro-kerala .mf-intro-badge { top: 22%; }
    /* phones: keep the photo clear — the full process lives on the Manufacturing page */
    .mf-process-card { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .mf-intro-pack > span, .mf-shop-cta-pack > span { animation: none; }
}

/*---------------------------------------
About — hero: Kerala paddy fields with the Tasty Mill product family
---------------------------------------*/
.mf-about-hero .mf-hero-bg img { object-position: center 60%; }
.mf-page-hero-packs {
    position: absolute;
    right: 4%;
    bottom: 0;
    z-index: 1;
    width: min(36%, 600px);
    height: 70%;
    pointer-events: none;
}
.mf-page-hero-packs::before {
    content: "";
    position: absolute;
    left: 6%;
    right: 6%;
    bottom: 4%;
    height: 50px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(0, 0, 0, .4), rgba(0, 0, 0, 0));
}
.mf-page-hero-packs span { position: absolute; bottom: 6%; animation: mfPackFloat 6s ease-in-out infinite; }
.mf-page-hero-packs img { display: block; width: 100%; height: auto; filter: drop-shadow(0 24px 24px rgba(0, 0, 0, .45)); }
.mf-page-hero-packs .is-3 { left: 50%; width: 30%; margin-left: -15%; z-index: 5; }
.mf-page-hero-packs .is-2 { left: 17%; width: 24%; bottom: 13%; z-index: 4; animation-delay: -1.5s; }
.mf-page-hero-packs .is-2 img { transform: rotate(-8deg); }
.mf-page-hero-packs .is-4 { right: 17%; width: 24%; bottom: 13%; z-index: 4; animation-delay: -3s; }
.mf-page-hero-packs .is-4 img { transform: rotate(8deg); }
.mf-page-hero-packs .is-1 { left: 0; width: 20%; bottom: 22%; z-index: 3; animation-delay: -4.5s; }
.mf-page-hero-packs .is-1 img { transform: rotate(-14deg); }
.mf-page-hero-packs .is-5 { right: 0; width: 20%; bottom: 22%; z-index: 3; animation-delay: -2.2s; }
.mf-page-hero-packs .is-5 img { transform: rotate(13deg); }

/*---------------------------------------
About — Who We Are: brand board
---------------------------------------*/
.mf-brand-board {
    position: relative;
    margin: 0;
    aspect-ratio: 4 / 5;
    border-radius: 28px;
    overflow: hidden;
    padding: 34px 32px;
    isolation: isolate;
    box-shadow: var(--mf-shadow);
    background:
        radial-gradient(70% 45% at 50% 82%, rgba(242, 230, 194, .2), rgba(242, 230, 194, 0) 70%),
        radial-gradient(60% 50% at 90% 6%, rgba(140, 198, 63, .25), rgba(140, 198, 63, 0) 70%),
        linear-gradient(160deg, #165224 0%, #0C2E15 100%);
}
.mf-brand-board::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .12;
    mix-blend-mode: soft-light;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.mf-brand-board-logo { display: block; width: 64%; height: auto; }
.mf-brand-board-line {
    margin-top: 14px;
    max-width: 250px;
    font-family: var(--heading-font);
    font-style: italic;
    font-size: 17px;
    line-height: 1.4;
    color: var(--mf-lime);
}
.mf-brand-board-stage { position: absolute; left: 0; right: 0; bottom: 62px; height: 52%; }
.mf-brand-board-plinth {
    position: absolute;
    left: 6%;
    right: 6%;
    bottom: -14px;
    height: 70px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(242, 230, 194, .32), rgba(242, 230, 194, 0));
}
.mf-brand-board-pack { position: absolute; bottom: 0; }
.mf-brand-board-pack img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 18px rgba(0, 0, 0, .45)); transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.mf-brand-board-pack.is-3 { left: 50%; width: 34%; margin-left: -17%; z-index: 5; }
.mf-brand-board-pack.is-2 { left: 17%; width: 27%; bottom: 6%; z-index: 4; }
.mf-brand-board-pack.is-2 img { transform: rotate(-8deg); }
.mf-brand-board-pack.is-4 { right: 17%; width: 27%; bottom: 6%; z-index: 4; }
.mf-brand-board-pack.is-4 img { transform: rotate(8deg); }
.mf-brand-board-pack.is-1 { left: 2%; width: 22%; bottom: 14%; z-index: 3; }
.mf-brand-board-pack.is-1 img { transform: rotate(-14deg); }
.mf-brand-board-pack.is-5 { right: 2%; width: 22%; bottom: 14%; z-index: 3; }
.mf-brand-board-pack.is-5 img { transform: rotate(14deg); }
.mf-brand-board:hover .mf-brand-board-pack.is-3 img { transform: translateY(-8px); }
.mf-brand-board:hover .mf-brand-board-pack.is-2 img { transform: rotate(-12deg) translateY(-4px); }
.mf-brand-board:hover .mf-brand-board-pack.is-4 img { transform: rotate(12deg) translateY(-4px); }
.mf-brand-board-tm {
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(242, 230, 194, .82);
}
.mf-brand-board-tm img { width: 30px; height: auto; padding: 3px; border-radius: 8px; background: var(--tm-cream); }
.mf-who .mf-who-media .mf-who-badge { top: 12%; bottom: auto; }

@media (max-width: 1199px) {
    .mf-page-hero-packs { display: none; }
}
@media (max-width: 767px) {
    .mf-brand-board { padding: 26px 24px; }
    .mf-brand-board-line { font-size: 15px; max-width: 200px; }
    .mf-brand-board-stage { bottom: 54px; }
    .mf-brand-board-tm { left: 24px; right: 24px; font-size: 10px; }
    .mf-who .mf-who-media .mf-who-badge {
        position: relative;
        top: auto; right: auto; bottom: auto;
        width: auto;
        margin: -26px 16px 0;
        padding: 16px 20px;
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 16px;
        align-items: center;
        z-index: 2;
    }
    .mf-who .mf-who-badge small { grid-column: 1 / -1; margin-bottom: 4px; }
    .mf-who .mf-who-badge strong { font-size: 26px; }
    .mf-who .mf-who-badge span { margin-top: 0; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .mf-page-hero-packs span { animation: none; }
}

/*---------------------------------------
About — Business Direction cards: equal heights + "built for scale" shelves
---------------------------------------*/
.mf-direction-card { height: 100%; min-height: 600px; }
.mf-direction-card .mf-eyebrow { margin-top: 30px; }
.mf-direction-card.is-scale {
    background:
        radial-gradient(60% 45% at 50% 30%, rgba(140, 198, 63, .2), rgba(140, 198, 63, 0) 70%),
        linear-gradient(165deg, #165224 0%, #0C2E15 100%);
}
.mf-direction-card.is-scale::before { background: linear-gradient(180deg, rgba(12, 46, 21, 0) 55%, rgba(12, 46, 21, .6) 100%); }
.mf-scale-shelves {
    width: 100%;
    max-width: 540px;
    margin: 0 auto auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .25) 0%, #000 45%);
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, .25) 0%, #000 45%);
}
.mf-shelf {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 2%;
    padding-bottom: 9px;
}
.mf-shelf::after {
    content: "";
    position: absolute;
    left: 4%;
    right: 4%;
    bottom: 0;
    height: 5px;
    border-radius: 3px;
    background: linear-gradient(90deg, rgba(242, 230, 194, 0), rgba(242, 230, 194, .38), rgba(242, 230, 194, 0));
}
.mf-shelf img {
    width: var(--pack-w);
    height: auto;
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .4));
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}
.mf-shelf.is-back { --pack-w: 10.5%; opacity: .55; }
.mf-shelf.is-mid { --pack-w: 12.5%; opacity: .8; }
.mf-shelf.is-front { --pack-w: 15%; }
.mf-direction-card.is-scale:hover .mf-shelf img { transform: translateY(-6px); }
.mf-direction-card.is-scale:hover .mf-shelf.is-mid img { transition-delay: .05s; }
.mf-direction-card.is-scale:hover .mf-shelf.is-back img { transition-delay: .1s; }

@media (max-width: 991px) {
    .mf-direction-card { min-height: 540px; }
}
@media (max-width: 767px) {
    .mf-direction-card { min-height: 0; height: auto; }
    .mf-direction-card .mf-direction-logo { width: 74px; padding: 8px; }
    .mf-direction-card .mf-eyebrow { margin-top: 24px; }
    .mf-shelf.is-back { --pack-w: 11.5%; }
    .mf-shelf.is-mid { --pack-w: 13.5%; }
    .mf-shelf.is-front { --pack-w: 17%; }
}


/* Tasty Mill product grid — each range has its own rules so they can't collide:
   phones 1 per row; tablets 2 per row (4-col grid); desktop 3 per row (6-col grid);
   a partial last row is centred instead of leaving a gap */
.tm-product-grid > .tm-product-card { grid-column: 1 / -1; }
@media (min-width: 768px) and (max-width: 1199px) {
    .tm-product-grid > .tm-product-card { grid-column: span 2; }
    .tm-product-grid > .tm-product-card:nth-child(2n+1):last-child { grid-column: 2 / span 2; }
}
@media (min-width: 1200px) {
    .tm-product-grid > .tm-product-card { grid-column: span 2; }
    .tm-product-grid > .tm-product-card:nth-child(3n+1):nth-last-child(2) { grid-column: 2 / span 2; }
    .tm-product-grid > .tm-product-card:nth-child(3n+1):last-child { grid-column: 3 / span 2; }
}

/*---------------------------------------
Manufacturing — hero: fried chips on the right, Tasty Mill packs beside the basket
---------------------------------------*/
.mf-mfg-hero { background: #0C2E15; }
.mf-mfg-hero .mf-hero-bg { left: 34%; }
.mf-mfg-hero .mf-hero-bg img { object-position: 45% 55%; }
.mf-mfg-hero::before {
    background:
        linear-gradient(90deg, #0C2E15 0%, #0C2E15 34%, rgba(12, 46, 21, .55) 50%, rgba(12, 46, 21, .1) 72%, rgba(12, 46, 21, .35) 100%),
        linear-gradient(0deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0) 45%);
}
.mf-mfg-hero-packs {
    position: absolute;
    right: 4%;
    bottom: 0;
    z-index: 1;
    width: min(20%, 300px);
    height: 62%;
    pointer-events: none;
}
.mf-mfg-hero-packs::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5%;
    height: 40px;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0));
}
.mf-mfg-hero-packs span { position: absolute; bottom: 8%; animation: mfPackFloat 6s ease-in-out infinite; }
.mf-mfg-hero-packs img { display: block; width: 100%; height: auto; filter: drop-shadow(0 24px 24px rgba(0, 0, 0, .55)); }
.mf-mfg-hero-packs .is-front { right: 0; width: 64%; z-index: 2; }
.mf-mfg-hero-packs .is-front img { transform: rotate(6deg); }
.mf-mfg-hero-packs .is-back { left: 0; width: 54%; bottom: 16%; z-index: 1; animation-delay: -3s; }
.mf-mfg-hero-packs .is-back img { transform: rotate(-9deg); }
@media (max-width: 1199px) {
    .mf-mfg-hero-packs { display: none; }
    .mf-mfg-hero .mf-hero-bg { left: 0; }
    .mf-mfg-hero::before { background: linear-gradient(90deg, rgba(12, 46, 21, .95) 0%, rgba(12, 46, 21, .75) 55%, rgba(12, 46, 21, .45) 100%); }
}
@media (prefers-reduced-motion: reduce) {
    .mf-mfg-hero-packs span { animation: none; }
}

/*---------------------------------------
Manufacturing — Distribution step: cartons with Tasty Mill packs in front
---------------------------------------*/
.mf-step-dispatch::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(12, 46, 21, .45), rgba(12, 46, 21, 0) 45%);
    pointer-events: none;
}
.mf-dispatch-packs { position: absolute; right: 5%; bottom: 0; z-index: 2; width: 38%; height: 78%; pointer-events: none; }
.mf-media .mf-dispatch-packs img {
    position: absolute;
    inset: auto;
    bottom: 6%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 16px 16px rgba(0, 0, 0, .45));
}
.mf-dispatch-packs .is-a { right: 0; width: 56%; transform: rotate(7deg); z-index: 2; }
.mf-dispatch-packs .is-b { left: 0; width: 50%; bottom: 14%; transform: rotate(-8deg); }

/*---------------------------------------
Manufacturing — Built for Scale: pack-wall background + route card
---------------------------------------*/
.mf-scale::before {
    background:
        linear-gradient(90deg, rgba(12, 46, 21, .97) 0%, rgba(12, 46, 21, .9) 38%, rgba(12, 46, 21, .55) 70%, rgba(12, 46, 21, .4) 100%),
        linear-gradient(0deg, rgba(12, 46, 21, .5), rgba(12, 46, 21, 0) 40%);
}
.mf-scale .mf-route { padding: 34px 32px 30px; }
.mf-route-title { display: block; font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--mf-lime); margin-bottom: 22px; }
.mf-route-list { list-style: none; margin: 0; padding: 0; }
.mf-route-list li { position: relative; display: flex; align-items: center; gap: 18px; padding: 0 0 28px; }
.mf-route-list li:last-child { padding-bottom: 0; }
.mf-route-list li:not(:last-child)::after {
    /* dashed route line linking the stops */
    content: "";
    position: absolute;
    left: 25px;
    top: 52px;
    bottom: 2px;
    border-left: 2px dashed rgba(140, 198, 63, .5);
}
.mf-route-dot {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 20px;
    color: var(--mf-forest);
    background: var(--mf-lime);
    box-shadow: 0 0 0 6px rgba(140, 198, 63, .18);
}
.mf-route-list li:first-child .mf-route-dot { background: var(--tm-cream); color: var(--mf-green); }
.mf-route-list strong { display: block; font-family: var(--heading-font); font-size: 24px; font-weight: 500; line-height: 1.2; color: #fff; }
.mf-route-list small { display: block; margin-top: 4px; font-size: 14px; line-height: 1.45; color: rgba(255, 255, 255, .72); }
.mf-route-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding-top: 22px;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .16);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fff;
}
.mf-route-link i { color: var(--mf-lime); transition: transform .3s ease; }
.mf-route-link:hover { color: var(--mf-lime); }
.mf-route-link:hover i { transform: translateX(4px); }
@media (max-width: 767px) {
    .mf-scale .mf-route { padding: 26px 22px 24px; }
    .mf-route-list strong { font-size: 20px; }
    .mf-route-dot { width: 46px; height: 46px; font-size: 18px; }
    .mf-route-list li:not(:last-child)::after { left: 22px; top: 46px; }
}
/* route card: neutralise the original card's uppercase list + lime icon styles */
.mf-scale .mf-route { background: rgba(12, 46, 21, .62); }
.mf-scale .mf-route-list li { display: flex; font-size: inherit; letter-spacing: 0; text-transform: none; }
.mf-scale .mf-route-list .mf-route-dot i { color: inherit; }
/* dispatch packs: position each pack explicitly */
.mf-media .mf-dispatch-packs img.is-a { left: auto; right: 0; bottom: 4%; width: 56%; z-index: 2; }
.mf-media .mf-dispatch-packs img.is-b { left: 0; right: auto; bottom: 16%; width: 48%; z-index: 1; }
@media (max-width: 991px) {
    .mf-scale::before { background: linear-gradient(180deg, rgba(12, 46, 21, .9), rgba(12, 46, 21, .82)); }
}

/*---------------------------------------
Contact — hero
---------------------------------------*/
.mf-contact-hero .mf-hero-bg img { object-position: center 60%; }
.mf-contact-hero-actions { margin-top: 30px; }
.mf-contact-maplink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--mf-green);
}
.mf-contact-maplink i { transition: transform .3s ease; }
.mf-contact-maplink:hover i { transform: translateX(4px); }

/*---------------------------------------
Contact — Google Map section (info panel + interactive map)
---------------------------------------*/
.mf-map {
    display: grid;
    grid-template-columns: minmax(320px, 420px) 1fr;
    border-radius: 32px;
    overflow: hidden;
    background: var(--mf-forest);
    box-shadow: var(--mf-shadow);
    scroll-margin-top: 120px;
}
.mf-map-info {
    position: relative;
    padding: 54px 46px;
    color: #fff;
    isolation: isolate;
    background:
        radial-gradient(70% 50% at 0% 100%, rgba(140, 198, 63, .2), rgba(140, 198, 63, 0) 70%),
        linear-gradient(165deg, #165224 0%, #0C2E15 100%);
}
.mf-map-info h2 { color: #fff; font-size: clamp(32px, 3vw, 44px); margin-bottom: 22px; }
.mf-map-address { font-style: normal; font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .85); margin: 0 0 22px; }
.mf-map-address strong { display: block; font-family: var(--heading-font); font-size: 22px; font-weight: 500; color: #fff; margin-bottom: 4px; }
.mf-map-meta { list-style: none; margin: 0 0 30px; padding: 18px 0 0; border-top: 1px solid rgba(255, 255, 255, .14); display: grid; gap: 10px; }
.mf-map-meta li { display: flex; align-items: center; gap: 12px; font-size: 15px; color: rgba(255, 255, 255, .75); }
.mf-map-meta li i { width: 18px; text-align: center; color: var(--mf-lime); }
.mf-map-meta b { color: #fff; font-weight: 600; letter-spacing: .04em; }
.mf-map-actions { display: flex; flex-direction: column; gap: 12px; }
.mf-map-actions .theme-btn { text-align: center; }
.mf-map-copy {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    color: rgba(255, 255, 255, .75);
    transition: color .3s ease;
}
.mf-map-copy i { color: var(--mf-lime); }
.mf-map-copy:hover, .mf-map-copy:focus-visible { color: #fff; }
.mf-map-copy.is-copied, .mf-map-copy.is-copied i { color: var(--mf-lime); }

.mf-map-frame { position: relative; min-height: 560px; background: #e8efe2; }
.mf-map-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    filter: saturate(.9);
    transition: filter .4s ease;
}
.mf-map-frame.is-active iframe { filter: none; }
.mf-map-shield {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 0 26px;
    cursor: pointer;
    background: transparent;
}
.mf-map-shield span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    color: #fff;
    background: rgba(12, 46, 21, .82);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .5);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .3s ease, transform .3s ease;
}
.mf-map-shield span i { color: var(--mf-lime); }
.mf-map-frame:hover .mf-map-shield span,
.mf-map-shield:focus-visible span { opacity: 1; transform: none; }
.mf-map-frame.is-active .mf-map-shield { display: none; }

@media (hover: none) {
    .mf-map-shield span { opacity: 1; transform: none; }
}
@media (max-width: 991px) {
    .mf-map { grid-template-columns: 1fr; }
    .mf-map-frame { min-height: 420px; order: -1; }
    .mf-map-actions { flex-direction: row; flex-wrap: wrap; }
    .mf-map-actions .theme-btn { flex: 1 1 220px; }
}
@media (max-width: 767px) {
    .mf-map { border-radius: 24px; }
    .mf-map-info { padding: 34px 24px; }
    .mf-map-frame { min-height: 360px; }
}

/* Contact cards — phone + email side by side, address full width; tappable links */
.mf-contact-card.is-wide { grid-column: 1 / -1; }
.mf-contact-card p { overflow-wrap: anywhere; }
.mf-contact-card p a:not(.mf-contact-maplink) { color: var(--header); font-weight: 500; transition: color .3s ease; }
.mf-contact-card p a:not(.mf-contact-maplink):hover { color: var(--mf-green); }
.offcanvas__wrapper .off-contact-info .contact-details p a:hover { color: var(--mf-lime); }
.mf-footer-contact li { overflow-wrap: anywhere; }
.mf-footer-contact li { font-size: 15.5px; }

/*---------------------------------------
Header — smaller logo, Tasty Mill brand link, white sticky header
---------------------------------------*/
.header-main .logo { display: inline-flex; align-items: center; }
.header-main .logo img { height: 40px; width: auto; }
.header-main .logo .logo-dark { display: none; }
.sticky .header-main .logo .logo-light { display: none; }
.sticky .header-main .logo .logo-dark { display: block; }
@media (max-width: 1199px) { .header-main .logo img { height: 36px; } }
@media (max-width: 767px) { .header-main .logo img { height: 32px; } }

/* white sticky header (default header stays green / olive) */
.sticky.header-2,
.page-tastymill .sticky.header-2 { background-color: #fff; box-shadow: 0 12px 30px -16px rgba(15, 58, 26, .35); }
.sticky.header-2 .header-items-two,
.page-tastymill .sticky.header-2 .header-items-two {
    background-color: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
}
.sticky .header-main .main-menu ul li a { color: var(--header); }
.sticky .header-main .main-menu ul li.active > a,
.sticky .header-main .main-menu ul li a:hover { color: var(--mf-green) !important; }
.sticky .header-main .main-menu ul li a::after { background: var(--mf-green); }
.sticky.header-2 .sidebar__toggle span { background-color: var(--header); }
.sticky.header-2 .header-right .theme-btn::before { background-color: var(--mf-forest); }
.sticky.header-2 .header-right .theme-btn:hover { color: #fff; }
.page-tastymill .sticky .header-main .main-menu ul li.active > a,
.page-tastymill .sticky .header-main .main-menu ul li a:hover { color: #7C7425 !important; }
.page-tastymill .sticky.header-2 .header-right .theme-btn::before { background-color: var(--tm-olive-deep); }
.page-tastymill .sticky.header-2 .header-right .theme-btn:hover { color: var(--tm-butter); }

/* "Tasty Mill" nav link — Spirax (closest match to the logo lettering) in the brand olive */
.header-main .main-menu ul li a.tm-nav-link,
.mean-container .mean-nav ul li a.tm-nav-link {
    font-family: 'Spirax', var(--heading-font);
    font-weight: 400;
    font-size: 23px;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    color: #A8A03A;
    -webkit-text-stroke: .35px currentColor;   /* a touch of weight, like the logo */
}
.header-main .main-menu ul li a.tm-nav-link { padding: 16px 0; }
.header-main .main-menu ul li a.tm-nav-link::after { bottom: 4px; background: var(--tm-turmeric); }
.header-main .main-menu ul li a.tm-nav-link:hover,
.mean-container .mean-nav ul li a.tm-nav-link:hover { color: var(--tm-butter) !important; }
.header-main .main-menu ul li.active > a.tm-nav-link { color: #A8A03A !important; }
.mean-container .mean-nav ul li a.tm-nav-link { font-size: 25px; padding: 12px 0; }
/* on the white sticky header: deeper olive for contrast */
.sticky .header-main .main-menu ul li a.tm-nav-link,
.sticky .header-main .main-menu ul li.active > a.tm-nav-link { color: #7C7425 !important; }
.sticky .header-main .main-menu ul li a.tm-nav-link:hover { color: #4F4A15 !important; }

/* "Tasty Mill" nav link — highlighted like a mini logo: light olive-gold lettering on a soft olive pill */
.header-main .main-menu ul li a.tm-nav-link {
    padding: 7px 16px 9px;
    border-radius: 999px;
    color: #E2D676;
    background: rgba(168, 160, 58, .2);
    box-shadow: inset 0 0 0 1px rgba(201, 191, 82, .45);
    text-shadow: 0 0 14px rgba(226, 214, 118, .35);
    transition: background .3s ease, color .3s ease, box-shadow .3s ease;
}
.header-main .main-menu ul li a.tm-nav-link:hover {
    color: var(--tm-cream) !important;
    background: rgba(168, 160, 58, .38);
    box-shadow: inset 0 0 0 1px rgba(226, 214, 118, .7);
}
.header-main .main-menu ul li.active > a.tm-nav-link { color: #E2D676 !important; }
.header-main .main-menu ul li a.tm-nav-link::after { bottom: -12px; }
.mean-container .mean-nav ul li a.tm-nav-link { color: #E2D676; text-shadow: 0 0 14px rgba(226, 214, 118, .3); }
/* white sticky header */
.sticky .header-main .main-menu ul li a.tm-nav-link,
.sticky .header-main .main-menu ul li.active > a.tm-nav-link {
    color: #6E6720 !important;
    background: rgba(168, 160, 58, .14);
    box-shadow: inset 0 0 0 1px rgba(124, 116, 37, .35);
    text-shadow: none;
}
.sticky .header-main .main-menu ul li a.tm-nav-link:hover { color: #4F4A15 !important; background: rgba(168, 160, 58, .26); }

/* Poppins is wider than the previous UI font — keep contact details on one line, break emails only at "@" */
.mf-contact-card { padding: 26px 24px; }
.mf-contact-card p { font-size: 16px; overflow-wrap: break-word; }
@media (max-width: 575px) {
    .mf-hero-pill { border-radius: 16px; align-items: flex-start; line-height: 1.5; }
    .mf-hero-pill-dot { margin-top: 5px; flex-shrink: 0; }
}

/*---------------------------------------
Home hero — phones & tablets: product stage first, then centred content
---------------------------------------*/
@media (max-width: 991px) {
    .mf-hero { padding: 110px 0 56px; }
    .mf-hero .row { --bs-gutter-y: 1.75rem; }
    .mf-hero .mf-hero-content { max-width: 620px; margin: 0 auto; text-align: center; }
    .mf-hero .mf-hero-text { margin-left: auto; margin-right: auto; }
    .mf-hero .mf-btn-group { justify-content: center; }
    .mf-hero .mf-hero-pillars { justify-content: center; margin-top: 36px; }
    .mf-hero-pill { margin-bottom: 20px; }
    .mf-stage { height: 520px; max-width: 560px; }
}
@media (max-width: 767px) {
    .mf-hero { padding: 92px 0 44px; }
    .mf-hero .row { --bs-gutter-y: 1.25rem; }
    .mf-hero-pill-co { display: none; }
    .mf-hero-pill { border-radius: 999px; align-items: center; margin-bottom: 18px; }
    .mf-hero-pill-dot { margin-top: 0; }
    .mf-hero h1 { font-size: 36px; }
    .mf-hero .mf-hero-text { font-size: 16px; margin: 18px auto 28px; }
    .mf-hero .mf-hero-pillars { margin-top: 30px; padding-top: 24px; gap: 12px 16px; }
    /* stage sized for phones; side packs pulled in so nothing is clipped */
    .mf-stage { height: 420px; }
    .mf-stage-brand { display: none; }
    .mf-stage-ring { width: 92%; top: 42%; }
    .mf-stage-glow { top: 42%; }
    .mf-stage-platform { bottom: 19%; }
    .mf-stage-item { width: 44%; bottom: 22%; }
    .mf-stage-item[data-pos="-1"] { transform: translateX(-104%) translateY(-5%) rotate(-11deg) scale(.58); }
    .mf-stage-item[data-pos="1"] { transform: translateX(4%) translateY(-5%) rotate(10deg) scale(.58); }
    .mf-stage-bar { left: 0; right: 0; }
}
@media (max-width: 470px) {
    .mf-hero h1 { font-size: 33px; }
    .mf-stage { height: 380px; }
    .mf-hero .mf-btn-group .theme-btn { height: 52px; line-height: 52px; }
}

/*---------------------------------------
Contact - Business Enquiries: partner tiles + private label packing
---------------------------------------*/
.mf-biz { display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; align-items: stretch; }
.mf-biz-main {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 64px 56px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(60% 55% at 100% 100%, rgba(140, 198, 63, .14), rgba(140, 198, 63, 0) 70%),
        var(--mf-maroon);
}
.mf-biz-main::before {
    content: "";
    position: absolute;
    right: -140px;
    top: -140px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    border: 70px solid rgba(140, 198, 63, .07);
    z-index: -1;
}
.mf-biz-main .mf-eyebrow { color: var(--mf-lime); }
.mf-biz-main h2 { color: #fff; font-size: clamp(34px, 3.4vw, 52px); }
.mf-biz-main > p { color: rgba(255, 255, 255, .8); font-size: 17px; margin: 16px 0 0; max-width: 560px; }
.mf-biz-hint { display: flex; align-items: center; gap: 10px; margin: 34px 0 14px; font-size: 13px; letter-spacing: .04em; color: rgba(255, 255, 255, .62); }
.mf-biz-hint i { color: var(--mf-lime); }
.mf-biz-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.mf-biz-type {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 14px 14px 12px;
    border-radius: 16px;
    color: #fff;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .14);
    transition: background .3s ease, border-color .3s ease, color .3s ease, transform .3s ease;
}
.mf-biz-type-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 17px;
    color: var(--mf-lime);
    background: rgba(140, 198, 63, .14);
    transition: background .3s ease, color .3s ease;
}
.mf-biz-type-name { flex: 1; min-width: 0; font-size: 14.5px; font-weight: 500; line-height: 1.3; }
.mf-biz-type-go { font-size: 13px; opacity: 0; transform: translateX(-6px); transition: opacity .3s ease, transform .3s ease; }
.mf-biz-type:hover, .mf-biz-type:focus-visible { color: var(--mf-forest); background: var(--mf-lime); border-color: var(--mf-lime); transform: translateY(-2px); }
.mf-biz-type:hover .mf-biz-type-icon, .mf-biz-type:focus-visible .mf-biz-type-icon { background: rgba(15, 58, 26, .12); color: var(--mf-forest); }
.mf-biz-type:hover .mf-biz-type-go, .mf-biz-type:focus-visible .mf-biz-type-go { opacity: 1; transform: none; }
.mf-biz-type.is-other { border-style: dashed; }

.mf-biz-pl {
    display: flex;
    flex-direction: column;
    padding: 48px 44px;
    border-radius: 32px;
    background: var(--mf-cream);
    border: 1px solid var(--mf-line);
}
.mf-pl-badge {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fff;
    background: var(--mf-green);
}
.mf-biz-pl h3 { margin: 20px 0 10px; font-size: clamp(26px, 2.3vw, 34px); line-height: 1.18; }
.mf-biz-pl h3 em { font-style: italic; color: var(--mf-green); }
.mf-biz-pl > p { margin: 0; font-size: 16px; }
.mf-pl-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 26px 0 22px;
    padding: 26px 16px 18px;
    border-radius: 24px;
    background:
        radial-gradient(60% 70% at 50% 60%, rgba(140, 198, 63, .22), rgba(140, 198, 63, 0) 75%),
        #fff;
    border: 1px solid var(--mf-line);
}
.mf-pl-item { margin: 0; display: flex; flex-direction: column; align-items: center; }
.mf-pl-item figcaption { margin-top: 12px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mf-green); }
.mf-pl-ours { width: 112px; height: auto; transform: rotate(-6deg); filter: drop-shadow(0 16px 16px rgba(0, 0, 0, .28)); }
.mf-pl-arrow {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--mf-forest);
    background: var(--mf-lime);
    box-shadow: 0 0 0 6px rgba(140, 198, 63, .2);
}
/* "Your Brand" pouch mock-up */
.mf-pl-pouch {
    position: relative;
    width: 112px;
    height: 148px;
    padding: 18px 10px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 12px 12px 16px 16px;
    background: linear-gradient(180deg, #fff 0%, #F4EFE0 100%);
    box-shadow: 0 18px 28px -14px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(46, 20, 16, .08);
    transform: rotate(5deg);
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}
.mf-biz-pl:hover .mf-pl-pouch { transform: rotate(0) translateY(-4px); }
.mf-pl-pouch-seal {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 9px;
    border-radius: 12px 12px 0 0;
    background: repeating-linear-gradient(90deg, rgba(46, 20, 16, .12) 0 3px, transparent 3px 6px);
}
.mf-pl-pouch-logo {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    text-align: center;
    font-size: 8px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(46, 20, 16, .55);
    border: 1.5px dashed rgba(46, 20, 16, .35);
}
.mf-pl-pouch strong {
    margin: 6px 0 7px;
    font-family: var(--heading-font);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    color: var(--header);
}
.mf-pl-pouch-window { position: relative; width: 74%; flex: 1; border-radius: 30px 30px 10px 10px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(46, 20, 16, .1); }
.mf-pl-pouch-window img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% 85%; }
.mf-pl-steps { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 10px; }
.mf-pl-steps li { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 500; color: var(--header); }
.mf-pl-steps li span {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--mf-green);
    background: rgba(140, 198, 63, .2);
}
.mf-biz-pl .theme-btn { align-self: flex-start; margin-top: auto; }

@media (max-width: 1199px) {
    .mf-biz { grid-template-columns: 1fr; }
    .mf-biz-pl .theme-btn { margin-top: 0; }
}
@media (max-width: 767px) {
    .mf-biz-main { padding: 40px 22px; border-radius: 24px; }
    .mf-biz-types { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .mf-biz-type { padding: 12px 10px; gap: 10px; }
    .mf-biz-type-icon { width: 34px; height: 34px; font-size: 15px; }
    .mf-biz-type-name { font-size: 13.5px; }
    .mf-biz-type-go { display: none; }
    .mf-biz-pl { padding: 34px 22px; border-radius: 24px; }
    .mf-pl-visual { gap: 12px; padding: 22px 10px 16px; }
    .mf-pl-ours { width: 92px; }
    .mf-pl-pouch { width: 96px; height: 128px; }
    .mf-biz-pl .theme-btn { align-self: stretch; text-align: center; }
}
.mf-biz-main { display: flex; flex-direction: column; }
.mf-biz-direct {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 22px;
    margin-top: auto;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    font-size: 14px;
}
.mf-biz-types { margin-bottom: 34px; }
.mf-biz-direct span { color: rgba(255, 255, 255, .62); }
.mf-biz-direct a { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 500; }
.mf-biz-direct a i { color: var(--mf-lime); }
.mf-biz-direct a:hover { color: var(--mf-lime); }
@media (max-width: 767px) {
    .mf-pl-pouch strong { font-size: 12.5px; }
    .mf-biz-direct { flex-direction: column; align-items: flex-start; }
}

/* "Tasty Mill" nav link - no pill; the logo's windmill icon + Spirax text on one line.
   The icon is a mask filled with currentColor, so it always matches the text colour. */
.header-main .main-menu ul li a.tm-nav-link,
.sticky .header-main .main-menu ul li a.tm-nav-link,
.sticky .header-main .main-menu ul li.active > a.tm-nav-link {
    padding: 16px 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    white-space: nowrap;
}
.header-main .main-menu ul li a.tm-nav-link:hover,
.sticky .header-main .main-menu ul li a.tm-nav-link:hover { background: transparent; box-shadow: none; }
.header-main .main-menu ul li a.tm-nav-link::after { bottom: 5px; }
.tm-nav-icon {
    display: inline-block;
    width: 20px;
    height: 25px;
    margin-right: 8px;
    vertical-align: -4px;
    background-color: currentColor;
    /* windmill from the Tasty Mill logo (assets/img/logo/tm-windmill.png), inlined so the mask also works when pages are opened from disk */
    -webkit-mask: url("data:image/png;base64,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") no-repeat center / contain;
    mask: url("data:image/png;base64,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") no-repeat center / contain;
    transition: transform .6s ease;
}
.header-main .main-menu ul li a.tm-nav-link:hover .tm-nav-icon { transform: rotate(-8deg); }
.mean-container .mean-nav ul li a.tm-nav-link .tm-nav-icon { width: 21px; height: 26px; vertical-align: -4px; }
