/*
Theme Name: Forest Messenger
Theme URI: https://example.com/forest-messenger
Author: Forest Messenger
Description: A bilingual Yunnan Puerh tea storefront theme.
Version: 2.2.9
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: forest-messenger
*/

:root{--cloud:#f4f2e9;--white:#fffdf7;--mist:#d9e4de;--sky:#8bc3cc;--forest:#1f4a3a;--forest-dark:#14372d;--moss:#7e955b;--tea:#c98b45;--tea-light:#e4c58e;--bark:#3b342d;--ink:#26392e;--muted:#62766b;--line:#cbd5ca;--serif:"Noto Serif SC","Source Han Serif SC",Georgia,serif;--sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cloud);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}.fm-wrap{overflow:hidden}.fm-container{width:min(1180px,calc(100% - 48px));margin:auto}.fm-header{position:sticky;z-index:99;top:0;border-bottom:1px solid rgba(31,74,58,.15);background:rgba(244,242,233,.95);backdrop-filter:blur(10px)}.fm-nav{min-height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.fm-links{display:flex;gap:18px;color:var(--muted);font-size:11px;letter-spacing:.07em}.fm-links--right{justify-content:flex-end}.fm-brand{text-align:center;color:var(--forest);font:400 21px/1 var(--serif);letter-spacing:.12em}.fm-brand small{display:block;margin-top:7px;color:var(--muted);font:13px/1 var(--sans);letter-spacing:.2em}.fm-mobile{display:none}.fm-hero{position:relative;overflow:hidden;min-height:min(790px,calc(100vh - 79px));background:radial-gradient(circle at 72% 19%,rgba(255,253,247,.96),transparent 16%),radial-gradient(circle at 84% 34%,rgba(255,253,247,.72),transparent 22%),linear-gradient(137deg,#dcecef 0,#a8d0d4 38%,#c6ddd1 66%,#e9eee3 100%)}.fm-hero:after{position:absolute;right:-10%;bottom:-30%;width:62%;height:105%;border:1px solid rgba(31,74,58,.28);border-radius:52% 48% 70% 30%;content:"";transform:rotate(-14deg)}.fm-hero-pattern{position:absolute;right:8%;top:20%;width:min(420px,40vw);height:220px;color:#5f9199;opacity:.11}.fm-hero-pattern path,.fm-mountains path,.fm-water path{fill:none;stroke:currentColor;stroke-width:1.25}.fm-hero-inner{position:relative;z-index:2;min-height:inherit;display:flex;align-items:flex-end;padding:90px 0 74px}.fm-hero-copy{width:min(710px,100%)}.fm-kicker{margin:0 0 14px;color:var(--tea);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.fm-title,.fm-heading{margin:0;font:400 clamp(34px,5vw,64px)/1.04 var(--serif);letter-spacing:-.045em}.fm-title{color:var(--forest-dark);font-size:clamp(48px,7.5vw,94px);line-height:.95}.fm-cn{display:block;margin-top:11px;font-size:.53em;letter-spacing:.02em}.fm-title .fm-cn{margin-top:22px;color:var(--forest);font-size:.4em}.fm-copy{max-width:590px;margin:24px 0 0;color:var(--muted);font-size:15px;line-height:1.8}.fm-copy span{display:block;margin-top:8px}.fm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.fm-btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid var(--forest);color:var(--forest);font-size:12px;letter-spacing:.04em}.fm-btn--solid{background:var(--forest);color:var(--white)}.fm-section{padding:118px 0}.fm-forest{position:relative;overflow:hidden;background:var(--forest);color:var(--white)}.fm-forest:before{position:absolute;inset:0;content:"";opacity:.07;background-image:radial-gradient(ellipse 16px 5px at 20px 19px,transparent 46%,#dce9cc 50%,transparent 55%),radial-gradient(ellipse 16px 5px at 47px 47px,transparent 46%,#dce9cc 50%,transparent 55%);background-size:82px 82px;transform:rotate(-24deg) scale(1.35)}.fm-forest .fm-container{position:relative}.fm-forest .fm-copy{color:#c6d7c4}.fm-forest .fm-cn{color:#e8cf94}.fm-pillars,.fm-paths,.fm-products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.fm-pillar{padding-top:19px;border-top:1px solid #b9c894}.fm-num{color:var(--tea-light);font-size:12px;letter-spacing:.14em}.fm-pillar h3{margin:28px 0 0;font:400 24px/1.2 var(--serif)}.fm-pillar h3 span{display:block;margin-top:7px;font-size:16px}.fm-pillar p{margin:15px 0 0;color:#c6d7c4;font-size:13px;line-height:1.75}.fm-archive{background:var(--cloud)}.fm-label{margin:0 0 22px;color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.fm-archive-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:40px}.fm-facts{display:grid;grid-template-columns:repeat(2,1fr);margin-top:28px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.fm-fact{min-height:105px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.fm-fact b{display:block;color:var(--forest);font:400 18px/1.2 var(--serif)}.fm-fact span{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.55}.fm-map{position:relative;overflow:hidden;display:grid;place-items:center;min-height:100%;border:1px solid #b9d1d0;background:var(--mist)}.fm-mountains{position:absolute;inset:0;width:100%;height:100%;color:#5f9199;opacity:.1}.fm-map-label{position:relative;z-index:1;color:#5f9199;font-size:11px;letter-spacing:.12em;line-height:1.8;text-align:center}.fm-path-section{background:var(--white)}.fm-path{min-height:285px;padding:27px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.fm-path--dark{border-color:var(--forest);background:var(--forest);color:var(--white)}.fm-path-kicker{margin:0;color:var(--tea);font-size:10px;letter-spacing:.12em}.fm-path--dark .fm-path-kicker{color:var(--tea-light)}.fm-path h3{margin:16px 0 0;font:400 27px/1.1 var(--serif)}.fm-path h3 span{display:block;margin-top:7px;font-size:17px}.fm-path p{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.fm-path--dark p{color:#c6d7c4}.fm-path-link{font-size:11px;letter-spacing:.06em}.fm-shop{background:var(--cloud)}.fm-categories{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.fm-categories span{padding:9px 12px;border:1px solid var(--line);color:var(--forest);font-size:11px}.fm-categories span:nth-child(2){border-color:#d8b176;color:#8d5d23;background:#f7ebd7}.fm-categories span:nth-child(3){border-color:#a8bc82;color:#5e773e;background:#ebf1de}.fm-product-image{display:flex;align-items:flex-end;aspect-ratio:1/1.05;padding:22px;color:var(--white);font-size:10px;letter-spacing:.1em;line-height:1.6;background:linear-gradient(145deg,#e9cf99,#bb7d3b 53%,#49351f)}.fm-product:nth-child(2) .fm-product-image{background:linear-gradient(145deg,#bfd49a,#6f8d4f 54%,#1c4a38)}.fm-product:nth-child(3) .fm-product-image{background:linear-gradient(145deg,#d9e6e1,#8bc3cc 49%,#517e7f)}.fm-product h3{margin:17px 0 0;color:var(--bark);font:400 23px/1.2 var(--serif)}.fm-product h3 span{display:block;margin-top:7px;color:var(--forest);font-size:16px}.fm-product p{margin:11px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.fm-product a{display:inline-block;margin-top:16px;color:var(--forest);font-size:11px;letter-spacing:.07em}.fm-trace{background:#e8eeea}.fm-trace-head{max-width:780px}.fm-timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border-top:1px solid #9fb9b7}.fm-step{min-height:155px;padding:18px 18px 0 0;border-right:1px solid #9fb9b7}.fm-step:last-child{border:0}.fm-step b{color:var(--tea);font-size:12px}.fm-step h3{margin:28px 0 0;color:var(--forest);font:400 19px/1.3 var(--serif)}.fm-step p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.fm-brew{display:grid;grid-template-columns:1fr 1fr;min-height:420px}.fm-brew-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:42px;color:var(--bark);background:radial-gradient(circle at 68% 34%,rgba(255,247,215,.84),transparent 20%),linear-gradient(140deg,#f0d9a0,#c98b45)}.fm-brew-visual:after{position:absolute;right:14%;top:12%;width:185px;height:185px;border:15px solid rgba(255,253,247,.48);border-radius:50%;content:""}.fm-water{position:absolute;inset:0;width:100%;height:100%;color:rgba(255,253,247,.14)}.fm-brew-visual p{position:relative;z-index:1;margin:0;font-size:11px;letter-spacing:.12em}.fm-brew-copy{display:flex;flex-direction:column;justify-content:center;padding:64px 13%;color:var(--white);background:var(--forest-dark)}.fm-brew-copy .fm-cn{color:var(--tea-light)}.fm-brew-copy .fm-copy{color:#c6d7c4}.fm-brew-copy .fm-btn{width:fit-content;margin-top:25px;border-color:#c6d7c4;color:var(--white)}.fm-letters{background:var(--white);text-align:center}.fm-letters .fm-heading{max-width:700px;margin:auto}.fm-letters .fm-copy{margin-right:auto;margin-left:auto}.fm-email{display:flex;justify-content:space-between;width:min(440px,100%);margin:34px auto 0;padding-bottom:13px;border-bottom:1px solid var(--forest);color:var(--muted);font-size:12px;text-align:left}.fm-email b{color:var(--forest);font-weight:400;letter-spacing:.06em}.fm-footer{padding:34px 0;background:var(--forest-dark);color:#d5e0d1}.fm-footer-inner{display:flex;justify-content:space-between;gap:24px}.fm-footer-brand{font:400 17px/1 var(--serif);letter-spacing:.1em}.fm-footer-brand small{display:block;margin-top:6px;font:11px var(--sans);letter-spacing:.16em}.fm-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:16px;color:#c6d7c4;font-size:11px}@media(max-width:760px){.fm-container{width:min(100% - 32px,1180px)}.fm-nav{grid-template-columns:auto 1fr auto;min-height:68px}.fm-links{display:none}.fm-mobile{display:block;color:var(--forest);font-size:13px}.fm-brand{font-size:18px}.fm-hero{min-height:620px}.fm-hero-inner{padding:70px 0 52px}.fm-section{padding:78px 0}.fm-pillars,.fm-paths,.fm-products,.fm-archive-grid,.fm-brew{grid-template-columns:1fr}.fm-pillars{gap:32px}.fm-facts{grid-template-columns:1fr}.fm-map{min-height:300px}.fm-timeline{grid-template-columns:1fr 1fr}.fm-step:nth-child(2){border-right:0}.fm-step:nth-child(-n+2){border-bottom:1px solid #9fb9b7}.fm-brew-visual{min-height:300px}.fm-brew-copy{padding:60px 8%}.fm-footer-inner{flex-direction:column}.fm-footer-links{justify-content:flex-start}}
