
:root{--paper:#F9FAF2;--ink:#2E3527;--gold:#D9A93A;--lemon:#E8D25C;--yg:#B4C15A;--olive:#7D8B3D;--earth:#8C6642;--muted:#6B6A5E;}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:"Noto Serif TC","Noto Serif CJK TC","Songti TC","PMingLiU",serif;line-height:1.8}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
/* nav */
nav{position:sticky;top:0;z-index:10;background:rgba(249,250,242,.92);backdrop-filter:blur(6px);border-bottom:1px solid rgba(46,53,39,.08)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:.2em;font-weight:700}
.logo i{width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 40% 40%,var(--lemon),var(--gold) 70%);display:inline-block;opacity:.85}
.menu{display:flex;gap:20px;font-size:14.5px;letter-spacing:.06em}
.menu a:hover{color:var(--olive)}
.right{display:flex;gap:14px;align-items:center;font-size:13px}
.shop{border:1px solid var(--ink);padding:6px 16px;border-radius:20px}
/* hero */
.hero{position:relative;height:min(56vw,860px);min-height:560px;overflow:hidden}
.hero img.art{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:max(100%,1000px);height:auto;display:block;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%);mask-image:linear-gradient(to bottom,transparent,#000 14%)}
.hero:before{content:"";position:absolute;inset:0 0 auto 0;height:120px;z-index:1;background:linear-gradient(to top,rgba(249,250,242,0),var(--paper))}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(to bottom,rgba(249,250,242,0),var(--paper))}
.hero .copy{position:relative;z-index:2;display:flex;gap:42px;padding-top:56px;justify-content:flex-end;padding-right:7vw}
.vtitle{writing-mode:vertical-rl;font-size:clamp(56px,6.4vw,96px);font-weight:700;letter-spacing:.14em;line-height:1.35;color:var(--ink)}
.vsub{writing-mode:vertical-rl;font-size:17px;letter-spacing:.35em;color:var(--muted);padding-top:22px}
.since{position:absolute;left:6vw;top:80px;z-index:2;font-size:14px;letter-spacing:.3em;color:var(--muted)}
.since b{display:block;font-size:46px;color:var(--earth);letter-spacing:.05em;font-weight:400}
@media(max-width:700px){.logo{white-space:nowrap;font-size:19px;letter-spacing:.12em}.right a:not(.shop){display:none}.shop{white-space:nowrap}.vsub{display:none}.h2{flex-wrap:wrap;gap:4px 14px}.h2 h2{font-size:26px;letter-spacing:.12em}.note{display:none}.hero{height:auto;min-height:0;padding-bottom:70vw}.hero img.art{width:160%;left:58%}.hero .copy{padding-top:40px;padding-right:8vw}.since{top:44px}}
/* sections */
section{padding:110px 0}
.h2{display:flex;align-items:baseline;gap:18px;margin-bottom:46px}
.h2 h2{font-size:32px;letter-spacing:.2em}
.h2 small{font-family:Georgia,serif;font-style:italic;color:var(--olive);letter-spacing:.1em}
.lead{max-width:640px;color:var(--muted);margin:-24px 0 46px}
/* pillars：五瓣花 */
.flower{position:relative;width:min(640px,100%);aspect-ratio:1;margin:0 auto;container-type:inline-size}
.flower svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.petal-text{position:absolute;width:28%;transform:translate(-50%,-50%);text-align:center}
.petal-text h3{font-size:clamp(15px,3.4cqi,22px);letter-spacing:.18em;margin-bottom:4px;line-height:1.5}
.petal-text p{font-size:clamp(11px,2.2cqi,14px);color:var(--muted);line-height:1.6}
.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24%;aspect-ratio:1;border-radius:50%;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(140,102,66,.25)}
.core svg.grain{position:static;width:46%;height:auto;margin-bottom:4%}
.flower .pg{transform-box:view-box;transform-origin:300px 300px;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity 1.1s ease}
.flower .petal-text{transition:opacity .7s ease .6s}
.flower img.sheaf{position:absolute;left:50%;top:50%;width:28%;height:auto;transform:translate(-50%,-53%);transition:opacity .9s ease .3s,transform .9s ease .3s}
.flower.closed img.sheaf{opacity:0;transform:translate(-50%,-45%)}
.flower.closed .pg{transform:scale(.2);opacity:0}
.flower.closed .petal-text{opacity:0}
.flower.closed .core{opacity:.0}
@media (prefers-reduced-motion:reduce){.flower .pg,.flower .petal-text,.flower .core{transition:none}}
.core small{font-size:clamp(10px,1.9cqi,12px);color:var(--earth);letter-spacing:.3em;padding-left:.3em}
/* series */
.series{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.card{background:#FBF8F0;border-radius:4px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.card .pic{height:220px;position:relative;overflow:hidden}
.card .pic span{position:absolute;left:18px;bottom:12px;font-size:12px;color:var(--muted);letter-spacing:.15em;background:rgba(251,248,240,.8);padding:2px 8px}
.card .body{padding:24px 26px 28px}
.card h3{font-size:22px;letter-spacing:.15em}
.card .tag{font-size:13px;color:var(--olive);margin-bottom:10px;letter-spacing:.1em}
.card p{font-size:14px;color:var(--muted);margin-bottom:18px}
.card .go{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:2px}
/* b2b */
.b2b{background:#EFE7D3;position:relative;overflow:hidden}
.b2b-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(46,53,39,.2)}
.b2b-item{padding:30px 24px;border-right:1px solid rgba(46,53,39,.15)}
.b2b-item:last-child{border-right:none}
.b2b-item h3{font-size:19px;letter-spacing:.15em;margin-bottom:8px}
.b2b-item p{font-size:14px;color:var(--muted)}
.cta{margin-top:46px;display:inline-block;background:var(--ink);color:var(--paper);padding:14px 38px;letter-spacing:.2em;border-radius:2px}
/* story */
.story{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:center}
.story blockquote{font-size:26px;line-height:1.9;letter-spacing:.12em}
.timeline{list-style:none;border-left:1px solid var(--gold);padding-left:28px}
.timeline li{position:relative;margin-bottom:22px}
.timeline li:before{content:"";position:absolute;left:-34px;top:9px;width:11px;height:11px;border-radius:50%;background:var(--gold);opacity:.8}
.timeline b{font-family:Georgia,serif;color:var(--earth);margin-right:14px;font-size:18px}
/* news */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.news div{border-top:1px solid rgba(46,53,39,.25);padding-top:16px}
.news time{font-family:Georgia,serif;font-size:13px;color:var(--olive)}
.news h4{font-size:17px;font-weight:400;margin-top:6px}
footer{background:var(--ink);color:#E9E2CF;padding:60px 0 40px;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}
footer .big{font-size:20px;letter-spacing:.25em;margin-bottom:10px}
.note{position:fixed;right:16px;bottom:16px;background:#fff8;border:1px dashed var(--muted);padding:6px 12px;font-size:12px;color:var(--muted);z-index:20}
@media(max-width:900px){.menu{display:none}.series,.news,.story{grid-template-columns:1fr}.b2b-grid{grid-template-columns:1fr 1fr}.vtitle{font-size:60px}.since{top:40px}}

/* ===== 原型 v1：多頁共用 ===== */
.page[hidden]{display:none}
[id]{scroll-margin-top:90px}
.menu a{cursor:pointer;padding:4px 0;border-bottom:1px solid transparent}
.menu a.on{border-bottom-color:var(--gold);color:var(--ink)}
.m-only{display:none}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;color:var(--ink)}
.burger span,.burger span:before,.burger span:after{display:block;width:22px;height:1.5px;background:currentColor;position:relative;margin:auto;content:""}
.burger span:before{position:absolute;top:-7px}.burger span:after{position:absolute;top:7px}
.pic{position:relative;overflow:hidden}
.pic>span{position:absolute;left:14px;bottom:10px;font-size:12px;color:var(--muted);letter-spacing:.12em;background:rgba(251,248,240,.82);padding:2px 8px;z-index:1}
.phead{position:relative;padding:70px 0 90px;overflow:hidden}
.phead .band{position:absolute;inset:auto 0 0 0;height:150px;opacity:.9}
.phead .wrap{position:relative;z-index:1}
.crumb{font-size:13px;color:var(--muted);letter-spacing:.12em;margin-bottom:18px}
.crumb a:hover{color:var(--olive)}
.phead h1{font-size:clamp(34px,4.6vw,54px);letter-spacing:.22em;line-height:1.3}
.phead h1.latin,.h3.latin{letter-spacing:.04em;font-family:Georgia,"Noto Serif TC",serif}
.phead .en{font-family:Georgia,serif;font-style:italic;color:var(--olive);margin-top:6px}
.subnav,.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.subnav a,.chips button{font:inherit;font-size:14px;letter-spacing:.1em;padding:6px 16px;border:1px solid rgba(46,53,39,.3);border-radius:20px;background:rgba(249,250,242,.75);cursor:pointer;color:var(--ink)}
.subnav a:hover,.chips button:hover{border-color:var(--olive)}
.chips button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
section.tint{background:#F1EEDF}
.narrow{max-width:760px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.prose{font-size:16.5px;line-height:2;color:#3E4437;max-width:38em;margin-bottom:18px}
.prose.center{text-align:center;margin:40px auto 0}
.big-quote{font-size:clamp(22px,2.6vw,30px);letter-spacing:.16em;margin-bottom:22px;color:var(--earth)}
.big-quote.sm{font-size:20px;letter-spacing:.12em}
.h3{font-size:19px;letter-spacing:.18em;margin:6px 0 8px;color:var(--earth)}
.gens{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:40px}
.gen .pic{border-radius:4px;margin-bottom:20px}
.gen-no{font-size:13px;color:var(--olive);letter-spacing:.2em}
.gen h3{font-size:20px;letter-spacing:.12em;margin:4px 0 10px}
.gen p:last-child{font-size:15px;color:#4A4F43;line-height:1.95}
.mind-top{display:grid;grid-template-columns:auto 1fr;gap:80px;align-items:start;margin-bottom:60px}
.vquote{writing-mode:vertical-rl;font-size:30px;letter-spacing:.3em;line-height:2.1;color:var(--ink);padding:6px 0}
.values{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.vgroup{background:var(--paper);padding:30px 34px;border-radius:4px}
.vgroup h4{font-size:24px;letter-spacing:.3em;margin-bottom:14px;display:flex;align-items:baseline;gap:14px}
.vgroup h4 small{font-size:13px;letter-spacing:.15em;color:var(--muted)}
.vgroup dl{display:grid;grid-template-columns:auto 1fr;gap:12px 20px}
.vgroup dt{font-weight:700;letter-spacing:.2em;color:var(--earth)}
.vgroup dd{color:#4A4F43;font-size:15px}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.badge{padding:26px 26px 22px;border-top:2px solid var(--gold);background:#FBF9F1}
.badge b{font-family:Georgia,serif;font-weight:400;font-size:24px;color:var(--earth);display:block;margin-bottom:6px}
.badge h4{font-size:16px;letter-spacing:.06em;line-height:1.6}
.badge p{font-size:13.5px;color:var(--muted);margin-top:4px}
.todo{display:inline-block;font-size:12px;letter-spacing:.1em;color:#9A5B2E;border:1px dashed #C08A5A;padding:0 8px;border-radius:3px;margin-right:8px;vertical-align:middle}
.todo-line{font-size:13px;color:var(--muted);margin-top:22px}
.note-line{margin-top:30px;color:#4A4F43}
.link{border-bottom:1px solid var(--olive);color:var(--olive);cursor:pointer}
.ticks{list-style:none;margin:10px 0 26px}
.ticks li{position:relative;padding-left:26px;margin-bottom:10px;color:#3E4437}
.ticks li:before{content:"";position:absolute;left:2px;top:.75em;width:10px;height:10px;border-radius:50%;background:var(--yg);opacity:.8}
.seasons{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.seasons .pic{border-radius:4px;margin-bottom:16px}
.seasons h4{font-size:19px;letter-spacing:.2em;margin-bottom:6px}
.seasons p{font-size:15px;color:#4A4F43}
.btn-line{display:inline-block;border:1px solid var(--ink);padding:10px 26px;letter-spacing:.15em;border-radius:2px;cursor:pointer;margin-top:8px}
.flow{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:f}
.flow li{counter-increment:f;padding:22px 20px;background:#FBF9F1;border-radius:4px;position:relative}
.flow li:before{content:counter(f);font-family:Georgia,serif;font-size:28px;color:var(--gold);display:block;line-height:1;margin-bottom:10px}
.flow b{display:block;font-size:17px;letter-spacing:.12em}
.flow span{font-size:13.5px;color:var(--muted)}
.equip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.equip h4{font-size:17px;letter-spacing:.1em;margin:14px 0 4px}
.equip p{font-size:14px;color:#4A4F43}
.photo{height:170px;border:1px dashed rgba(46,53,39,.35);border-radius:4px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:13px;color:var(--muted);background:repeating-linear-gradient(45deg,rgba(140,102,66,.04) 0 10px,transparent 10px 20px)}
#reports .reports{grid-template-columns:repeat(3,1fr);gap:22px}@media(max-width:900px){#reports .reports{grid-template-columns:1fr 1fr}}@media(max-width:560px){#reports .reports{grid-template-columns:1fr}}
.sgrid.sgrid3{grid-template-columns:repeat(3,1fr)}.sgrid.sgrid2{grid-template-columns:repeat(2,1fr)}@media(max-width:900px){.sgrid.sgrid3{grid-template-columns:1fr 1fr}}@media(max-width:560px){.sgrid.sgrid2,.sgrid.sgrid3{grid-template-columns:1fr}}.scard.next{border-top-color:var(--gold)}
.sub-h{margin:44px 0 18px;font-size:21px;letter-spacing:.14em;font-weight:600;display:flex;align-items:baseline;gap:14px}.sub-h small{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:13px;letter-spacing:.06em;color:var(--olive)}
.case{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}.case-tag{display:inline-block;font-size:13px;letter-spacing:.14em;color:var(--olive);border:1px solid var(--yg);border-radius:20px;padding:2px 14px;margin-bottom:14px}.case-intro h3{font-size:24px;letter-spacing:.1em;margin-bottom:16px}.case-intro p{font-size:15.5px;line-height:1.95;color:#4A4F43;margin-bottom:12px}.case-steps{list-style:none;padding:0;margin:0;counter-reset:cs}.case-steps li{counter-increment:cs;position:relative;padding:16px 0 16px 58px;border-bottom:1px dashed rgba(46,53,39,.18)}.case-steps li:last-child{border-bottom:0}.case-steps li:before{content:counter(cs);position:absolute;left:0;top:16px;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:17px}.case-steps b{display:block;font-size:16.5px;letter-spacing:.08em;margin-bottom:4px}.case-steps span{font-size:14.5px;line-height:1.8;color:#4A4F43}@media(max-width:860px){.case{grid-template-columns:1fr;gap:24px}}
.story-video{margin-top:36px;max-width:860px}.sv-frame{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#2E3527;box-shadow:0 10px 30px rgba(46,53,39,.12)}.sv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.sv-link{display:inline-block;margin-top:10px;font-size:14px;color:var(--earth);letter-spacing:.06em}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.scard{background:#fff;border-radius:6px;padding:22px 24px;border-top:3px solid var(--yg)}.scard.wide{grid-column:span 2}.scard b{display:block;font-size:17px;letter-spacing:.08em;margin-bottom:8px}.scard p{font-size:14.5px;line-height:1.85;color:#4A4F43}.stl{list-style:none;padding:0;margin:0;border-left:2px solid var(--yg);max-width:760px}.stl li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:12px 0 12px 22px;position:relative;font-size:15.5px;line-height:1.8}.stl li:before{content:"";position:absolute;left:-7px;top:21px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--olive)}.stl b{color:var(--olive);font-family:Georgia,serif;font-weight:400}@media(max-width:900px){.sgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.sgrid,.sgrid2{grid-template-columns:1fr}.scard.wide{grid-column:auto}.stl li{grid-template-columns:1fr;gap:2px}}
.src-note{margin:28px 0 0;font-size:13px;line-height:1.8;color:#5A6150}.src-note a{color:var(--earth)}
.privacy-note{margin:10px 0 0;font-size:13px;line-height:1.7;color:#5A6150}
.media-vids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.media-vids figure{margin:0}.media-vids figcaption{margin-top:10px;font-size:15px;line-height:1.7}.media-vids .sv-link{display:block}.media-vids figcaption b{display:block;font-size:16.5px;font-weight:600}@media(max-width:760px){.media-vids{grid-template-columns:1fr}}
.media-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}.media-list a{display:block;background:#fff;border-radius:6px;padding:18px 22px;text-decoration:none;color:var(--ink);border-left:0;box-shadow:0 1px 0 rgba(46,53,39,.08);transition:transform .2s}.media-list a:hover{transform:translateY(-2px);color:var(--ink)}.m-src{display:block;font-size:13px;letter-spacing:.1em;color:var(--olive);margin-bottom:6px}.media-list b{font-size:16.5px;line-height:1.6;font-weight:600}@media(max-width:760px){.media-list{grid-template-columns:1fr}}
.refs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.ref{background:#fff;border-radius:6px;padding:22px 20px;border-top:3px solid var(--gold)}.ref b{display:block;font-size:18px;letter-spacing:.1em;margin-bottom:10px;color:var(--ink)}.ref p{font-size:15px;line-height:1.85;color:#4A4F43}@media(max-width:1100px){.refs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.refs{grid-template-columns:1fr 1fr}}@media(max-width:560px){.refs{grid-template-columns:1fr}}
.reports{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.report{display:block;background:var(--paper);padding:20px;border-radius:4px;cursor:pointer;border:1px solid rgba(46,53,39,.1)}
.report b{display:block;font-family:Georgia,serif;font-weight:400;color:var(--olive)}
.report span{display:block;width:fit-content;margin-top:10px;font-size:12px;letter-spacing:.15em;border:1px solid var(--earth);color:var(--earth);padding:0 8px}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px}
.vcard{background:#FBF9F1;border-radius:4px;padding:26px 24px 24px;text-align:center}
.vcard[hidden]{display:none}
.mascot{position:relative;isolation:isolate;width:132px;height:132px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#4A4436;letter-spacing:.1em;line-height:1.6}
.mascot:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:radial-gradient(circle at 45% 40%,var(--c),color-mix(in srgb,var(--c) 60%,#C9A27A));filter:url(#wcround)}
.vcard h3{font-size:21px;letter-spacing:.14em}
.vtag{font-size:13px;color:var(--olive);letter-spacing:.1em;margin-bottom:10px}
.vcard p{font-size:14.5px;color:#4A4F43;text-align:left}
.vcard .vdesc,.vcard .vtag{text-align:center}.vgrid-bean{margin-top:26px}
.vmascot{display:block;height:150px;width:auto;margin:0 auto 14px}
.vspec{margin-top:12px;padding-top:10px;border-top:1px solid rgba(46,53,39,.12);display:grid;grid-template-columns:auto 1fr;gap:5px 10px;font-size:13px;text-align:left}.vspec dt{color:var(--olive);font-weight:600;white-space:nowrap}.vspec dd{margin:0;color:#4A4F43;line-height:1.55}
.vcard .use{margin-top:12px;padding-top:10px;border-top:1px solid rgba(46,53,39,.12);font-size:13px;color:var(--earth);text-align:center}
.facts-dl{display:grid;grid-template-columns:auto 1fr;gap:12px 22px;margin:8px 0 28px}
.facts-dl dt{color:var(--earth);letter-spacing:.2em;font-weight:700}
.facts-dl dd{color:#3E4437}
.items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.item{border-top:2px solid #C9A27A;padding:18px 4px}
.item h4{font-size:20px;letter-spacing:.18em}
.item p{color:#4A4F43}
.item span{font-size:13px;color:var(--muted)}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;background:var(--paper);min-width:560px}
.tbl th,.tbl td{text-align:left;padding:14px 18px;border-bottom:1px solid rgba(46,53,39,.12)}
.tbl th{font-size:13px;letter-spacing:.15em;color:var(--muted);font-weight:400}
.aroma{display:inline-block;width:46px;height:10px;margin-right:10px;border-radius:5px;background:rgba(217,169,58,.18);position:relative;vertical-align:middle}
.aroma:after{content:"";position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--gold)}
.a3:after{width:100%}.a2:after{width:66%}.a1:after{width:33%}.a0:after{width:0}
.routes{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.route{padding:30px 32px;background:#FBF9F1;border-radius:4px;border-left:3px solid var(--gold)}
.route h3{font-size:21px;letter-spacing:.15em;margin-bottom:10px}
.route p{color:#4A4F43;margin-bottom:12px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s}
.steps li{counter-increment:s;font-size:14px;color:var(--muted);padding-top:12px;border-top:1px solid var(--earth)}
.steps li:before{content:counter(s);font-family:Georgia,serif;font-size:26px;color:var(--earth);display:block}
.steps b{display:block;color:var(--ink);font-size:17px;letter-spacing:.12em;margin-bottom:4px}
.form{display:grid;gap:18px}
.form label{display:grid;gap:6px;font-size:14px;letter-spacing:.1em;color:var(--muted)}
.form input,.form select,.form textarea{font:inherit;font-size:15px;padding:11px 14px;border:1px solid rgba(46,53,39,.25);border-radius:3px;background:#FFFDF7;color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--yg);outline-offset:1px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form .cta{margin-top:6px;border:0;font:inherit;cursor:pointer;justify-self:start;letter-spacing:.2em}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:60px}
.stats div{border-top:1px solid var(--olive);padding-top:16px}
.stats b{font-family:Georgia,serif;font-weight:400;font-size:52px;color:var(--olive);display:block;line-height:1.1}
.stats span{color:#4A4F43;letter-spacing:.1em}
.progress .bar{height:12px;border-radius:6px;background:rgba(125,139,61,.15);overflow:hidden;margin:6px 0 12px}
.progress .bar i{display:block;height:100%;background:var(--yg)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.posts article[hidden]{display:none}
.posts .pic{border-radius:4px;margin-bottom:14px}
.posts .meta{font-size:13px;color:var(--olive);letter-spacing:.1em}
.posts h4{font-size:17px;font-weight:400;margin-top:4px}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--paper);padding:12px 22px;border-radius:3px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:40;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%)}
.cta,.go{cursor:pointer}
a:focus-visible,button:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
@media(max-width:900px){
 .burger{display:block}
 .menu{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);flex-direction:column;gap:0;padding:8px 32px 20px;border-bottom:1px solid rgba(46,53,39,.1);box-shadow:0 10px 20px rgba(46,53,39,.06)}
 body.menu-open .menu{display:flex}
 .menu .m-only{display:block}
 .menu a{padding:12px 0;border-bottom:1px solid rgba(46,53,39,.08)}
 .two,.gens,.seasons,.values,.mind-top,.routes{grid-template-columns:1fr;gap:34px}
 .flow,.equip,.reports{grid-template-columns:1fr 1fr}
 .badges,.posts,.items,.stats{grid-template-columns:1fr 1fr}
 .steps{grid-template-columns:1fr 1fr}
 .vquote{writing-mode:horizontal-tb;font-size:24px;letter-spacing:.2em;line-height:1.8}
}
@media(max-width:560px){.badges,.posts,.items,.stats,.row2,.flow,.equip,.reports,.steps{grid-template-columns:1fr}.wrap{padding:0 22px}.phead{padding:44px 0 80px}section{padding:76px 0}}

/* 頁尾：弧線田埂與稻穗 */
.field-edge{--ov:56px;position:relative;z-index:2;height:150px;margin-top:calc(var(--ov)*-1);pointer-events:none;overflow:hidden}
.field-edge .bleedg path{stroke-width:5.5}
.field-edge svg{position:absolute;left:0;bottom:-1px;width:100%;height:100%}
@media(max-width:700px){.field-edge{--ov:40px;height:110px}}

/* ===== v1.1 調整 ===== */
.logo{gap:0}
.logo .logo-svg{height:34px;width:auto;display:block;color:var(--ink)}
.foot-logo{margin-bottom:12px}.foot-logo .logo-svg{height:42px;width:auto;color:#E9E2CF;display:block}
section{padding:46px 0}
.h2{margin-bottom:24px}
.lead{margin:-12px 0 28px}
.phead{padding:40px 0 78px}.phead .band{height:100px}
/* 主視覺：一個畫面看完 */
.hero{height:calc(100svh - 72px);min-height:440px;max-height:880px}
.hero .stage{position:absolute;left:50%;bottom:0;height:100%;aspect-ratio:1408/768;transform:translateX(-50%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%);mask-image:linear-gradient(to bottom,transparent,#000 12%)}
.hero .stage img{position:absolute;display:block}
.hero .plate{inset:0;width:100%;height:100%}
.sway{height:auto;transform-origin:var(--ox) 100%;will-change:transform}
.sway-l{--ox:29%;animation:swayL 5.2s ease-in-out infinite alternate}
.sway-r{--ox:77%;animation:swayR 4.3s ease-in-out -1.8s infinite alternate}
@keyframes swayL{0%{transform:rotate(-.7deg) skewX(.4deg)}100%{transform:rotate(1.2deg) skewX(-.6deg)}}
@keyframes swayR{0%{transform:rotate(.9deg)}100%{transform:rotate(-1deg)}}
@media (prefers-reduced-motion:reduce){.sway{animation:none}}
.hero .copy{gap:26px;padding-top:44px}
.vsub{line-height:2.1;padding-top:16px;font-size:18px;color:#4A4F43}
.since{top:64px;line-height:1.9}
.since b{margin-top:4px}
/* 品牌故事分頁 */
.story-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px 30px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{font:inherit;font-size:14px;letter-spacing:.1em;padding:6px 16px;border:1px solid rgba(46,53,39,.3);border-radius:20px;background:transparent;color:var(--ink);cursor:pointer}
.tabs button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gen-panel{display:none;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.gen-panel.on{display:grid;animation:fadeIn .5s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.gen-panel .pic{height:min(280px,40svh);border-radius:4px}
.gen-panel h3{font-size:22px;letter-spacing:.12em;margin:4px 0 10px}
.gen-panel p:last-child{color:#4A4F43;line-height:1.95}
/* 五大支柱：左文右花 */
.pillars-wrap{display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center}
.pillars-wrap .flower{width:min(500px,calc(100svh - 72px - 96px),46vw);margin:0}
.mind-grid{display:grid;grid-template-columns:auto 1fr 1.4fr 1fr;gap:44px;align-items:start}
.mind-grid p{color:#4A4F43;line-height:1.95}
.vquote{font-size:26px}
.values{gap:28px}.vgroup{padding:24px 30px}
.badge{padding:18px 22px 16px}
.card .pic{height:150px}
.card .body{padding:20px 22px 22px}
.cta{margin-top:30px}
@media(max-width:900px){
 .pillars-wrap,.gen-panel,.mind-grid{grid-template-columns:1fr;gap:26px}
 .pillars-wrap .flower{width:min(460px,100%);margin:0 auto}
 .vquote{writing-mode:vertical-rl;font-size:22px;justify-self:center}
}
@media(max-width:700px){
 .logo .logo-svg{height:28px}
 .hero{height:calc(100svh - 72px);max-height:720px;padding-bottom:0}
 .hero .stage{height:auto;width:205%;left:62%}
 .vtitle{font-size:46px}
 .vsub{display:block;font-size:15px}
 .hero .copy{padding-top:34px;gap:16px;padding-right:6vw}
 .since{top:40px;font-size:13px;letter-spacing:.08em;left:20px}
 .since b{font-size:38px}
}

/* 段落高度收斂 */
.vgrid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,calc((100% - 66px)/4));grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;gap:22px}
.vgrid>*{scroll-snap-align:start}
.vgrid::-webkit-scrollbar{height:6px}.vgrid::-webkit-scrollbar-thumb{background:rgba(125,139,61,.35);border-radius:3px}
.vcard{padding:20px 20px 18px}.mascot{width:100px;height:100px;margin-bottom:12px;font-size:12px}
.vgrid-bean .mascot{width:120px;height:120px;font-size:19px;font-weight:700;letter-spacing:.14em;line-height:1.5;color:#3E3A2E}
.items-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0 6px}
.items-mini div{border-top:2px solid #C9A27A;padding-top:8px}
.items-mini b{display:block;letter-spacing:.12em}.items-mini span{font-size:13px;color:var(--muted)}
.spec{font-size:13px;color:var(--muted)}
#harukami .facts-dl{gap:6px 18px;margin-bottom:16px;line-height:1.75}
#harukami .big-quote.sm{margin-bottom:12px}
#harukami .cta{margin-top:18px}
.tbl th,.tbl td{padding:10px 18px}
.row-end{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.row-end .cta{margin-top:16px}
.routes{gap:20px}.route{padding:22px 26px}
.inq{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.form{gap:14px}.form input,.form select,.form textarea{padding:9px 12px}
.stats{margin-top:30px}.stats b{font-size:44px}
@media(max-width:900px){.inq{grid-template-columns:1fr;gap:20px}.items-mini{grid-template-columns:1fr 1fr 1fr}}

/* ===== v1.2 ===== */
/* 風吹過：田野、稻穗依序擺動 */
.hero .stage .fieldwind,.hero .stage .sheen{position:absolute;display:block}
.fieldwind{height:auto;transform-origin:50% 100%;animation:fieldWind 9s ease-in-out .55s infinite}
.sheen{-webkit-mask-size:100% 100%;mask-size:100% 100%;background:linear-gradient(100deg,transparent 0 42%,rgba(255,252,228,.55) 50%,transparent 58% 100%);background-size:300% 100%;background-position:120% 0;mix-blend-mode:screen;animation:sheen 9s ease-in-out infinite;opacity:.9}
.sway-l{--ox:29%;animation:gust 9s ease-in-out infinite}
.sway-r{--ox:77%;animation:gustR 9s ease-in-out 1.1s infinite}
@keyframes gust{0%{transform:rotate(-.2deg)}12%{transform:rotate(.35deg)}24%{transform:rotate(-.15deg)}36%{transform:rotate(2.3deg) skewX(-.8deg)}46%{transform:rotate(-.7deg) skewX(.3deg)}56%{transform:rotate(.9deg)}68%{transform:rotate(.1deg)}82%{transform:rotate(.35deg)}100%{transform:rotate(-.2deg)}}
@keyframes gustR{0%{transform:rotate(-.2deg)}12%{transform:rotate(.3deg)}24%{transform:rotate(-.1deg)}36%{transform:rotate(2deg)}46%{transform:rotate(-.6deg)}56%{transform:rotate(.7deg)}68%{transform:rotate(0)}82%{transform:rotate(.3deg)}100%{transform:rotate(-.2deg)}}
@keyframes fieldWind{0%,24%{transform:skewX(0)}37%{transform:skewX(-1.2deg)}48%{transform:skewX(.4deg)}58%{transform:skewX(-.2deg)}68%,100%{transform:skewX(0)}}
@keyframes sheen{0%,22%{background-position:120% 0;opacity:0}28%{opacity:.9}55%{background-position:-20% 0;opacity:.9}62%,100%{background-position:-20% 0;opacity:0}}
@media (prefers-reduced-motion:reduce){.fieldwind,.sheen,.sway{animation:none}.sheen{display:none!important}}
/* 右側直排：上緣齊高，好米略低 */
.hero .copy{align-items:flex-start;gap:20px}
.vt{writing-mode:vertical-rl;line-height:1}
.vt-big{font-size:clamp(56px,6.4vw,96px);font-weight:700;letter-spacing:.12em;color:var(--ink)}
.vt-low{margin-top:.55em}
.vt-sm{font-size:18px;letter-spacing:.35em;color:#4A4F43}
.vt-sm+.vt-sm{margin-left:2px}
/* 故事三代同頁 */
.gens3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.gen-mark{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 45% 40%,color-mix(in srgb,var(--c) 55%,#fff),var(--c));display:flex;align-items:center;justify-content:center;font-size:21px;color:var(--ink);margin-bottom:12px}
.gens3 h3{font-size:19px;letter-spacing:.1em;margin:2px 0 8px}
.gens3 p:last-child{font-size:15px;color:#4A4F43;line-height:1.9}
/* 歷史與榮譽：直列軌跡 */
.hist{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:start}
.mtrack{list-style:none;position:relative;padding-left:30px}
.mtrack:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1.5px;background:linear-gradient(var(--gold),var(--yg))}
.mtrack li{position:relative;display:grid;grid-template-columns:62px 1fr;gap:14px;padding:5px 0;line-height:1.6}
.mtrack li:before{content:"";position:absolute;left:-29px;top:.8em;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--gold)}
.mtrack li.key:before{background:var(--gold)}
.mtrack b{font-family:Georgia,serif;font-weight:400;font-size:18px;color:var(--earth)}
.mtrack span{color:#3E4437;font-size:15px}
.mtrack li.key span{font-weight:700}
@media(max-width:900px){.gens3,.hist{grid-template-columns:1fr;gap:26px}}
@media(max-width:700px){.vt-big{font-size:46px}.vt-sm{font-size:15px}.hero .copy{gap:12px}}

/* ===== v1.3 ===== */
/* 左右稻穗同步、自然搖曳 */
.sway-l,.sway-r{animation:breeze 4.6s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.sway-l{--ox:29%}.sway-r{--ox:77%}
@keyframes breeze{0%{transform:rotate(-.6deg) skewX(.25deg)}50%{transform:rotate(.45deg) skewX(-.15deg)}100%{transform:rotate(1.1deg) skewX(-.45deg)}}
/* 蜻蜓 */
.dfly{position:absolute;aspect-ratio:124/104;animation:hover 3.2s ease-in-out infinite alternate}
.dfly img{position:absolute;inset:0;width:100%;height:100%}
.wing{animation:flapL .11s ease-in-out infinite alternate}
.wr{animation-name:flapR;animation-delay:-.05s}
@keyframes flapL{from{transform:rotate(-13deg) scaleY(.92)}to{transform:rotate(7deg)}}
@keyframes flapR{from{transform:rotate(12deg) scaleY(.92)}to{transform:rotate(-7deg)}}
@keyframes hover{from{transform:translate(0,0)}to{transform:translate(-3px,-5px)}}
@media (prefers-reduced-motion:reduce){.dfly,.wing{animation:none}}
/* 故事：一篇文章 */
.article{columns:2;column-gap:56px;max-width:none}
.article p{font-size:16px;line-height:2;color:#3E4437;margin-bottom:14px;break-inside:avoid}
.article p:first-child{font-size:18px;color:var(--earth);letter-spacing:.04em}
/* 企業理念三欄 */
.mind-grid{grid-template-columns:1fr 1.4fr 1fr}
/* 歷史與榮譽的標語 */
.vquote.hq{writing-mode:vertical-rl;font-size:28px;letter-spacing:.3em;line-height:2.1;margin-top:6px}
@media(max-width:900px){.article{columns:1}.vquote.hq{font-size:22px}}

/* ===== v1.4 ===== */
.article{columns:auto;max-width:56em}
.article p{font-size:16.5px;line-height:2.05;margin-bottom:16px}
.article p.open,.article p.close{font-size:20px;color:var(--earth);letter-spacing:.06em;line-height:1.9}
.article p.close{margin:6px 0 0}
.pillars-wrap .flower{width:min(560px,calc(100svh - 72px - 96px),50vw)}
.petal-text{width:31%}
.petal-text h3{font-size:clamp(17px,4.1cqi,26px)}
.petal-text p{font-size:clamp(12.5px,2.7cqi,16px)}
.flower .pg,.flower .petal-text{transition:none}
@media(max-width:900px){.pillars-wrap .flower{width:min(460px,100%)}}
.flower .stalk1{position:absolute;left:50%;top:50%;width:21%;height:auto;transform:translate(-48%,-52%)}

/* 春上栽培法故事 */
.hstory{max-width:58em}
.hstory p{font-size:16px;line-height:1.9;color:#3E4437;margin-bottom:8px}
.hstory .h-title{font-size:21px;letter-spacing:.08em;color:var(--earth);margin-bottom:4px}
.hstory .h-lead{color:var(--earth);font-weight:700;letter-spacing:.06em}
.hstory .h-meta{font-size:14px;color:var(--olive);letter-spacing:.06em;margin-bottom:12px}

/* ===== 最終調整 ===== */
.since{font-size:inherit;letter-spacing:.2em;line-height:1.6}
.since-1{display:block;font-size:clamp(17px,1.6vw,22px);font-weight:700;color:var(--ink);letter-spacing:.22em}
.since b{display:block;font-size:clamp(40px,4vw,54px);margin:2px 0 4px}
.since-2{display:block;font-size:clamp(13px,1.15vw,15.5px);color:#4A4F43;letter-spacing:.2em}
.vt-eq{font-size:clamp(44px,4.6vw,70px);font-weight:700;letter-spacing:.14em;color:var(--ink)}
.hero .copy{gap:clamp(14px,1.8vw,28px)}
.article p:first-child{font-size:16.5px;color:#3E4437;letter-spacing:0}
.article p.close{font-size:inherit;color:var(--earth);letter-spacing:.04em}
.tagline{font-size:clamp(20px,2vw,26px);letter-spacing:.2em;color:var(--earth);margin:-8px 0 14px}
.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 40px}
.reasons h3{font-size:18px;letter-spacing:.08em;margin-bottom:6px;display:flex;align-items:baseline;gap:10px}
.reasons h3 i{font-style:normal;color:var(--gold);font-size:17px}
.reasons p{font-size:14.5px;line-height:1.85;color:#4A4F43}
.reasons .ask{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:18px 24px;background:#F1EEDF;border-radius:4px}
.reasons .ask p{font-size:16px;color:var(--ink)}
.reasons .ask .cta{margin-top:14px}
@media(max-width:900px){.reasons{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.reasons{grid-template-columns:1fr}.vt-eq{font-size:40px}.since-1{font-size:15px;letter-spacing:.1em}.since-2{font-size:12px;letter-spacing:.08em}.since b{font-size:36px}}

/* ===== 最終調整 2 ===== */
.hero .copy .vt-sm{font-size:18px;letter-spacing:.35em;color:#4A4F43;font-weight:400;margin-left:4px}
.why-head{display:grid;grid-template-columns:auto 1fr;gap:20px 64px;align-items:end;margin-bottom:30px}
.why-head .h2{margin-bottom:10px}.why-head .tagline{margin:0}
.why-intro p{color:#3E4437;line-height:1.9}
.why-ask{margin-top:6px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14.5px;color:var(--muted)!important}
.why-ask .cta{margin-top:0;padding:9px 26px}
.reasons5{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.reasons5 article{position:relative}
.r-dot{position:relative;isolation:isolate;width:76px;height:76px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.r-dot:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:var(--c);opacity:.55;filter:blur(1.2px)}
.r-dot span{font-size:14px;letter-spacing:.18em;line-height:1.35;text-align:center;color:var(--ink);font-weight:700;padding-left:.18em}
.reasons5 h3{text-wrap:balance;font-size:16px;letter-spacing:.06em;line-height:1.5;margin-bottom:6px;display:flex;gap:8px;align-items:baseline}
.reasons5 h3 i{font-style:normal;color:var(--earth);font-size:15px;flex:none}
.reasons5 p{font-size:14px;line-height:1.85;color:#4A4F43}
.spirit{display:flex;align-items:baseline;gap:28px;flex-wrap:wrap;padding:22px 0;border-top:1px solid rgba(140,102,66,.3);border-bottom:1px solid rgba(140,102,66,.3);margin-bottom:28px}
.sp-label{font-size:15px;letter-spacing:.25em;color:var(--earth);font-weight:700}
.spirit p{display:flex;gap:clamp(18px,4vw,56px);flex-wrap:wrap;font-size:clamp(20px,2.2vw,28px);letter-spacing:.24em;color:var(--ink)}
.mv{display:grid;grid-template-columns:1.4fr 1fr;gap:56px}
.mv p{color:#4A4F43;line-height:1.95}
.hq-h{display:flex;flex-direction:column;gap:4px;margin:4px 0 18px;font-size:clamp(20px,2vw,25px);letter-spacing:.3em;color:var(--ink);line-height:1.8}
@media(max-width:1100px){.reasons5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.why-head,.mv{grid-template-columns:1fr;gap:16px}.reasons5{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.reasons5{grid-template-columns:1fr}.reasons5 article{display:grid;grid-template-columns:64px 1fr;column-gap:14px}.reasons5 .r-dot{width:60px;height:60px;grid-row:span 2}.r-dot span{font-size:12px}.hero .copy .vt-sm{font-size:14px;letter-spacing:.25em}}

.reasons5 h3{white-space:nowrap;text-wrap:nowrap;font-size:clamp(12.5px,1.06vw,14px);letter-spacing:.02em;gap:6px}
.reasons5 h3 i{font-size:inherit}

.mind-rows{display:grid;grid-template-columns:7.5em 1fr;max-width:62em;border-top:1px solid rgba(140,102,66,.3)}
.mind-rows dt,.mind-rows dd{padding:18px 0;border-bottom:1px solid rgba(140,102,66,.3)}
.mind-rows dt{font-size:17px;font-weight:700;letter-spacing:.2em;color:var(--earth)}
.mind-rows dd{font-size:16.5px;line-height:1.9;color:#3E4437}
.hq-line{white-space:nowrap;font-size:clamp(17px,1.6vw,21px);letter-spacing:.15em;color:var(--ink);margin:6px 0 18px}
@media(max-width:600px){.mind-rows{grid-template-columns:1fr}.mind-rows dt{border-bottom:0;padding-bottom:2px}.mind-rows dd{padding-top:2px}.hq-line{font-size:16px;letter-spacing:.08em}}

.mind-rows dt{display:flex;align-items:center}
.mind-rows dd.spirit-big{font-size:clamp(20px,2vw,26px);letter-spacing:.18em;color:var(--ink);line-height:1.6}
@media(max-width:600px){.mind-rows dt{display:block}.mind-rows dd.spirit-big{font-size:19px;letter-spacing:.08em}}

.r-dot{width:88px;height:88px}
.r-dot span{font-size:17.5px;letter-spacing:.16em;line-height:1.3}
@media(max-width:600px){.reasons5 .r-dot{width:68px;height:68px}.r-dot span{font-size:14.5px}}

.since-2{font-size:clamp(15px,1.4vw,19px);font-weight:700;color:var(--ink);letter-spacing:.16em}
.m-br{display:none}
@media(max-width:700px){.since-2{font-size:14px;letter-spacing:.08em;line-height:1.6}.m-br{display:inline}.sp-gap{display:none}}


@media(min-width:601px){.reasons5 .r-dot{margin-left:auto;margin-right:auto}}
.ask-link{display:inline-flex;align-items:center;gap:10px;color:var(--earth);font-weight:700;letter-spacing:.15em;border-bottom:1px solid rgba(140,102,66,.35);padding-bottom:3px;transition:color .2s}
.ask-link svg{width:48px;height:12px;transition:transform .25s ease}
.ask-link:hover{color:var(--ink)}
.ask-link:hover svg{transform:translateX(6px)}

.ask-link svg.hand{width:30px;height:20px;flex:none}
.ask-link:hover svg.hand{transform:translateX(4px)}

.reasons5 p{text-align:justify}

/* 首頁直排：書法（楷書）字體 */
.hero .copy .vt{font-family:"Yuji Boku","LXGW WenKai TC","Noto Serif TC","Noto Serif CJK TC",serif}
.hero .copy .vt-eq{font-weight:400;letter-spacing:.08em;-webkit-text-stroke:.6px currentColor}
.hero .copy .vt-sm{font-weight:400}

/* 手機瀏海與系統列安全區 */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
nav{top:env(safe-area-inset-top,0px)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:rgba(249,250,242,.96)}
/* ===== v2：一粒米的旅程 ===== */
.vbox{width:min(100%,calc((100svh - 72px - 176px)*2));margin:0 auto;aspect-ratio:2/1;background:#1b2530;border-radius:6px;overflow:hidden;box-shadow:0 10px 30px rgba(46,53,39,.12)}
.vbox video{width:100%;height:100%;display:block;object-fit:cover}
.stages{display:grid;grid-template-columns:1fr 1fr 1.6fr 1.2fr;gap:30px}
.stage-col h3{font-size:19px;letter-spacing:.2em;padding-bottom:10px;margin-bottom:12px;border-bottom:1.5px solid var(--gold);display:flex;align-items:baseline;gap:10px}
.stage-col h3 i{font-style:normal;font-family:Georgia,serif;font-size:15px;color:var(--gold);letter-spacing:.05em}
.stage-col ol{list-style:none}
.stage-col li{margin-bottom:11px;line-height:1.55}
.stage-col b{display:block;font-size:15px;letter-spacing:.06em;color:var(--ink)}
.stage-col span{font-size:13px;color:var(--muted)}
.stage-col.wide ol{columns:2;column-gap:22px}
.stage-col.wide li{break-inside:avoid}
@media(max-width:1100px){.stages{grid-template-columns:1fr 1fr}.stage-col.wide ol{columns:1}}
@media(max-width:600px){.stages{grid-template-columns:1fr}}

.see-qa{margin-top:14px;font-size:13px;color:var(--olive)}
.qa-rows{display:grid;grid-template-columns:8em 1fr;max-width:64em;border-top:1px solid rgba(140,102,66,.3)}
.qa-rows dt,.qa-rows dd{padding:13px 0;border-bottom:1px solid rgba(140,102,66,.25)}
.qa-rows dt{font-weight:700;letter-spacing:.14em;color:var(--earth);font-size:15.5px}
.qa-rows dd{font-size:15.5px;line-height:1.8;color:#3E4437}
@media(max-width:600px){.qa-rows{grid-template-columns:1fr}.qa-rows dt{border-bottom:0;padding-bottom:0}.qa-rows dd{padding-top:2px}}

.tech2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tcard{display:grid;grid-template-columns:96px 1fr;gap:24px;align-items:start;padding:28px 30px;background:#FBF9F1;border-radius:6px;border:1px solid rgba(140,102,66,.14)}
.t-ic{position:relative;isolation:isolate;width:96px;height:96px;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.t-ic:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:var(--c);opacity:.45;filter:blur(1.2px)}
.t-ic svg{width:56px;height:56px}
.t-en{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--olive);letter-spacing:.04em}
.tcard h3{font-size:22px;letter-spacing:.16em;margin:2px 0 10px}
.tcard p:last-child{font-size:15.5px;line-height:1.9;color:#3E4437}
.lab3{margin:0 0 22px;background:#FAFBF6;border-radius:6px;padding:22px 30px;display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center}.lab3-fig{margin:0}.lab3-fig svg{width:100%;height:auto;display:block}.lab3-txt h4{font-size:18px;letter-spacing:.12em;margin-bottom:8px}.lab3-cta{margin-top:14px;display:inline-block}.lab3-txt p{font-size:15px;line-height:1.9;color:#4A4F43}@media(max-width:600px){.lab3{grid-template-columns:1fr;text-align:center}.lab3-fig{max-width:200px;margin:0 auto}}
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 22px}
.qgrid article{background:var(--paper);border-radius:6px;padding:20px 22px;display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:start}
.q-ic{grid-row:span 2;width:44px;height:44px;color:var(--earth)}
.q-ic svg{width:44px;height:44px}
.qgrid h4{font-size:16.5px;letter-spacing:.1em;margin-bottom:4px}
.qgrid p{font-size:14px;line-height:1.75;color:#4A4F43}
@media(max-width:900px){.tech2{grid-template-columns:1fr}.qgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.qgrid{grid-template-columns:1fr}.tcard{grid-template-columns:72px 1fr;gap:16px;padding:22px}.t-ic{width:72px;height:72px}.t-ic svg{width:42px;height:42px}}

.fstrip{list-style:none;display:grid;grid-template-columns:repeat(8,1fr);gap:8px;position:relative;margin-top:8px}
.fstrip:before{content:"";position:absolute;left:6%;right:6%;top:46px;height:1.5px;background:linear-gradient(90deg,var(--yg),var(--gold),var(--earth));opacity:.6}
.fstrip li{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.fs-ic{width:92px;height:92px;border-radius:50%;background:var(--paper);border:1.5px solid rgba(140,102,66,.35);display:flex;align-items:center;justify-content:center;color:var(--earth);position:relative;z-index:1;margin-bottom:12px}
.fs-ic svg{width:50px;height:50px}
.fs-lead{margin:0 0 32px;font-size:clamp(20px,2vw,26px);font-weight:700;letter-spacing:.14em;color:var(--ink)}
@media(max-width:480px){.fs-ic{width:76px;height:76px}.fs-ic svg{width:42px;height:42px}}
.fstrip li.key .fs-ic{border:2px solid var(--gold);background:#FBF3DA;box-shadow:0 0 0 5px rgba(217,169,58,.15)}
.fstrip b{font-size:16px;letter-spacing:.08em}
.fstrip span{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:2px}
.fs-note{margin-top:22px;font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:flex-end;gap:8px}
.fs-note i{width:14px;height:14px;border-radius:50%;border:2px solid var(--gold);background:#FBF3DA;display:inline-block}
#qa:not(.tint) .qgrid article{background:#FBF9F1;border:1px solid rgba(140,102,66,.14)}
@media(max-width:900px){.fstrip{grid-template-columns:repeat(4,1fr);row-gap:26px}.fstrip:before{display:none}}
@media(max-width:480px){.fstrip{grid-template-columns:repeat(2,1fr)}}
/* 製米與品質：冷調大地色（方向一、二共用） */
[data-page=milling]{--ink-g:#3F4F48}
[data-page=milling] .phead .en,[data-page=milling] .h2 small{color:#5F6E5A}
[data-page=milling] .fstrip:before{background:linear-gradient(90deg,#9AA58C,#C9B26E 50%,#6B5E45);opacity:.6}
[data-page=milling] .fs-ic{color:var(--ink-g);border-color:rgba(63,79,72,.32)}
[data-page=milling] .q-ic{color:var(--ink-g)}
[data-page=milling] section.tint{background:#EEF0E8}
[data-page=milling] #qa .qgrid article{background:#FAFBF6}
[data-page=milling] .report b{color:#5F6E5A}
[data-page=milling] .report span{border-color:#5F6E5A;color:#5F6E5A}
/* 方向二：獨特關鍵技術改為深墨綠聚光區 */
.tone-b #tech{background:radial-gradient(70% 90% at 92% 0%,rgba(217,169,58,.20),transparent 62%),radial-gradient(60% 80% at 0% 100%,rgba(140,102,66,.30),transparent 60%),radial-gradient(50% 60% at 45% 55%,rgba(125,139,61,.16),transparent 70%),#24302C;color:#EFEBDD}
.tone-b #tech .h2 h2{color:#F4EFE2}
.tone-b #tech .h2 small{color:#D9A93A}
.tone-b #tech .tcard{background:rgba(255,255,255,.04);border:1px solid rgba(217,169,58,.28)}
.tone-b #tech .tcard h3{color:#F4EFE2}
.tone-b #tech .t-en{color:#D9A93A}
.tone-b #tech .tcard p:last-child{color:#D8D4C6}
.tone-b #tech .t-ic{color:#F4EFE2}
.tone-b #tech .t-ic:before{background:#D9A93A;opacity:.28;filter:none}
/* 色系切換按鈕 */
.phead .wrap{position:relative}
.tone-switch{position:absolute;right:32px;top:0;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);background:rgba(249,250,242,.9);padding:4px 6px 4px 12px;border:1px dashed rgba(63,79,72,.4);border-radius:20px;z-index:2}
.tone-switch button{font:inherit;border:0;background:transparent;padding:4px 12px;border-radius:14px;cursor:pointer;color:var(--ink)}
.tone-switch button.on{background:#3F4F48;color:#F4EFE2}
@media(max-width:600px){.tone-switch{position:static;display:inline-flex;margin-bottom:14px}}

/* 得獎證書 */
.certs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px;max-width:400px}
.certs figure{margin:0}
.cert{display:block;width:100%;padding:0;border:1px solid rgba(140,102,66,.25);background:#fff;cursor:zoom-in;border-radius:3px;overflow:hidden;box-shadow:0 4px 12px rgba(46,53,39,.08);transition:transform .2s}
.cert:hover{transform:translateY(-2px)}
.cert img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top}
.certs figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:6px}
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(30,36,28,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(92vw,720px);max-height:80vh;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.lightbox p{color:#EFEBDD;margin-top:12px;font-size:15px;letter-spacing:.06em;text-align:center}
.lb-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:18px;font-size:34px;line-height:1;color:#EFEBDD;background:none;border:0;cursor:pointer}
@media(max-width:600px){.certs{max-width:none}}

/* 證書卡片（檢驗報告區） */
.report.cert-doc{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center;text-align:left;font:inherit;color:var(--ink);background:var(--paper);border:1px solid rgba(46,53,39,.1);border-radius:4px;padding:14px;cursor:zoom-in;box-shadow:none;width:100%}
.report.cert-doc:hover{transform:translateY(-2px)}
.report.cert-doc img{width:62px;aspect-ratio:3/4;object-fit:cover;object-position:top;border:1px solid rgba(46,53,39,.15);display:block}
.report.lab-doc{cursor:default}.report.lab-doc:hover{transform:none}.report.lab-doc img{object-fit:contain;object-position:center;border:0;background:transparent}
.cd-t{display:flex;flex-direction:column;font-size:14px;line-height:1.5}
.cd-t b{font-family:Georgia,serif;font-weight:400;color:var(--olive);font-size:15px;display:block}
.cd-t small{font-size:12px;color:var(--muted)}
.cd-t em{font-style:normal;font-size:12px;letter-spacing:.12em;color:var(--earth);margin-top:4px}
.report.cert-doc .cd-t{border:0;margin:0;padding:0;letter-spacing:.02em;width:auto;color:inherit;font-size:14px;display:flex;flex-direction:column}
.report.cert-doc .cd-t small,.report.cert-doc .cd-t em{display:block}

.cert{background:#F4F0E2}
.cert img{object-position:center}

.certs figcaption{text-align:center}
.certs figure{display:flex;flex-direction:column}
.routes.six{grid-template-columns:repeat(2,1fr)}
#routes .routes-lead{margin:0 0 26px;font-size:clamp(17px,1.5vw,19px);line-height:1.9;color:#3E4437}
#routes .routes.six .route{border-radius:6px}
#routes .routes.six .route:nth-child(1){background:#F4EEDA}
#routes .routes.six .route:nth-child(2){background:#EDF0E0}
#routes .routes.six .route:nth-child(3){background:#F6ECD3}
#routes .routes.six .route:nth-child(4){background:#EFE6DA}
#routes .routes.six .route:nth-child(5){background:#E8EEDA}
#routes .routes.six .route:nth-child(6){background:#F4E7DD}
#routes .gift-tags span{background:rgba(255,255,255,.55)}
#routes .routes.six{gap:12px 18px}
#routes .routes.six .route{padding:14px 22px}
#routes .routes.six .route p{margin-bottom:4px}
#routes .routes.six .link{font-size:14px}
#routes .gift-tags{margin-top:4px}
#routes .route{padding:16px 22px}
#routes .route h3{font-size:18px;margin-bottom:4px}
#routes .route p{font-size:14.5px;line-height:1.8;margin-bottom:8px}
.routes.six{gap:16px}
#routes .lead{max-width:none}
.route.green{border-left-color:var(--yg)}
.gift-tags{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:2px}
.gift-tags span{font-size:13px;color:var(--earth);border:1px solid rgba(140,102,66,.35);border-radius:14px;padding:1px 10px;line-height:1.7}
@media(max-width:900px){.routes.six{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.routes.six{grid-template-columns:1fr}}
.routes.three{grid-template-columns:repeat(3,1fr)}
#routes .route{padding:18px 24px}
#routes .lead{margin-bottom:22px}
.route.warm{border-left-color:#C9A27A}
.esg-card{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;background:var(--paper);border-radius:6px;padding:30px 34px;border-left:3px solid var(--yg)}
.esg-card .esg-lead{font-size:clamp(19px,1.8vw,23px);letter-spacing:.12em;color:var(--ink);margin-bottom:10px}
.esg-card p{color:#4A4F43;line-height:1.9;margin-bottom:10px}
.esg-card .ticks{margin:0}
@media(max-width:900px){.routes.three{grid-template-columns:1fr}.esg-card{grid-template-columns:1fr;gap:16px;padding:24px}}
.certs figcaption{flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.certs{max-width:372px;gap:12px;margin-top:54px}
.certs figcaption{font-size:11px;letter-spacing:0;line-height:1.55}

#routes .routes.six .route{display:grid;grid-template-columns:54px 1fr;column-gap:16px;align-items:start}
#routes .r-ic{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;color:var(--earth);margin-top:4px}
#routes .r-ic svg{width:40px;height:40px}
@media(max-width:600px){#routes .routes.six .route{grid-template-columns:44px 1fr;column-gap:12px}#routes .r-ic{width:44px;height:44px}#routes .r-ic svg{width:26px;height:26px}}

/* 六項：統一大小與底色 */
#routes .routes.six{grid-auto-rows:1fr}
#routes .routes.six .route,#routes .routes.six .route:nth-child(n){background:#F3EEDD}

/* 服務項目：暖粉卡片＋小圓底分色 */
#routes .routes.six .route,#routes .routes.six .route:nth-child(n){background:#F5E9E1}
#routes .routes.six .route:nth-child(1) .r-ic{background:#EFDDA8}
#routes .routes.six .route:nth-child(2) .r-ic{background:#D8DFC2}
#routes .routes.six .route:nth-child(3) .r-ic{background:#F1D58F}
#routes .routes.six .route:nth-child(4) .r-ic{background:#E2D0B6}
#routes .routes.six .route:nth-child(5) .r-ic{background:#D2E0B2}
#routes .routes.six .route:nth-child(6) .r-ic{background:#ECC6B4}

/* 服務項目：卡片底色取自頁首色帶第一色 */
#routes .routes-lead{font-weight:700;color:var(--ink);font-size:clamp(20px,2vw,26px);letter-spacing:.14em;line-height:1.6;max-width:none;margin:0 0 34px}
#routes .routes.six .route,#routes .routes.six .route:nth-child(n){background:#E4D2BC;border-left-color:#9C7448}
#routes .routes.six .route:nth-child(4) .r-ic{background:#F3E8D8}
#routes .routes.six .route p{color:#3E4437}
#routes .gift-tags span{background:rgba(255,255,255,.6);border-color:rgba(140,102,66,.45)}

/* 服務項目：白卡片＋分色小圓＋同色系左線 */
#routes .routes.six .route,#routes .routes.six .route:nth-child(n){background:#FFFCF6;border:1px solid rgba(140,102,66,.14);border-left-width:3px;box-shadow:0 1px 2px rgba(46,53,39,.04)}
#routes .routes.six .route:nth-child(1){border-left-color:#D9B65A}
#routes .routes.six .route:nth-child(2){border-left-color:#9FAE7E}
#routes .routes.six .route:nth-child(3){border-left-color:#D9A93A}
#routes .routes.six .route:nth-child(4){border-left-color:#B89A74}
#routes .routes.six .route:nth-child(4) .r-ic{background:#E2D0B6}
#routes .routes.six .route:nth-child(5){border-left-color:#9DB45F}
#routes .routes.six .route:nth-child(6){border-left-color:#C98F78}
#routes .gift-tags span{background:transparent;border-color:rgba(140,102,66,.35)}

/* 服務項目：卡片與線條統一淡綠，小圓保留分色 */
#routes .routes.six .route,#routes .routes.six .route:nth-child(n){background:#FFFCF6;border-color:rgba(140,102,66,.14);border-left-color:#8FA35A}
#routes .gift-tags span{background:transparent}
#routes .r-body .gift-tags+.link{display:inline-block;margin-top:6px}

/* 版面比較：無框圖示版 */
.layout-switch{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);padding:4px 6px 4px 12px;border:1px dashed rgba(63,79,72,.4);border-radius:20px;margin-bottom:18px}
.layout-switch button{font:inherit;border:0;background:transparent;padding:4px 12px;border-radius:14px;cursor:pointer;color:var(--ink)}
.layout-switch button.on{background:#3F4F48;color:#F4EFE2}
#routes .routes.six.plain{grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:44px 0}
#routes .routes.six.plain .route,#routes .routes.six.plain .route:nth-child(n){display:flex;flex-direction:column;align-items:center;text-align:center;background:none;border:0;box-shadow:none;border-radius:0;padding:0 30px}
#routes .routes.six.plain .route:not(:nth-child(3n+1)){border-left:1px solid rgba(140,102,66,.18)}
#routes .routes.six.plain .r-ic{width:76px;height:76px;margin:0 0 14px}
#routes .routes.six.plain .r-ic svg{width:46px;height:46px}
#routes .routes.six.plain .route h3{font-size:19px;margin-bottom:8px}
#routes .routes.six.plain .gift-tags{justify-content:center}
@media(max-width:900px){#routes .routes.six.plain{grid-template-columns:1fr 1fr}#routes .routes.six.plain .route:nth-child(n){border-left:0}}
@media(max-width:600px){#routes .routes.six.plain{grid-template-columns:1fr}}

.season-photo{border-radius:4px;overflow:hidden;margin-bottom:16px}
.season-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}

.zone-photo{margin-bottom:0}
.zone-photo img{object-position:70% center}

.tgap-cert{margin:0;display:flex;justify-content:center}
.tgap-cert .cert{display:block;width:min(100%,340px);padding:0;border:0;background:#fff;cursor:zoom-in;border-radius:3px;box-shadow:0 2px 4px rgba(46,53,39,.08),0 12px 28px rgba(46,53,39,.12)}
.tgap-cert .cert img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:3px}
.tgap-info{display:block;margin:4px 0 22px;font-size:14.5px;line-height:1.75}
.tgap-info dt{display:inline;color:var(--earth);font-weight:700;letter-spacing:.1em;margin-right:18px}
.tgap-info dd{display:inline;color:#3E4437}
.tgap-info dd::after{content:"";display:block;margin-bottom:6px}

.tgap-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;max-width:440px}
.tgap-pair figcaption{text-align:center;font-size:13px;color:var(--muted);margin-top:8px;letter-spacing:.1em}
.tgap-pair .cert{width:100%}

/* 春上 logo、微笑農田 logo、廠房線稿 */
.hk-wrap{display:grid;grid-template-columns:1fr 240px;gap:48px;align-items:center}
.hk-logo{margin:0;display:flex;justify-content:center}
.hk-logo img{width:100%;max-width:240px;height:auto;display:block}
.smile-logo{margin:0;display:flex;justify-content:center;align-items:center}
.smile-logo img{width:min(100%,260px);height:auto;display:block}
.mill-sketch{margin:22px 0 0}
.mill-sketch img{width:100%;max-width:440px;height:auto;display:block}
@media(max-width:900px){.hk-wrap{grid-template-columns:1fr;gap:20px}.hk-logo img{max-width:180px}}

/* 烘乾與低溫倉儲 */
.facility{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.facility figure{margin:0}
.fac-img{height:min(340px,46svh);border-radius:4px;overflow:hidden}
.fac-img img{width:100%;height:100%;object-fit:cover;display:block}
.facility figcaption{margin-top:12px;color:#3E4437;font-size:15px;line-height:1.8}
.facility figcaption b{display:block;font-size:17px;letter-spacing:.12em;color:var(--ink);margin-bottom:2px}
@media(max-width:700px){.facility{grid-template-columns:1fr}}

/* 首頁故事：左文右圖 */
.story-wrap{display:grid;grid-template-columns:1.9fr 1fr;gap:48px;align-items:center}
.story-wrap .article{max-width:none}
.story-sketch{margin:0;display:flex;flex-direction:column;align-items:flex-end;padding-right:24px}
.story-sketch img{width:100%;max-width:270px;height:auto;display:block;margin:0}
.story-sketch figcaption{width:100%;max-width:270px;text-align:center;font-size:13px;color:var(--muted);letter-spacing:.14em;margin-top:8px}
@media(max-width:900px){.story-wrap{grid-template-columns:1fr;gap:20px}.story-sketch img{max-width:460px;margin:0 auto}.story-sketch{align-items:center;padding-right:0}}

.hp{display:none}
