@charset "UTF-8";
/* 叶片同时标识当前栏目，鼠标离开后仍保留。 */
.main-nav a.is-current::before{opacity:.75;transform:translate(-50%,-50%) rotate(-10deg) scale(1)}
.product-card[hidden]{display:none!important}
/* 入场中的图文限制在主内容内，避免横向位移撑出页面空隙。 */
main{overflow-x:clip}
:root{--ink:#333;--green:#4a6b57;--paper:#fffaf1;--heading:"STZhongsong","华文中宋","Songti SC","SimSun",serif;--body:"FangSong","仿宋","STFangsong","SimSun",serif;--gutter:clamp(20px,2.6vw,50px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);font:24px/1.65 var(--body);background:#f1e8c6 url("../img/background.webp") center top/100% auto fixed}body::before{content:"";position:fixed;inset:0;background:url("../img/background.webp") center top/cover;z-index:-1;pointer-events:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:6px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:400}h1,h2,h3{font-family:var(--heading)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:10px}.skip-link:focus{top:10px}.content-width{width:75%;max-width:1440px;margin-inline:auto}.site-header{height:clamp(80px,6.25vw,120px);padding:0 2.4%;display:flex;align-items:center;justify-content:space-between;gap:32px;background:#fffaf4;position:relative;z-index:20}.brand{width:clamp(250px,19vw,365px);flex-shrink:0}.brand img,.footer-brand img{width:100%;height:auto}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.1vw,40px);font:clamp(17px,1.25vw,24px)/1.5 var(--heading)}.main-nav a{white-space:nowrap;position:relative;padding:16px 0;isolation:isolate}.main-nav a::before{content:"";position:absolute;width:81px;height:36px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-10deg) scale(.7);opacity:0;z-index:-1;background:url("../img/nav-hover.webp") center/contain no-repeat;transition:.3s}.main-nav a:hover::before,.main-nav a:focus-visible::before{opacity:.75;transform:translate(-50%,-50%) rotate(-10deg) scale(1)}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:#d7d2b7;aspect-ratio:16/9}.hero-track,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:60px;height:60px;border:0;border-radius:50%;background:#fffdf0e8;color:var(--green);transition:background .2s,scale .2s}.hero-arrow:hover{background:white;scale:1.08}.hero-arrow svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.previous{left:2.4%}.next{right:2.4%}.carousel-dots{display:flex;justify-content:center;gap:14px;position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:2}.carousel-dots button{width:12px;height:12px;border:1px solid var(--green);border-radius:50%;padding:0;background:#fffb;box-shadow:0 0 0 6px transparent}.carousel-dots button::before{content:"";display:block;width:28px;height:28px;transform:translate(-9px,-9px)}.carousel-dots button[aria-pressed="true"]{background:var(--green)}.carousel-pause{position:absolute;right:24px;bottom:16px;background:#fff9;border:0;border-radius:50%;width:32px;height:32px;font:16px/1 sans-serif;color:var(--green)}.section{padding-top:62px}.section-heading{text-align:center;margin-bottom:44px;line-height:1.5}.section-heading h1,.section-heading h2{font-size:32px;letter-spacing:4px}.section-heading>p{font:24px/1.5 var(--heading)}.story-wrap{position:relative;padding-bottom:110px}.story-paper{background:var(--paper);border-radius:40px;padding:58px 100px 120px}.story-paper p{text-indent:2em;margin-bottom:25px}.story-paper p:last-child{margin-bottom:0}.story-branch{position:absolute;width:110%;max-width:none;bottom:0;left:-5%;pointer-events:none}.products-section{padding-top:0}.product-grid{display:grid;grid-template-columns:1.06fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--gutter);aspect-ratio:1440/620}.product-card{position:relative;overflow:hidden;border-radius:28px;min-width:0;isolation:isolate;background:var(--paper);cursor:pointer}.product-card picture,.product-card picture img{width:100%;height:100%;object-fit:cover}.product-card picture{display:block}.product-card .product-copy{position:absolute;bottom:0;left:0;right:0;padding:22px 28px;background:#211d1ac9;color:#fff;transform:translateY(100%);transition:transform .4s}.product-card.is-active .product-copy{transform:translateY(0)}.product-card h3{font-size:24px}.product-card.is-active h3{display:none}.product-card p{font-size:24px;line-height:1.6}.product-more{border:0;background:none;padding:0;color:inherit;text-align:left}.product-more::after{content:"";position:absolute;inset:0}.product-more span{display:none}.origin-list{display:flex;flex-direction:column;gap:80px}.origin-row{display:grid;grid-template-columns:1fr 1fr;align-items:end}.origin-copy{padding:48px 80px;background:var(--paper);border-radius:30px 0 0 30px;text-indent:2em;line-height:1.8}.origin-row img{width:100%;aspect-ratio:4/3;object-fit:cover}.origin-row:nth-child(even) img{grid-column:1;grid-row:1}.origin-row:nth-child(even) .origin-copy{grid-column:2;border-radius:0 30px 30px 0}.news-section{padding-top:100px}.news-timeline{position:relative;display:flex;flex-direction:column;gap:62px;padding:10px 0 25px}.news-timeline::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:4px;transform:translateX(-50%);background:#4a4326}.news-row{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:40px;align-items:center}.news-entry{display:flex;align-items:center;gap:22px;min-width:0;z-index:1}.news-date{flex:0 0 115px;text-align:center;line-height:1.5;font-family:var(--heading)}.news-date>span{display:block;white-space:nowrap;font-size:28px}.news-date strong{display:grid;place-items:center;width:84px;height:84px;margin:7px auto 0;border-radius:50%;background:var(--green);color:#fffaf1;font-size:40px;font-weight:400}.news-copy{display:block;flex:1;min-width:0;padding:24px 30px;border:0;background:var(--paper);border-radius:28px;text-align:left;line-height:1.6;transition:box-shadow .3s,background .3s}.news-copy:hover{background:#fffdf6;box-shadow:0 8px 30px #4a6b571a}.news-copy h3{font-size:24px;line-height:1.6}.news-copy p{color:var(--ink);font-size:24px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-image{border:0;border-radius:20px;padding:0;overflow:hidden;background:var(--paper)}.news-image img{width:100%;aspect-ratio:586/396;object-fit:cover;transition:transform .5s}.news-image:hover img{transform:scale(1.04)}.news-row:nth-child(even){grid-template-columns:270px minmax(0,1fr)}.news-row:nth-child(even) .news-image{grid-column:1;grid-row:1}.news-row:nth-child(even) .news-entry{grid-column:2;flex-direction:row-reverse}.news-row:nth-child(even) .news-copy{text-align:right}.mobile-news-carousel{display:none}.philosophy-section{padding-top:100px}.philosophy-viewport{overflow:hidden;--tea-gap:32px}.philosophy-track{display:flex;gap:var(--tea-gap);will-change:transform}.philosophy-card{background:var(--paper);border-radius:32px;flex:0 0 calc((100% - 3 * var(--tea-gap))/4);padding:25px 30px 36px;text-align:center;min-width:0}.philosophy-card h3{color:var(--green);font-size:144px;line-height:1.3}.philosophy-card .english{font:24px/1.8 Georgia,serif;margin-bottom:10px}.philosophy-card h4{font-size:24px;margin-bottom:8px}.philosophy-card>p:last-child{font-size:24px;line-height:1.8}.contact-section{padding-block:80px 100px;text-align:center}.contact-section>h2{font-size:32px;margin-bottom:50px}.contact-codes{display:flex;justify-content:center;gap:9%;width:75%;max-width:1200px;margin:auto}.contact-codes figure{width:36%;max-width:405px}.qr-button{display:block;padding:0;border:0;border-radius:28px;overflow:hidden;width:100%;background:white;transition:transform .25s}.qr-button:hover{transform:translateY(-5px)}.qr-button img{width:100%;height:auto}.contact-codes figcaption{font-size:20px;margin-top:10px}.site-footer{display:flex;align-items:center;justify-content:center;gap:7%;background:#fffaf1;padding:30px 4%;font-size:20px;line-height:1.7;text-align:center}.footer-brand{width:360px;flex-shrink:0}.site-footer address{font-style:normal}.back-top{position:fixed;right:20px;bottom:25px;width:44px;height:44px;background:var(--green);border:1px solid #fff7;border-radius:50%;color:white;text-align:center;font:26px/42px serif;z-index:10;opacity:0;visibility:hidden;transform:translateY(15px);transition:.3s}.back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.detail-dialog{border:1px solid #ccc2a5;border-radius:24px;background:var(--paper);padding:54px;max-width:760px;width:calc(100% - 32px);max-height:85dvh;color:var(--ink);overscroll-behavior:contain}.detail-dialog::backdrop{background:#17251dc9;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:14px;top:8px;border:0;background:none;font:36px/1 sans-serif;width:40px;height:40px;color:var(--green)}.dialog-content h2{font-size:28px;color:var(--green);padding-right:10px;margin-bottom:24px}.dialog-content p{margin-block:18px}.dialog-content>img{width:100%;max-height:340px;object-fit:cover;border-radius:14px}.dialog-content>img.qr-large{object-fit:contain;max-height:60vh}.dialog-link{display:inline-block;padding:8px 25px;background:var(--green);border-radius:30px;color:white;margin-top:15px;font-size:18px}.dialog-note{font-size:16px;color:#777}.noscript-notice{text-align:center;padding:20px;background:var(--paper)}
@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transition:opacity .85s ease,transform 1s cubic-bezier(.22,.7,.2,1)}.js .reveal.from-left{transform:translateX(-100px)}.js .reveal.from-right{transform:translateX(100px)}.js .reveal.from-bottom{transform:translateY(100px) scale(.97)}.js .reveal.is-visible{opacity:1;transform:none}.js .reveal.bounce.is-visible{animation:rise-in 1.1s both}@keyframes rise-in{0%{opacity:0;transform:translateY(100px) rotate(1deg)}65%{opacity:1;transform:translateY(-12px) rotate(-.3deg)}85%{transform:translateY(5px)}100%{transform:none}}}
@media(min-width:768px) and (max-width:1400px){.content-width{width:82%}.site-header{gap:20px}.brand{width:260px}.main-nav{gap:20px;font-size:17px}.story-paper{padding:42px 55px 90px}.product-card p{font-size:20px}.product-card .product-copy{padding:18px}.origin-copy{padding:30px 38px;font-size:21px}.origin-list{gap:60px}.news-row{grid-template-columns:minmax(0,1fr) 220px;gap:25px}.news-row:nth-child(even){grid-template-columns:220px minmax(0,1fr)}.news-date{flex-basis:90px}.news-date>span{font-size:22px}.news-date strong{width:64px;height:64px;font-size:30px}.news-copy{padding:20px}.news-copy h3,.news-copy p{font-size:20px}.philosophy-card{padding:20px}.philosophy-card h3{font-size:110px}.philosophy-card>p:last-child,.philosophy-card h4,.philosophy-card .english{font-size:20px}.site-footer{font-size:16px}.footer-brand{width:300px}}
@media(max-width:1100px) and (min-width:768px){.site-header{padding-inline:3%;height:80px}.brand{width:210px}.main-nav{font-size:15px;gap:15px}.product-grid{aspect-ratio:1440/760}.product-card p{font-size:18px}.origin-copy{padding:24px;font-size:18px}.philosophy-viewport{--tea-gap:20px}.philosophy-card{padding:20px 14px}.philosophy-card h3{font-size:85px}.philosophy-card>p:last-child,.philosophy-card h4,.philosophy-card .english{font-size:18px}}
@media(max-width:767px){
 html{scroll-padding-top:15px}body{font-size:14px;line-height:1.75;background-size:100% auto;overflow-x:clip}.content-width{width:94%}.site-header{height:64px;padding:0 4%;gap:12px}.brand{width:190px;max-width:70%}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:transparent;border:0;padding:10px}.menu-toggle span{width:21px;height:1px;background:var(--green);transition:.25s}.menu-toggle span:nth-child(2){width:15px}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.main-nav{position:absolute;left:0;right:0;top:100%;background:#fffaf4fa;display:flex;flex-direction:column;gap:0;box-shadow:0 12px 16px #342d1714;padding:15px 0;visibility:hidden;opacity:0;transform:translateY(-8px);transition:.25s}.main-nav.is-open{visibility:visible;opacity:1;transform:none}.main-nav a{font-size:16px;padding:11px 20px;width:100%;text-align:center}.hero-arrow{width:30px;height:30px;background:#fffce0c9}.hero-arrow svg{width:20px;height:20px;stroke-width:3}.hero-dots{bottom:10px;gap:12px}.carousel-dots button{width:7px;height:7px}.carousel-pause{right:8px;bottom:5px;width:24px;height:24px;font-size:12px}.section{padding-top:34px}.section-heading{margin-bottom:24px}.section-heading h1,.section-heading h2{font-size:18px;letter-spacing:2px}.section-heading>p{font-size:14px}.story-wrap{padding-bottom:50px}.story-paper{padding:24px 24px 50px;border-radius:24px}.story-paper p{margin-bottom:16px;text-align:justify}.story-branch{width:106%;left:-3%;bottom:4px}.products-section{padding-top:8px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;aspect-ratio:auto;gap:14px}.product-card{border-radius:23px;cursor:default;display:flex;flex-direction:column;align-items:center;padding:18px 14px 16px;grid-area:auto!important}.product-card picture{width:85%;height:auto;aspect-ratio:1;flex-shrink:0;margin-bottom:14px}.product-card picture img{border-radius:50%;height:100%;width:100%;object-fit:cover}.product-card .product-copy{position:static;transform:none!important;background:none;color:var(--ink);padding:0;flex:1;display:flex;flex-direction:column;width:100%}.product-card h3,.product-card.is-active h3{display:block;font:14px/1.6 var(--heading);text-align:center;margin-bottom:10px}.product-card p{font-size:14px;line-height:1.7;text-align:justify;margin-bottom:15px}.product-more{align-self:flex-end;margin-top:auto;border-radius:20px;padding:2px 13px;background:#4c3d20;color:#fffaf1;font-size:12px}.product-more span{display:inline}.product-more::after{display:none}.origin-list{gap:24px}.origin-row{align-items:stretch}.origin-copy{font-size:14px;padding:19px 16px;line-height:1.75;border-radius:24px 0 0 24px;align-self:center;text-align:justify}.origin-row img{height:100%;min-height:185px;aspect-ratio:auto;align-self:stretch;object-position:center}.origin-row:nth-child(even) .origin-copy{border-radius:0 24px 24px 0}.news-section{padding-top:36px}.mobile-news-carousel{display:block;position:relative;width:68%;max-width:430px;margin:0 auto 24px;aspect-ratio:586/396;overflow:hidden;border-radius:20px;background:var(--paper)}.news-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s,visibility .55s;border:0;padding:0;background:none}.news-slide.is-active{opacity:1;visibility:visible}.news-slide img{height:100%;width:100%;object-fit:cover}.news-dots{bottom:12px;gap:13px}.news-dots button{background:#fffaf1;border-color:var(--green);width:8px;height:8px}.news-timeline{width:94%;gap:22px;padding:4px 0 12px}.news-timeline::before{width:2px;opacity:.45}.news-row,.news-row:nth-child(even){display:block}.news-entry,.news-row:nth-child(even) .news-entry{gap:9px}.news-date{flex-basis:48px}.news-date>span{font-size:12px}.news-date strong{width:39px;height:39px;margin-top:4px;font-size:20px}.news-copy{border-radius:22px;padding:15px 18px}.news-copy h3{font-size:14px;line-height:1.6}.news-copy p{font-size:14px;line-height:1.65;-webkit-line-clamp:2}.news-image{display:none}.philosophy-section{padding-top:32px}.philosophy-viewport{--tea-gap:10px}.philosophy-card{border-radius:18px;padding:18px 9px 20px}.philosophy-card h3{font-size:52px;line-height:1.25}.philosophy-card .english{font-size:11px;line-height:1.8;letter-spacing:-.3px;margin-block:7px}.philosophy-card h4{font-size:14px;margin-bottom:6px}.philosophy-card>p:last-child{font-size:14px;line-height:1.7}.contact-section{padding-block:35px 38px}.contact-section>h2{font-size:18px;margin-bottom:22px}.contact-codes{width:80%;gap:10%}.contact-codes figure{width:45%}.qr-button{border-radius:15px}.contact-codes figcaption{font-size:14px;margin-top:8px}.site-footer{padding:18px 4%;gap:15px;justify-content:space-between;font-size:9px;line-height:1.7}.footer-brand{width:125px;max-width:32%}.site-footer>div{flex:1}.back-top{right:12px;bottom:14px;width:36px;height:36px;line-height:34px;font-size:22px}.detail-dialog{padding:45px 24px 25px;border-radius:20px}.dialog-content h2{font-size:20px;margin-bottom:16px}.dialog-content p{font-size:14px}.dialog-link{font-size:14px}.dialog-note{font-size:12px}.js .reveal.from-left{transform:translateX(-25px)}.js .reveal.from-right{transform:translateX(25px)}.js .reveal.from-bottom{transform:translateY(40px)}
}
@media(max-width:370px){.product-grid{gap:10px}.product-card{padding:15px 11px}.philosophy-viewport{--tea-gap:7px}.philosophy-card{padding:15px 6px}.philosophy-card h3{font-size:44px}.philosophy-card .english{font-size:10px}.origin-copy{padding:15px 12px}.story-paper{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
/* 保持带有原始尺寸属性的素材比例，避免浏览器保留原始像素高度。 */
.story-branch{height:auto}.origin-row img{height:auto}.news-image img{height:auto}body{overflow-x:clip}
@media(max-width:767px){.origin-row img{height:100%}}
@media(min-width:1101px){.story-paper{font-size:clamp(18px,1.25vw,24px);padding:clamp(42px,3vw,58px) clamp(55px,5.2vw,100px) clamp(90px,6.25vw,120px)}.origin-copy{font-size:clamp(18px,1.25vw,24px);padding:clamp(30px,2.5vw,48px) clamp(38px,4.16vw,80px)}}
.product-more:focus-visible::after{outline:3px solid var(--green);outline-offset:-6px;border-radius:28px}
/* 溯源图文共用一行高度，文字与图片上下边缘保持对齐。 */
.origin-row{position:relative;align-items:stretch;min-height:clamp(185px,28.125vw,540px)}
.origin-copy{align-self:stretch;display:flex;align-items:center}
.origin-row>img{position:absolute;inset:0 0 0 auto;width:50%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.origin-row:nth-child(even)>img{left:0;right:auto}
/* Match the latest brief: a fixed, single-layer backdrop and repeatable section reveals. */
body::before{display:none}
/* 电脑端使用横版背景的1920像素宽导出图，手机端沿用竖版背景。 */
@media(min-width:768px){body{background-image:url("../img/background-pc.webp")}}
.js .reveal{transition-delay:var(--reveal-delay,0ms)}
.origin-carousel{position:relative;width:75%;max-width:1440px;margin:0 auto;overflow:hidden;border-radius:30px}
/* 图文整组交叉淡化，所有页叠在同一网格中以保持高度稳定。 */
.origin-carousel>.origin-list{position:relative;display:grid;width:100%;max-width:none;min-height:clamp(330px,30vw,540px);margin:0;gap:0}
.origin-carousel .origin-row{position:relative;grid-area:1 / 1;z-index:0;display:grid;width:100%;min-width:0;min-height:clamp(330px,30vw,540px);align-self:stretch;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease-in-out,visibility 0s linear .65s;transform:none}
.origin-carousel .origin-row.is-active{z-index:1;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.origin-carousel .origin-row>.origin-copy,.origin-carousel .origin-row>img{opacity:1;transform:none;animation:none;transition:none}
.origin-carousel .origin-copy{min-height:inherit;padding:clamp(28px,3vw,58px) clamp(24px,4vw,78px);border-radius:30px 0 0 30px;background:var(--paper)}
.origin-carousel .origin-row:nth-child(even)>img{left:auto;right:0}
.origin-carousel .origin-row:nth-child(even) .origin-copy{grid-column:1;grid-row:1;border-radius:30px 0 0 30px}
.origin-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:8px;transform:translateY(-50%);border:0;border-radius:50%;background:#fffaf1e8;color:var(--green);transition:scale .2s,background .2s}
.origin-arrow:hover{scale:1.07;background:#fff}
.origin-arrow svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.origin-previous{left:12px}.origin-next{right:12px}
.origin-dots{bottom:14px;gap:13px}
.origin-dots button{background:#fffaf1;border-color:var(--green)}
.origin-carousel .origin-arrow{z-index:3}
.origin-carousel .origin-arrow:focus-visible{outline-offset:2px}
.origin-carousel[data-image-side="right"] .origin-previous{left:calc(50% + 8px)}
.origin-carousel[data-image-side="right"] .origin-next{left:auto;right:12px}
.origin-carousel[data-image-side="left"] .origin-previous{left:12px}
.origin-carousel[data-image-side="left"] .origin-next{left:calc(50% - 60px);right:auto}
.craft-section{padding-top:clamp(65px,7vw,130px)}
.craft-list{display:grid;gap:24px}
.craft-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);align-items:stretch;min-height:320px;border:1px solid #826b443b;border-radius:24px;overflow:hidden;background:#fff9ec82}
.craft-row:nth-child(even){grid-template-columns:minmax(0,1.18fr) minmax(0,1fr)}
.craft-row:nth-child(even)>img{grid-column:2;grid-row:1}
.craft-row:nth-child(even) .craft-copy{grid-column:1;grid-row:1}
.craft-row>img{width:100%;height:100%;min-height:320px;object-fit:cover}
.craft-copy{position:relative;align-self:stretch;padding:clamp(24px,3.2vw,58px);background:var(--paper)}
.craft-copy::before{content:"";position:absolute;top:28px;left:0;width:6px;height:42px;background:#d4ae3a}
.craft-copy h3{font-size:28px;line-height:1.5;margin-bottom:14px}
.craft-label{display:block;margin-bottom:8px;color:var(--green);font:16px/1.5 var(--heading)}
.craft-copy p{font-size:24px;line-height:1.8;text-align:justify}
.craft-copy p+p{margin-top:15px}
.contact-codes figure{opacity:0;transform:translateY(32px);transition:opacity .8s,transform .8s;transition-delay:var(--reveal-delay,0ms)}
.contact-codes.is-visible figure{opacity:1;transform:none}
.contact-codes figure:nth-child(2){--reveal-delay:120ms}

/* 装饰下方预留独立空间，茶枝不覆盖品牌故事正文。 */
.story-wrap {
  container-type: inline-size;
  --branch-size: min(55cqw, 680px);
  --branch-overhang: 32px;
  padding-bottom: var(--branch-overhang);
}
.story-paper {
  padding-bottom: calc(var(--branch-size) * 532 / 1491 - var(--branch-overhang) + 16px);
}
.story-branch { width: var(--branch-size); left: auto; right: 0; bottom: 0; }

/* 明确时间轴和卡片层级，手机端切换为块布局后也保持遮挡关系。 */
.news-timeline { isolation: isolate; }
.news-timeline::before { z-index: 0; pointer-events: none; }
.news-entry, .news-image { position: relative; z-index: 1; }
.news-dots button { background: var(--green); opacity: .45; }
.news-dots button[aria-pressed="true"] { opacity: 1; }
.philosophy-viewport { touch-action: pan-y; }

@media (min-width: 768px) {
  .story-paper, .origin-copy, .product-card p,
  .news-copy h3, .news-copy p, .philosophy-card h4,
  .philosophy-card .english, .philosophy-card > p:last-child {
    font-size: 24px;
  }
  .product-grid { aspect-ratio: auto; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: 1fr 1fr; min-height:620px; }
  .product-card { min-height:0; }
  .product-select { position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;z-index:3; }
  .product-select:focus-visible { outline-offset:-6px;border-radius:28px; }
  .product-card .product-more { display:none; }
  .product-card.is-active {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 620px;
    padding-top: 230px;
  }
  .product-card.is-active picture { position: absolute; inset: 0; z-index: -1; }
  .product-card.is-active .product-copy { position:relative;transform:translateY(100%);pointer-events:none; }
  .product-card.is-active:hover .product-copy,
  .product-card.is-active:has(.product-select:focus-visible) .product-copy { transform:translateY(0); }
  .product-card:not(.is-active) .product-copy {
    inset: 0;
    padding: 0;
    transform: none;
    background: transparent;
  }
  .product-card:not(.is-active) .product-copy h3,
  .product-card:not(.is-active) .product-copy p { display: none; }
  .product-card:not(.is-active) .product-more {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}

@media (max-width: 767px) { .product-select { display:none; } }

@media (min-width: 768px) and (max-width: 1100px) {
  .content-width { width: 90%; }
  .origin-carousel{width:90%}
  .philosophy-card { flex-basis: calc((100% - var(--tea-gap)) / 2); padding: 24px 28px; }
  .craft-row,.craft-row:nth-child(even){grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:300px}
  .craft-row>img{min-height:300px}
  .craft-copy{padding:24px}
  .craft-copy p{font-size:20px}
}

@media (max-width: 767px) {
  .content-width { width:calc(100% - 32px); }
  .section { padding-top:36px; }
  .section-heading { position:relative;margin-bottom:24px; }
  .section-heading h1,.section-heading h2 { font-size:20px;line-height:1.5; }
  .section-heading>p { line-height:1.6;margin-top:4px; }
  /* 手机端仅淡入，避免位移动画将内容推到标题和屏幕边缘上。 */
  .js .reveal,.js .reveal.from-left,.js .reveal.from-right,
  .js .reveal.from-bottom,.js .reveal.is-visible {
    transform:none;animation:none;
  }
  .story-wrap { --branch-size:min(78cqw, 440px);--branch-overhang:20px; }
  .story-paper { padding:24px 22px calc(var(--branch-size) * 532 / 1491 - var(--branch-overhang) + 16px);height:auto;max-height:none;overflow:visible; }
  .story-paper p { display:block;overflow:visible;-webkit-line-clamp:unset; }
  .products-section { padding-top:8px; }
  .product-grid { gap:14px; }
  .product-card { padding:16px 12px; }
  .product-card h3,.product-card.is-active h3 { min-height:2.8em;line-height:1.4;overflow-wrap:anywhere; }
  .product-card p { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-align:left;min-height:5.1em;margin-bottom:12px; }
  .product-more { min-height:36px;padding:6px 12px; }
  .origin-carousel{width:calc(100% - 32px);border-radius:20px;background:var(--paper);--origin-image-height:calc((100vw - 32px) * .75)}
  .origin-carousel>.origin-list,.origin-carousel .origin-row{min-height:0}
  .origin-carousel .origin-row{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;transform:none}
  .origin-carousel .origin-copy,.origin-carousel .origin-row:nth-child(even) .origin-copy{grid-column:1;grid-row:2;min-height:0;padding:20px 22px 8px;border-radius:0;display:block;text-indent:0}
  .origin-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;min-height:8.75em;text-align:left;line-height:1.75}
  .origin-carousel .origin-row>img,.origin-carousel .origin-row:nth-child(even)>img{position:static;grid-column:1;grid-row:1;width:100%;height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover}
  .origin-arrow{top:calc(var(--origin-image-height) / 2);width:44px;height:44px;padding:10px;background:#fffaf1e8}
  .origin-arrow svg{width:19px;height:19px}
  .origin-carousel[data-image-side] .origin-previous{left:10px;right:auto}
  .origin-carousel[data-image-side] .origin-next{left:auto;right:10px}
  .origin-dots{position:relative;inset:auto;transform:none;gap:18px;padding:16px 0 20px}
  .origin-dots button{width:8px;height:8px}
  .craft-list{gap:20px}
  .craft-row,.craft-row:nth-child(even){display:flex;flex-direction:column;min-height:0;border-radius:20px}
  .craft-row>img{width:100%;min-height:0;height:auto;aspect-ratio:4/3;object-fit:cover}
  .craft-copy,.craft-row:nth-child(even) .craft-copy{padding:20px 22px;align-self:stretch}
  .craft-copy::before{top:20px;width:4px;height:28px}
  .craft-copy h3{font-size:20px;margin-bottom:10px}
  .craft-label{font-size:13px;line-height:1.6;margin-bottom:6px;overflow-wrap:anywhere}
  .craft-copy p{font-size:14px;line-height:1.75;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
  .craft-copy p+p{display:none}
  .mobile-news-carousel { width:calc(100% - 32px);max-width:none;margin-bottom:24px; }
  .news-timeline { gap:20px; }
  .news-timeline::before { display:none; }
  .news-entry,.news-row:nth-child(even) .news-entry { flex-direction:column;align-items:stretch;gap:10px; }
  .news-date { display:flex;align-items:center;gap:10px;flex-basis:auto;text-align:left; }
  .news-date>span { font-size:14px; }
  .news-date strong { order:-1;margin:0;width:34px;height:34px;font-size:18px; }
  .news-copy,.news-row:nth-child(even) .news-copy { width:100%;padding:18px;text-align:left;border-radius:20px; }
  .news-copy h3 { font-size:16px;line-height:1.5;margin-bottom:8px;overflow-wrap:anywhere; }
  .news-copy p { -webkit-line-clamp:2; }
  .philosophy-viewport { --tea-gap:16px; }
  .philosophy-card { flex-basis:100%;padding:24px 28px; }
  .philosophy-card h3 { font-size:64px; }
  .philosophy-card .english { font-size:16px;letter-spacing:0; }
  .philosophy-card h4 { font-size:16px; }
  .philosophy-card>p:last-child { font-size:14px;line-height:1.75;text-align:left; }
  .contact-section { padding-bottom:36px; }
  .contact-section>h2 { line-height:1.5;margin-bottom:24px; }
  .contact-codes { width:calc(100% - 32px);gap:20px; }
  .contact-codes figure { flex:1;min-width:0;width:auto; }
  .site-footer { flex-direction:column;gap:14px;padding:24px 20px;font-size:11px; }
  .footer-brand { width:180px;max-width:70%; }
  .site-footer>div { width:100%;overflow-wrap:anywhere; }
  /* 返回顶部放在页尾，避免浮在手机正文和二维码上。 */
  .back-top,.back-top.is-visible { position:static;display:block;margin:12px 16px 16px auto;transform:none; }
}
/* Use the supplied date badge art behind the live date text. */
.news-date strong{background:var(--green) url("../img/new-date.webp") center/100% 100% no-repeat}
@media(prefers-reduced-motion:reduce){.origin-carousel .origin-row{transition:none}}
