:root {
  --mulberry: #411414; --honey: #efa91f; --honey-pale: #ffd977; --mustard: #d48c11;
  --leaf: #42583b; --paper: #f6f0df; --paper-deep: #e9ddbf; --ink: #251b16; --white: #fffdf7;
  --font-display: "Fraunces", "Noto Sans Devanagari", Georgia, serif;
  --font-body: "Manrope", "Noto Sans Devanagari", sans-serif; --page: min(1180px, calc(100vw - 48px));
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: var(--font-body); line-height: 1.65; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .17; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); }
img { display: block; width: 100%; max-width: 100%; } a { color: inherit; text-decoration: none; } button { color: inherit; font: inherit; }
::selection { background: var(--honey); color: var(--mulberry); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1rem; background: var(--honey); color: var(--mulberry); font-weight: 700; }
.skip-link:focus { top: 1rem; } :focus-visible { outline: 3px solid var(--honey); outline-offset: 4px; }

.site-header { position: fixed; z-index: 50; top: 0; left: 0; width: 100%; min-height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 max(24px, calc((100vw - 1280px)/2)); color: var(--white); border-bottom: 1px solid rgba(255,255,255,.14); background: linear-gradient(180deg, rgba(31,8,8,.3), transparent); transition: background .25s, min-height .25s, box-shadow .25s; }
.site-header.scrolled { min-height: 72px; background: rgba(53,15,15,.94); box-shadow: 0 12px 30px rgba(31,8,8,.18); backdrop-filter: blur(14px); }
.brand { justify-self: start; display: inline-flex; align-items: center; gap: .75rem; line-height: 1.05; }
.brand-mark { width: 38px; height: 38px; overflow: visible; }.brand-mark path:first-child { fill: var(--honey); stroke: none; }.brand-mark path:last-child { fill: none; stroke: var(--mulberry); stroke-width: 2; }
.brand strong { display: block; font: 650 1.15rem/1.1 var(--font-display); letter-spacing: -.02em; }.brand small { display: block; margin-top: .28rem; color: rgba(255,255,255,.65); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 2rem; font-size: .82rem; font-weight: 600; }
.nav-links > a:not(.nav-call) { position: relative; }.nav-links > a:not(.nav-call)::after { content: ""; position: absolute; height: 1px; left: 0; right: 100%; bottom: -.3rem; background: var(--honey); transition: right .2s; }.nav-links > a:not(.nav-call):hover::after { right: 0; }
.nav-call { padding: .72rem 1.05rem; color: var(--mulberry); background: var(--honey); border: 1px solid var(--honey); }.nav-call:hover { background: var(--honey-pale); }.nav-actions { justify-self: end; display: flex; align-items: center; gap: 1rem; }
.lang-toggle { border: 0; background: none; cursor: pointer; color: rgba(255,255,255,.55); font-size: .7rem; letter-spacing: .08em; }.lang-opt.active { color: var(--honey-pale); font-weight: 700; }
.menu-button { display: none; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.3); background: transparent; cursor: pointer; place-content: center; gap: 6px; }.menu-button span { display: block; width: 20px; height: 1px; background: white; transition: transform .2s; }.menu-button.open span:first-child { transform: translateY(3.5px) rotate(45deg); }.menu-button.open span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.hero { min-height: 900px; background: #35100f; color: var(--white); position: relative; isolation: isolate; overflow: hidden; }
.hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #35100f 0%, #3d1211 34%, rgba(61,18,17,.96) 42%, rgba(61,18,17,.72) 52%, rgba(61,18,17,.08) 73%, transparent 100%); }
.hero::after { content: ""; position: absolute; z-index: -1; width: 650px; height: 650px; left: -315px; bottom: -185px; border: 1px solid rgba(239,169,31,.22); border-radius: 50%; box-shadow: 0 0 0 92px rgba(239,169,31,.026), 0 0 0 184px rgba(239,169,31,.017); }
.hero-copy { width: min(1280px, calc(100% - 48px)); min-height: 900px; margin: 0 auto; padding: 11.5rem 0 7.5rem; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 3; }
.kicker { color: var(--mustard); font-weight: 700; font-size: .73rem; letter-spacing: .14em; text-transform: uppercase; }.hero .kicker { color: var(--honey-pale); }
.hero h1 { max-width: 720px; margin: 1.15rem 0 1.65rem; font: 650 clamp(4rem, 6.2vw, 6.7rem)/.9 var(--font-display); letter-spacing: -.065em; text-wrap: balance; }
.hero-intro { max-width: 550px; color: rgba(255,255,255,.76); font-size: clamp(1rem, 1.25vw, 1.16rem); }
.hero-actions { display: flex; align-items: center; gap: 1.6rem; margin-top: 2.25rem; }
.button { display: inline-flex; min-height: 52px; padding: .85rem 1.35rem; align-items: center; justify-content: center; border: 1px solid transparent; font-weight: 700; font-size: .84rem; transition: transform .2s, background .2s, color .2s; }.button:hover { transform: translateY(-2px); }
.button-gold { background: var(--honey); color: var(--mulberry); }.button-gold:hover { background: var(--honey-pale); }.button-dark { background: var(--mulberry); color: var(--white); }.button-dark:hover { background: var(--ink); }
.text-link { border-bottom: 1px solid rgba(255,255,255,.45); padding: .45rem 0; font-weight: 600; font-size: .86rem; }
.hero-origin { width: fit-content; margin-top: 3.5rem; padding: .9rem 1.2rem .95rem 1.35rem; border-left: 3px solid var(--honey); background: rgba(255,255,255,.055); backdrop-filter: blur(8px); }.hero-origin span, .hero-origin strong { display: block; }.hero-origin span { color: var(--honey-pale); font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.hero-origin strong { margin-top: .15rem; font: 600 1.08rem var(--font-display); }.hero-origin p { margin-top: .15rem; color: rgba(255,255,255,.56); font-size: .7rem; }
.hero-photo { position: absolute; z-index: -2; inset: 0 0 0 auto; width: min(50vw, 780px); min-height: 900px; overflow: hidden; background: #6f421f; clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%); }.hero-photo > img { height: 100%; object-fit: contain; object-position: right center; filter: saturate(.9) contrast(1.04); }.hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(53,16,15,.72), transparent 31%), linear-gradient(0deg, rgba(37,27,22,.44), transparent 32%); }
.hero-photo figcaption { position: absolute; z-index: 2; right: max(2rem, calc((100vw - 1280px)/2)); bottom: 2.3rem; text-align: right; color: white; }.hero-photo figcaption span, .hero-photo figcaption small { display: block; }.hero-photo figcaption span { font: 600 1.05rem var(--font-display); }.hero-photo figcaption small { margin-top: .2rem; color: rgba(255,255,255,.72); font-size: .69rem; }
.seal { position: absolute; z-index: 3; right: max(-28px, calc((100vw - 1440px)/2)); top: 18%; width: 138px; overflow: visible; color: var(--mulberry); filter: drop-shadow(0 8px 20px rgba(37,27,22,.18)); animation: seal-turn 32s linear infinite; }.seal text { font: 700 10px var(--font-body); letter-spacing: 2px; fill: var(--mulberry); }.seal > path { fill: var(--honey); stroke: var(--mulberry); stroke-width: 2; }

.trust-ribbon { min-height: 78px; padding: 1.2rem max(24px, calc((100vw - 1180px)/2)); display: grid; grid-template-columns: repeat(7, auto); align-items: center; justify-content: space-between; gap: 1.4rem; background: var(--honey); color: var(--mulberry); font: 650 clamp(.78rem, 1.1vw, .96rem) var(--font-display); }.trust-ribbon span { font-size: .42rem; opacity: .62; }
.section { width: var(--page); margin: 0 auto; padding: 9rem 0; }
.story { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(3.5rem, 8vw, 8rem); }.story-image { position: relative; }.story-image::before { content: ""; position: absolute; inset: -20px 20px 20px -20px; border: 1px solid var(--mustard); z-index: -1; }.story-image img { aspect-ratio: 4/5; object-fit: cover; object-position: 62% center; }.story-image p { width: 68%; margin: 1.1rem 0 0 auto; padding-left: 1rem; border-left: 2px solid var(--mustard); color: #6a5a4d; font-size: .72rem; }
h2 { font: 650 clamp(2.5rem, 4.8vw, 5rem)/1 var(--font-display); letter-spacing: -.055em; text-wrap: balance; }.story h2 { margin: 1rem 0 1.75rem; }.lede { font-size: 1.12rem; color: var(--mulberry); }.story-copy > p:not(.kicker) { margin-bottom: 1.1rem; max-width: 580px; }
blockquote { margin-top: 2.25rem; padding: 1.3rem 0 1.3rem 1.5rem; border-left: 5px solid var(--honey); font: 500 1.35rem/1.45 var(--font-display); color: var(--mulberry); }

.harvest { width: 100%; background: var(--white); padding-left: max(24px, calc((100vw - 1180px)/2)); padding-right: max(24px, calc((100vw - 1180px)/2)); }.section-heading { display: grid; grid-template-columns: .7fr 1.4fr .8fr; gap: 2rem; align-items: end; padding-bottom: 3rem; border-bottom: 1px solid var(--paper-deep); }.section-heading > p:last-child { color: #66574a; font-size: .87rem; }
.range-shot { position: relative; margin: 3rem 0 1.5rem; overflow: hidden; background: var(--mulberry); }.range-shot img { width: 100%; height: auto; object-fit: contain; }.range-shot figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: .65rem .9rem; background: rgba(37,27,22,.78); color: white; font-size: .72rem; backdrop-filter: blur(8px); }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.product-card { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(170px, .75fr); min-width: 0; overflow: hidden; background: var(--paper); border: 1px solid var(--paper-deep); }
.product-photo { position: relative; min-width: 0; aspect-ratio: 3 / 4; overflow: hidden; background: var(--paper-deep); }
.product-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.product-card div { display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem 1.35rem; border-left: 1px solid var(--paper-deep); }.product-card h3 { color: var(--mulberry); font: 600 clamp(1.35rem, 2vw, 1.75rem)/1.05 var(--font-display); }.product-card p { margin-top: .7rem; color: #66574a; font-size: .78rem; line-height: 1.55; }
.harvest-cta { margin-top: 3rem; padding: 1.5rem 1.7rem; display: flex; justify-content: space-between; align-items: center; gap: 2rem; background: var(--paper); }.harvest-cta p { font-size: .85rem; }.harvest-cta strong { color: var(--mulberry); }

.process { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7vw; }.process-intro { position: sticky; top: 120px; align-self: start; }.process-intro h2 { margin: 1rem 0 1.5rem; }.process-intro > p:last-child { max-width: 510px; color: #66574a; }
.process-items article { position: relative; padding: 2.4rem 0 2.4rem 5rem; border-top: 1px solid #cbbfa5; }.process-items article:last-child { border-bottom: 1px solid #cbbfa5; }.process-items span { position: absolute; left: 0; top: 2.7rem; color: var(--mustard); font: 600 .76rem var(--font-body); }.process-items h3 { margin-bottom: .5rem; color: var(--mulberry); font: 600 1.65rem var(--font-display); }.process-items p { max-width: 520px; color: #66574a; font-size: .88rem; }

.gallery { display: grid; grid-template-columns: .72fr 1fr 1fr; grid-template-rows: auto 300px; gap: 1rem; width: 100%; max-width: none; padding: 0; background: var(--leaf); }.gallery-copy { padding: clamp(3rem, 6vw, 7rem); color: var(--white); grid-row: 1 / 3; display: flex; flex-direction: column; justify-content: center; }.gallery-copy .kicker { color: var(--honey-pale); }.gallery-copy h2 { margin: 1rem 0 1.5rem; }.gallery-copy > p:last-child { color: rgba(255,255,255,.66); max-width: 430px; }
.gallery figure { overflow: hidden; min-height: 360px; }.gallery figure img { height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }.gallery figure:hover img { transform: scale(1.035); }.gallery-tall { grid-row: 1 / 3; }.gallery-tall img { object-position: 50% 42%; }.gallery-wide img { object-position: center 50%; }.gallery-detail img { object-position: 50% 82%; transform: scale(1.15); }.gallery-detail:hover img { transform: scale(1.2); }

.visit { width: 100%; max-width: none; padding: 0; display: grid; grid-template-columns: .92fr 1.08fr; background: var(--mulberry); color: white; }.visit-card { padding: clamp(4rem, 8vw, 8rem) max(24px, calc((100vw - 1180px)/2)); padding-right: 6vw; }.visit .kicker { color: var(--honey-pale); }.visit h2 { margin: 1rem 0 2rem; max-width: 620px; }.visit address { font-style: normal; color: rgba(255,255,255,.78); }.visit-tip { max-width: 500px; margin-top: 1rem; color: rgba(255,255,255,.55); font-size: .83rem; }.visit-actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 2rem; }.phone-link { border-bottom: 1px solid rgba(255,255,255,.4); font-weight: 700; }.map-wrap { min-height: 570px; filter: grayscale(.3) sepia(.18); }.map-wrap iframe { display: block; width: 100%; height: 100%; border: 0; }

.footer { padding: 4rem max(24px, calc((100vw - 1180px)/2)) 1.5rem; background: #24110f; color: white; }.footer-main { display: grid; grid-template-columns: 1.4fr .8fr .6fr; gap: 3rem; padding-bottom: 4rem; }.footer-name { margin-bottom: .5rem; color: var(--honey); font: 650 2rem var(--font-display); }.footer-main > div:first-child > p:last-child { color: rgba(255,255,255,.55); }.footer nav, .footer-contact { display: flex; flex-direction: column; gap: .7rem; font-size: .8rem; }.footer a:hover { color: var(--honey); }.footer-contact { text-align: right; }.footer-bottom { padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.42); font-size: .68rem; }
.wa-float { position: fixed; z-index: 40; right: 22px; bottom: 22px; display: flex; align-items: center; gap: .6rem; padding: .72rem 1rem; background: #267b4b; color: white; border-radius: 2rem; box-shadow: 0 10px 30px rgba(25,57,35,.25); font-weight: 700; font-size: .72rem; }.wa-float svg { width: 22px; fill: currentColor; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }.reveal.visible { opacity: 1; transform: none; }.product-card:nth-child(2) { transition-delay: .05s; }.product-card:nth-child(3) { transition-delay: .1s; }.product-card:nth-child(4) { transition-delay: .15s; }
@keyframes seal-turn { to { transform: rotate(360deg); } }

@media (max-width: 980px) {
  :root { --page: min(100% - 36px, 760px); }.site-header { grid-template-columns: 1fr auto; }.menu-button { display: grid; }
  .nav-links { position: fixed; inset: 72px 0 auto; padding: 2rem 24px 2.5rem; flex-direction: column; align-items: stretch; background: var(--mulberry); transform: translateY(-130%); opacity: 0; pointer-events: none; transition: transform .25s, opacity .25s; border-top: 1px solid rgba(255,255,255,.12); }.nav-links.open { transform: none; opacity: 1; pointer-events: auto; }.nav-call { text-align: center; background: var(--honey); color: var(--mulberry); border: 0; }.nav-actions { grid-column: 2; }
  .hero { min-height: 800px; }.hero-copy { min-height: 800px; padding-right: 38vw; }.hero h1 { font-size: clamp(3.4rem, 7vw, 5.3rem); }.hero-photo { width: 52vw; min-height: 800px; clip-path: polygon(16% 0, 100% 0, 100% 100%, 4% 100%); }.seal { width: 112px; }
  .story { gap: 3rem; }.section { padding: 6rem 0; }.section-heading { grid-template-columns: 1fr; }.section-heading > p:last-child { max-width: 550px; }.process { gap: 3rem; }
  .product-grid { grid-template-columns: 1fr; }.product-card { grid-template-columns: minmax(0, 1.05fr) minmax(230px, .95fr); }
  .gallery { grid-template-columns: 1fr 1fr; grid-template-rows: auto 400px 260px; }.gallery-copy { grid-column: 1 / 3; grid-row: 1; padding: 5rem 6vw; }.gallery-tall { grid-row: 2 / 4; }.gallery-wide { grid-row: 2; }.gallery-detail { grid-row: 3; }
  .visit { grid-template-columns: 1fr; }.map-wrap { min-height: 430px; }.visit-card { padding: 6rem max(24px, calc((100vw - 760px)/2)); }
}

@media (max-width: 680px) {
  .site-header { min-height: 72px; padding: 0 18px; }.brand strong { font-size: 1rem; }.brand small { display: none; }.brand-mark { width: 32px; }.lang-toggle { display: none; }
  .hero { min-height: auto; padding-top: 0; display: flex; flex-direction: column; }.hero::before { z-index: 0; background: linear-gradient(180deg, #35100f 0%, #3d1211 48%, rgba(61,18,17,.42) 67%, transparent 82%); }.hero::after { display: none; }.hero-copy { order: 1; width: 100%; min-height: 700px; padding: 8.75rem 22px 5rem; justify-content: flex-start; }.hero h1 { max-width: 470px; font-size: clamp(3.5rem, 15.5vw, 5.15rem); }.hero-intro { max-width: 450px; font-size: .95rem; }.hero-actions { align-items: stretch; flex-direction: column; gap: .8rem; }.text-link { align-self: flex-start; }.hero-origin { margin-top: 2.5rem; }.hero-photo { order: 2; position: relative; z-index: 1; inset: auto; width: 100%; min-height: 570px; clip-path: none; }.hero-photo > img { object-position: 50% 50%; }.hero-photo::after { background: linear-gradient(0deg, rgba(37,27,22,.42), transparent 32%); }.hero-photo figcaption { right: auto; left: 22px; bottom: 1.6rem; text-align: left; }.seal { right: -24px; top: 5%; }
  .trust-ribbon { display: flex; justify-content: flex-start; overflow-x: auto; gap: 1.2rem; padding-inline: 22px; white-space: nowrap; scrollbar-width: none; }.trust-ribbon::-webkit-scrollbar { display: none; }.section { padding: 5rem 0; }
  .story { grid-template-columns: 1fr; }.story-image::before { inset: -10px 10px 10px -10px; }.story-image img { aspect-ratio: 1/1.1; }.story-copy { padding-top: 1rem; } h2 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .harvest { padding: 5rem 22px; }.range-shot { margin-top: 2rem; }.product-card { grid-template-columns: 1fr; }.product-card div { min-height: 142px; border-left: 0; border-top: 1px solid var(--paper-deep); }.harvest-cta { align-items: stretch; flex-direction: column; }
  .process { grid-template-columns: 1fr; }.process-intro { position: static; }.process-items article { padding-left: 3.5rem; }
  .gallery { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 500px 260px; }.gallery-copy { grid-column: 1; padding: 5rem 22px; }.gallery-tall { grid-row: 2; }.gallery-wide { grid-row: 3; }.gallery-detail { display: none; }
  .visit-card { padding: 5rem 22px; }.visit-actions { align-items: stretch; flex-direction: column; }.phone-link { align-self: flex-start; }.map-wrap { min-height: 360px; }
  .footer-main { grid-template-columns: 1fr; gap: 2rem; }.footer-contact { text-align: left; }.footer-bottom span { display: block; margin: 0; }.wa-float span { display: none; }.wa-float { width: 52px; height: 52px; padding: 0; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }.seal { animation: none; }.gallery figure img, .button { transition: none; } }
