/* FARMON — BOTANICAL EDITORIAL COMMERCE */
:root{--green:#0f3a2b;--green-2:#174d39;--sage:#8da274;--sage-light:#dce4d2;--gold:#c9a553;--cream:#f5f2e9;--paper:#fbfaf5;--ink:#12241c;--muted:#66736b;--line:rgba(18,36,28,.13);--shell:min(1360px,calc(100vw - 64px));--shadow:0 26px 70px rgba(19,50,38,.13);--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,"Noto Sans Thai",sans-serif;overflow-x:hidden}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.035;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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.section-shell{width:var(--shell);margin-inline:auto}.eyebrow{margin:0 0 14px;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}em{font-weight:400;color:var(--sage);font-style:italic}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 23px;border-radius:2px;font-size:12px;font-weight:800;letter-spacing:.06em;border:1px solid transparent;transition:.25s;cursor:pointer}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-2);transform:translateY(-2px)}.btn-line{border-color:var(--green);color:var(--green);background:transparent}.btn-line:hover{background:var(--green);color:#fff}.btn-gold{background:var(--gold);color:#173326}.btn-block{width:100%}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,245,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-shell{width:var(--shell);height:82px;margin:auto;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:30px}.brand-lockup{width:145px;height:66px;display:flex;align-items:center;overflow:hidden}.brand-lockup img{width:100%;height:100%;object-fit:contain}.nav-links{display:flex;justify-content:center;gap:36px}.nav-links a{font-size:11px;font-weight:800;letter-spacing:.08em}.nav-actions{display:flex;align-items:center;gap:10px}.lang-switch{display:flex;border:1px solid var(--line);padding:3px}.lang-btn{width:34px;height:30px;border:0;background:transparent;opacity:.45;cursor:pointer}.lang-btn.is-active{opacity:1;background:var(--cream)}.lang-btn img{width:20px}.bag-button{display:flex;align-items:center;gap:10px;border:0;background:var(--green);color:#fff;padding:8px 9px 8px 15px;min-height:40px;cursor:pointer}.bag-count{width:25px;height:25px;display:grid;place-items:center;background:var(--gold);color:var(--green);font-weight:900;font-size:11px}
.hero{min-height:760px;display:grid;grid-template-columns:.82fr 1.06fr 1.12fr;gap:28px;align-items:stretch;padding:44px 0 78px}.hero-brand{position:relative;background:var(--cream);min-height:590px;overflow:hidden}.hero-number,.section-index>span,.collection-rail>span,.contact-aside>span{position:absolute;top:22px;left:24px;font-family:Georgia,serif;font-size:15px;color:var(--gold)}.hero-logo-frame{position:absolute;inset:100px 36px 120px;display:flex;align-items:center;justify-content:center}.hero-logo-frame img{width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}.hero-stamp{position:absolute;left:26px;bottom:24px;width:118px;height:118px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green)}.hero-stamp b{font-family:Georgia,serif;font-size:48px;line-height:.5}.hero-stamp span{font-size:8px;letter-spacing:.16em}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:35px 8px}.hero-kicker{display:flex;align-items:center;justify-content:space-between;gap:16px}.catalogue-pill{font-size:10px;border-bottom:1px solid var(--gold);padding-bottom:5px;color:var(--muted)}.catalogue-pill b{color:var(--green)}.hero h1{font-size:clamp(64px,6.3vw,104px);line-height:.88;margin:10px 0 27px}.hero-text{font-size:15px;line-height:1.8;color:var(--muted);max-width:520px}.hero-actions{display:flex;gap:10px;margin-top:22px}.hero-trust{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);margin-top:42px;padding-top:22px}.hero-trust span{display:block;font-size:9px;color:var(--muted);margin-bottom:7px}.hero-trust strong{font-size:11px;line-height:1.5}.hero-showcase{min-height:590px;position:relative;background:var(--green);overflow:hidden}.hero-showcase:after{content:"F";position:absolute;right:-16px;top:-75px;font-family:Georgia,serif;font-size:520px;color:rgba(255,255,255,.035);line-height:1;pointer-events:none}.hero-main-card{position:absolute;left:9%;right:9%;top:7%;bottom:17%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:2}.hero-main-card img{width:78%;height:72%;object-fit:contain}.hero-feature-info{position:absolute;left:0;right:0;bottom:0;padding:17px 18px;background:rgba(245,242,233,.94);display:grid;grid-template-columns:1fr auto;gap:3px 15px}.hero-feature-info small{grid-column:1/-1;font-size:8px;letter-spacing:.11em;color:var(--gold)}.hero-feature-info strong{font-size:12px}.hero-feature-info b{font-family:Georgia,serif;font-size:18px}.hero-mini-card{position:absolute;width:92px;height:112px;border:0;background:var(--cream);z-index:4;box-shadow:0 16px 35px rgba(0,0,0,.18);cursor:pointer}.hero-mini-card img{width:86%;height:86%;object-fit:contain}.hero-mini-a{left:4%;bottom:4%}.hero-mini-b{left:31%;bottom:2%}.hero-mini-c{right:5%;bottom:4%}.hero-spark{position:absolute;right:26px;top:22px;color:var(--gold);font-size:28px;z-index:5}
.manifesto{margin-bottom:92px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0;display:grid;grid-template-columns:110px 1.2fr .8fr;gap:40px;align-items:center}.manifesto-mark{font-family:Georgia,serif;font-size:90px;color:var(--green);border-right:1px solid var(--line)}.manifesto h2{font-size:clamp(42px,4vw,66px);line-height:.95;margin:0}.manifesto>p{color:var(--muted);line-height:1.8;font-size:13px}
.category-section,.collection,.contact{display:grid;grid-template-columns:110px 1fr;gap:40px;padding:90px 0}.section-index,.collection-rail,.contact-aside{position:relative;border-right:1px solid var(--line)}.section-index p,.collection-rail p,.contact-aside p{position:absolute;top:90px;left:24px;margin:0;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;color:var(--muted)}.section-heading{display:grid;grid-template-columns:1fr minmax(240px,390px);gap:40px;align-items:end;margin-bottom:34px}.section-heading h2{font-size:clamp(48px,5vw,76px);line-height:.95;margin:0}.section-heading>p{color:var(--muted);line-height:1.7;font-size:13px}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.category-card{min-height:160px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:20px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:.22s}.category-card:hover{background:var(--green);color:#fff}.cat-icon{font-size:24px;color:var(--gold)}.category-card strong{font-size:12px;line-height:1.35}.category-card .count{font-size:9px;color:var(--muted)}.category-card:hover .count{color:#c7d5cb}
.collection{background:var(--cream);width:100%;padding-inline:max(32px,calc((100vw - 1360px)/2));grid-template-columns:110px minmax(0,1250px);justify-content:center}.collection-rail{border-color:rgba(18,36,28,.16)}.rail-line{position:absolute;top:150px;bottom:20px;left:31px;width:1px;background:var(--gold)}.catalogue-toolbar{position:sticky;top:82px;z-index:15;background:rgba(245,242,233,.94);backdrop-filter:blur(12px);padding:13px 0;display:grid;grid-template-columns:260px 1fr;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:0 13px}.search-box input{width:100%;height:42px;border:0;outline:0;background:transparent;font-size:12px}.filter-row{display:flex;gap:7px;overflow:auto;padding-bottom:1px}.filter-chip{flex:0 0 auto;border:1px solid var(--line);background:transparent;padding:9px 13px;font-size:10px;cursor:pointer}.filter-chip.is-active{background:var(--green);color:#fff;border-color:var(--green)}.catalogue-meta{display:flex;justify-content:space-between;padding:17px 0;font-size:10px;color:var(--muted)}.text-action{border:0;background:transparent;color:var(--green);cursor:pointer;font-size:10px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.product-card{background:var(--paper);border:1px solid rgba(18,36,28,.08);transition:.25s;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-image{aspect-ratio:1/1.05;position:relative;background:#eeede7;display:grid;place-items:center;overflow:hidden}.product-image img{width:82%;height:82%;object-fit:contain;transition:.35s}.product-card:hover .product-image img{transform:scale(1.045)}.product-badge{position:absolute;top:10px;left:10px;z-index:2;background:rgba(255,255,255,.86);padding:6px 8px;font-size:8px}.product-info{padding:14px}.product-title{font-size:12px;line-height:1.45;min-height:35px;margin:0 0 6px}.product-desc{font-size:10px;color:var(--muted);line-height:1.5;height:31px;overflow:hidden;margin:0 0 14px}.product-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px}.product-price{font-family:Georgia,serif;font-size:18px}.add-btn{width:33px;height:33px;border:1px solid var(--green);background:transparent;color:var(--green);cursor:pointer;font-size:20px}.add-btn:hover{background:var(--green);color:#fff}.load-more-wrap{display:flex;justify-content:center;margin-top:30px}.load-more-wrap[hidden]{display:none}
.wholesale{margin:100px auto;min-height:610px;background:var(--green);color:#fff;padding:70px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;position:relative;overflow:hidden}.wholesale:before{content:"FARMON";position:absolute;left:-25px;bottom:-75px;font-family:Georgia,serif;font-size:220px;color:rgba(255,255,255,.035);letter-spacing:-.06em}.wholesale-copy{position:relative;z-index:2}.eyebrow.light{color:#dfc87c}.wholesale h2{font-size:clamp(60px,6vw,92px);line-height:.88;margin:14px 0 28px}.wholesale-copy>p{color:#c5d2cb;line-height:1.8;font-size:13px;max-width:570px}.wholesale-copy .btn{margin-top:20px}.wholesale-grid{display:grid;grid-template-columns:1fr 1fr;align-self:center;border-top:1px solid rgba(255,255,255,.17);border-left:1px solid rgba(255,255,255,.17);position:relative;z-index:2}.wholesale-grid article{min-height:190px;padding:22px;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}.wholesale-grid span{font-family:Georgia,serif;color:var(--gold)}.wholesale-grid h3{font-size:14px;margin:40px 0 8px}.wholesale-grid p{font-size:11px;color:#aebfb5;line-height:1.6;margin:0}.trade-seal{display:flex!important;align-items:center;justify-content:center;gap:15px;background:var(--gold);color:var(--green)}.trade-seal b{font-family:Georgia,serif;font-size:72px}.trade-seal small{font-weight:900;letter-spacing:.1em;line-height:1.4}
.contact{padding-top:20px;padding-bottom:100px}.contact-emblem{position:absolute;bottom:20px;left:23px;color:var(--gold);font-size:24px}.contact-card{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);min-height:540px}.contact-copy{padding:55px}.contact-copy h2{font-size:clamp(52px,5vw,78px);line-height:.9;margin:14px 0 25px}.contact-intro{font-size:13px;line-height:1.8;color:var(--muted);max-width:450px}.contact-list{margin-top:34px}.contact-list a{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.contact-list span{font-size:10px;color:var(--muted)}.contact-list strong{font-size:11px;text-align:right}.map-composition{position:relative;overflow:hidden;background:#e5eadf;min-height:100%}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(15,58,43,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(15,58,43,.09) 1px,transparent 1px);background-size:34px 34px;transform:rotate(8deg) scale(1.2)}.map-route{position:absolute;border:2px solid var(--gold);border-radius:50%}.route-a{width:470px;height:230px;left:-120px;top:80px;transform:rotate(20deg)}.route-b{width:360px;height:500px;right:-150px;bottom:-100px;transform:rotate(-15deg)}.map-pin{position:absolute;left:48%;top:42%;width:70px;height:70px;border-radius:50%;background:var(--green);color:var(--gold);display:grid;place-items:center;font-family:Georgia,serif;font-size:34px;box-shadow:0 16px 35px rgba(15,58,43,.2)}.map-copy{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(251,250,245,.9);padding:17px}.map-copy span{display:block;font-size:9px;color:var(--gold);margin-bottom:6px}.map-copy strong{font-size:11px;line-height:1.55}
.site-footer{border-top:1px solid var(--line);padding:36px 0 0;display:grid;grid-template-columns:190px 1fr;gap:40px;position:relative;overflow:hidden}.footer-logo img{width:170px;height:110px;object-fit:contain;mix-blend-mode:multiply}.footer-info{padding-top:18px}.footer-info>p,.footer-bottom{font-size:10px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:20px 0;margin-top:25px}.footer-wordmark{grid-column:1/-1;text-align:center;font-family:Georgia,serif;font-size:clamp(110px,18vw,250px);line-height:.72;letter-spacing:-.07em;color:rgba(15,58,43,.07);margin-top:30px;white-space:nowrap}
.sheet-backdrop{position:fixed;inset:0;background:rgba(12,31,23,.48);backdrop-filter:blur(6px);z-index:70}.cart-sheet{position:fixed;z-index:80;right:0;top:0;width:min(520px,100vw);height:100vh;transform:translateX(105%);transition:.38s var(--ease);background:var(--paper);box-shadow:-20px 0 70px rgba(0,0,0,.18);padding:24px;display:flex;flex-direction:column}.cart-sheet.is-open{transform:translateX(0)}.sheet-handle{display:none}.cart-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid var(--line)}.cart-head h2{font-size:38px;margin:0}.icon-button{width:40px;height:40px;border:1px solid var(--line);background:transparent;font-size:23px;cursor:pointer}.cart-items{flex:1;overflow:auto}.cart-empty{text-align:center;color:var(--muted);padding:50px 15px;line-height:1.7}.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.cart-thumb{width:72px;height:72px;background:var(--cream);display:grid;place-items:center}.cart-thumb img{width:88%;height:88%;object-fit:contain}.cart-item h4{font-size:11px;margin:0 0 5px}.cart-item small{font-size:10px;color:var(--muted)}.cart-controls{display:flex;align-items:center;gap:7px;margin-top:8px}.qty-btn{width:27px;height:27px;border:1px solid var(--line);background:transparent;cursor:pointer}.remove-btn,.clear-cart{border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.cart-line-total{font-size:11px;font-weight:800}.cart-footer{padding-top:16px;border-top:1px solid var(--line)}.subtotal-row{display:flex;justify-content:space-between;align-items:center}.subtotal-row strong{font-family:Georgia,serif;font-size:28px}.cart-note{font-size:10px;line-height:1.6;color:var(--muted)}.clear-cart{width:100%;margin-top:12px}.toast{position:fixed;z-index:100;left:50%;bottom:25px;transform:translate(-50%,25px);opacity:0;background:var(--green);color:#fff;padding:11px 16px;font-size:10px;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(18px);transition:.65s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1050px){:root{--shell:min(100% - 34px,960px)}.nav-shell{grid-template-columns:160px 1fr auto}.nav-links{display:none}.hero{grid-template-columns:.72fr 1.28fr}.hero-brand{min-height:520px}.hero-showcase{grid-column:1/-1;min-height:520px}.manifesto{grid-template-columns:80px 1fr}.manifesto>p{grid-column:2}.category-section,.collection,.contact{grid-template-columns:70px 1fr}.category-grid{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(3,1fr)}.wholesale{grid-template-columns:1fr;padding:50px}.contact-card{grid-template-columns:1fr}.map-composition{min-height:420px}}
@media(max-width:720px){:root{--shell:calc(100vw - 22px)}.nav-shell{height:68px;grid-template-columns:1fr auto}.brand-lockup{width:120px;height:55px}.bag-button>span:first-child{display:none}.hero{display:flex;flex-direction:column;padding:24px 0 55px}.hero-brand{min-height:350px}.hero-logo-frame{inset:60px 35px 80px}.hero-stamp{width:90px;height:90px}.hero-copy{padding:10px 0}.hero h1{font-size:58px}.hero-trust{grid-template-columns:1fr}.hero-showcase{min-height:430px}.hero-main-card{left:7%;right:7%;bottom:20%}.manifesto{grid-template-columns:60px 1fr;gap:18px}.manifesto-mark{font-size:56px}.manifesto h2{font-size:43px}.category-section,.contact{grid-template-columns:1fr;padding:60px 0}.section-index,.contact-aside{display:none}.section-heading{grid-template-columns:1fr;gap:12px}.section-heading h2{font-size:48px}.category-grid{grid-template-columns:repeat(2,1fr)}.category-card{min-height:132px}.collection{display:block;padding:60px 11px}.collection-rail{display:none}.catalogue-toolbar{top:68px;grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr);gap:8px}.product-desc{display:none}.product-title{font-size:11px}.wholesale{width:100%;margin:50px 0;padding:42px 22px}.wholesale h2{font-size:58px}.wholesale-grid{grid-template-columns:1fr}.wholesale-grid article{min-height:155px}.contact-copy{padding:35px 22px}.contact-copy h2{font-size:50px}.contact-list a{flex-direction:column;gap:5px}.contact-list strong{text-align:left}.site-footer{grid-template-columns:1fr}.footer-info{padding-top:0}.footer-bottom{flex-direction:column}.footer-wordmark{font-size:25vw}.cart-sheet{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
