:root{--green:#225443;--deep:#183e32;--leaf:#dce9cf;--cream:#faf8ef;--ink:#283d33;--muted:#637267;--line:#dce2d5;--orange:#e3a15d}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;line-height:1.8;overflow-wrap:anywhere}a{color:var(--green);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bb7530;outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5;letter-spacing:.025em}h1{font-size:clamp(1.8rem,3.6vw,2.8rem)}h2{font-size:clamp(1.4rem,2.3vw,1.85rem)}h3{font-size:1.13rem}small,.small{font-size:.8rem;color:var(--muted)}.demo-banner{position:sticky;top:0;z-index:20;background:var(--green);color:#fff;text-align:center;padding:8px 16px;font-size:.72rem;letter-spacing:.03em}.site-header{max-width:1200px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;font-size:1.5rem;font-weight:800;display:flex;align-items:center;gap:12px;letter-spacing:.08em}.brand-icon{font-size:2.8rem;line-height:1}.brand small{display:block;font-size:.57rem;letter-spacing:.15em;color:var(--green)}nav{display:flex;gap:26px;align-items:center}nav a{font-size:.86rem;text-decoration:none;font-weight:700}nav a:last-child{background:var(--green);color:white;border-radius:30px;padding:12px 24px}nav a[aria-current=page]{text-decoration:underline}main{max-width:1144px;margin:auto;padding:0 28px;min-height:60vh}main:focus{outline:none}section{margin:48px 0 72px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;margin-top:38px;margin-bottom:42px}.eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.16em;color:var(--green);margin-bottom:16px}.hero h1{font-size:clamp(2.5rem,4.5vw,4.1rem);line-height:1.55;letter-spacing:.06em;margin-bottom:22px}.hero h1 span{position:relative;white-space:nowrap;background:linear-gradient(transparent 73%,#e4bc73 73%,#e4bc73 88%,transparent 88%)}.hero-copy{font-size:.98rem;line-height:2.2}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 12px}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:12px;background:var(--green);color:#fff;border:1px solid var(--green);padding:15px 23px;min-height:50px;border-radius:10px;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;line-height:1.6}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--green);border-color:#a4baaa}.button.secondary:hover{background:#e5eddf}.button.full{display:flex;width:100%;margin-top:22px}.hero-art{position:relative;background:#e3ebd4;border-radius:48% 48% 25% 25%;min-height:430px;display:flex;align-items:center;justify-content:center;margin-top:15px;background-image:radial-gradient(#c7d8b5 1.2px,transparent 1.2px);background-size:20px 20px;isolation:isolate}.art-note{position:absolute;top:40px;background:#fffef4;padding:7px 18px;border-radius:20px;transform:rotate(-6deg);font-size:.78rem;box-shadow:0 3px 0 #ccdabf}.floating{position:absolute;background:#fffdf5;border:1px solid #d3dfc5;border-radius:24px;font-size:3.1rem;line-height:1.4;text-align:center;padding:12px 20px;z-index:2;box-shadow:0 8px 0 #b9cbac55}.floating small{display:block;font-size:.67rem;font-weight:700}.floating.farm{left:14px;top:105px;transform:rotate(-9deg)}.floating.support{right:12px;top:88px;transform:rotate(9deg)}.table-scene{display:flex;gap:6px;align-items:center;justify-content:center;background:#c39766;border:12px solid #dbb689;border-radius:50%;width:84%;height:156px;margin-top:110px;box-shadow:0 18px 0 #a77b51,0 34px 0 #cfddbf;transform:rotate(-5deg);font-size:2.5rem}.dish{font-size:6.3rem;filter:drop-shadow(0 8px 0 #8f6c3e30);margin-top:-35px}.table-caption{position:absolute;bottom:30px;font-size:.8rem;font-weight:700}.sprout{position:absolute;bottom:3px;right:0;font-size:4rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;text-align:center;margin-bottom:70px}.stats>div+div{border-left:1px solid var(--line)}.stats strong{font-size:2.3rem;line-height:1.2;color:var(--green);font-family:Georgia,serif}.stats strong span{font-size:.85rem;margin-left:9px;font-family:system-ui}.stats p{font-size:.77rem;margin:7px 0 0;color:var(--muted)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-title h2{margin-bottom:0}.section-title .eyebrow{margin-bottom:8px}.steps-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.steps-intro article{padding:24px;border-top:2px solid #b9ccb4}.steps-intro article>span{font-family:Georgia,serif;font-size:1.6rem;color:var(--green)}.steps-intro h3{margin-top:18px}.steps-intro p{font-size:.87rem;color:var(--muted);margin-bottom:0}.grid,.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.org-card,.story-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fffefa;text-decoration:none;color:var(--ink)}.org-card{transition:transform .15s,box-shadow .15s}.org-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #183e3210}.org-art{height:170px;background:#e3ebd4;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.org-art:before,.org-art:after{content:'';position:absolute;border-radius:50%;width:150px;height:100px;background:#ffffff50;bottom:-35px;left:-25px}.org-art:after{left:auto;right:-25px;bottom:30px;width:110px;height:110px}.org-art>span{font-size:4.2rem;z-index:1;transform:rotate(-5deg)}.org-art i{position:absolute;right:16px;top:14px;font-style:normal;font-size:.62rem;letter-spacing:.18em;color:#395042}.role-diner .org-art,.role-diner .profile-art{background:#f3e4c4}.role-company .org-art,.role-company .profile-art{background:#e0e9e7}.card-body{padding:23px}.meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.66rem;color:var(--muted)}.pill{font-size:.65rem;display:inline-block;padding:3px 10px;border-radius:20px;background:#e5eedf;color:var(--green);font-weight:700;line-height:1.8}.pill.warm{background:#f3e6cc}.card-body h3{margin:15px 0 10px}.card-body p{font-size:.83rem;color:var(--muted)}.card-link{display:flex;justify-content:space-between;font-size:.78rem;margin-top:20px;padding-top:15px;border-top:1px solid var(--line);font-weight:700;color:var(--green)}.story-art{height:160px;background:#f0e5ca;font-size:4.5rem;display:flex;justify-content:center;align-items:center;position:relative}.story-card:nth-child(2n) .story-art{background:#e2ebd5}.story-art span{position:absolute;bottom:12px;left:16px;font-size:.6rem;background:#fffaf0;padding:3px 10px;border-radius:20px}.story-people{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:12px;margin-bottom:12px}.story-people a{font-size:.75rem;text-decoration:none}.section-head{padding:48px 0 12px;max-width:780px}.section-head p:last-child{color:var(--muted);font-size:.9rem}.section-head h1{margin-bottom:14px}.filters{background:#eeefe3;padding:22px;border-radius:14px;display:flex;gap:24px;align-items:end;justify-content:space-between}.search-label{flex:1;max-width:380px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #bccbb8;background:#fffef8;color:var(--green);padding:10px 16px;border-radius:30px;font-size:.8rem;min-height:44px}.chip.selected{background:var(--green);color:white;border-color:var(--green)}label{display:block;font-size:.8rem;font-weight:700}input,select,textarea{display:block;width:100%;max-width:100%;border:1px solid #b9c6b4;border-radius:8px;padding:12px;color:var(--ink);background:#fffef9;margin-top:7px;font-size:1rem;min-width:0}textarea{resize:vertical;line-height:1.8}select{padding-right:24px}.directory>.small{margin:20px 0}.simple-card{padding:24px;border:1px solid var(--line);background:#fffef8;border-radius:16px}.simple-card h3{margin:14px 0 8px}.simple-card p{font-size:.84rem}.simple-card>a:not(.button){font-size:.8rem}.food-art{font-size:4rem;text-align:center;background:#eef1e1;border-radius:10px;margin-bottom:20px;padding:10px}.price{font-weight:700}.price span{font-weight:400;font-size:.75rem}.back{font-size:.84rem}.profile{display:grid;grid-template-columns:1fr 1.6fr;gap:44px;align-items:center;margin:35px 0}.profile-art{background:#e3ebd4;border-radius:40% 40% 24px 24px;min-height:300px;display:grid;place-items:center;font-size:7rem}.profile h1{margin:15px 0}.profile h2{font-size:1.2rem}.profile p{font-size:.9rem}.about-panel{padding:30px;border:1px solid var(--line);border-radius:16px;background:#fffdf7}.about-panel p{font-size:.9rem}.actor-bar{display:flex;gap:20px;align-items:end;background:#e4eddb;padding:24px;border-radius:16px}.actor-bar label{flex:1;min-width:0}.actor-bar a{padding-bottom:12px;font-size:.8rem}.notice{padding:16px 24px;background:#fff1d4;color:#674a24;font-size:.8rem}.notice.inline{border-radius:8px;margin:20px 0 32px}.offer-form{display:grid;grid-template-columns:1fr 1.25fr;gap:35px;background:#fffef8;border:1px solid var(--line);padding:32px;border-radius:18px;margin-bottom:48px}.offer-form p{font-size:.88rem}.form-fields{display:grid;gap:18px;min-width:0}.quote{display:grid;gap:3px;padding:18px;background:#f1f3e8;border-radius:10px;font-size:.77rem;margin:4px 0}.quote strong{font-size:1rem;color:var(--green);padding-top:5px}.empty{text-align:center;padding:45px 20px;border:1px dashed #b9cbb1;border-radius:18px;background:#f0f3e6}.empty p{font-size:.88rem}.big-emoji{font-size:3.4rem}.count{font-size:.9rem;background:#dfe9d6;padding:4px 11px;border-radius:25px}.role-hint{display:flex;gap:25px;align-items:center;margin-bottom:40px}.role-hint>span{font-size:4rem}.role-hint p{font-size:.88rem}.deal-card{border:1px solid #cbd9c2;border-radius:18px;padding:28px;background:#fffef8;margin:22px 0}.deal-title{display:flex;gap:20px;align-items:center}.deal-title h3{margin:10px 0}.food-mini{font-size:3rem}.progress{list-style:none;display:flex;padding:0;margin:28px 0;gap:3px}.progress li{flex:1;font-size:.73rem;text-align:center;border-top:3px solid #e0e5d8;padding-top:10px;color:#788172}.progress li span{display:block;font-size:.85rem}.progress li.done{border-color:var(--green);color:var(--green);font-weight:700}.deal-parties{font-size:.85rem;margin-bottom:20px}.deal-action{margin-top:23px}.thanks-form{display:grid;gap:18px}.check{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:400}.check input{width:20px;height:20px;margin:0;flex-shrink:0}.thanks-result p{white-space:pre-wrap}.text-button{border:0;background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:4px;font-size:.78rem;padding:12px 0;min-height:44px}.thanks-result .text-button{display:block}footer{background:#e9eddf;padding:42px max(28px,calc((100% - 1088px)/2));margin-top:70px}footer>p{font-size:.85rem;margin-top:20px}.footer-brand{font-size:1.2rem}.fine{font-size:.71rem;color:var(--muted);line-height:2}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 32px);width:max-content;background:var(--deep);color:white;padding:15px 24px;border-radius:12px;box-shadow:0 4px 30px #14362430;z-index:50;font-size:.85rem;opacity:0;pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}.loading{padding:70px 0;text-align:center}
@media(max-width:950px){.hero{grid-template-columns:1fr 1fr;gap:20px}.hero-art{min-height:370px}.floating{font-size:2.4rem;padding:8px 12px}.floating.farm{left:4px}.floating.support{right:4px}.table-scene{height:130px}.dish{font-size:5rem}.hero-actions{display:grid}.grid,.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{align-items:stretch;flex-direction:column}.search-label{max-width:none}.steps-intro{gap:12px}.steps-intro article{padding:15px}.offer-form{grid-template-columns:1fr}.section-title{align-items:start}}
@media(max-width:640px){.demo-banner{font-size:.64rem;padding:7px 12px;line-height:1.6}.site-header{padding:17px 18px;flex-wrap:wrap;gap:16px}.brand{font-size:1.25rem;gap:7px}.brand-icon{font-size:2rem}.brand small{font-size:.5rem}nav{width:100%;gap:0;justify-content:space-between}nav a{font-size:.76rem;min-height:44px;display:flex;align-items:center}nav a:last-child{padding:10px 19px}main{padding:0 20px}.hero{grid-template-columns:1fr;margin-top:23px;gap:18px}.hero h1{font-size:2.7rem}.hero-copy{font-size:.88rem}.hero-art{min-height:330px;margin-top:0}.art-note{top:26px}.floating.farm{left:15px;top:75px}.floating.support{right:15px;top:68px}.table-scene{width:80%;margin-top:80px}.table-caption{bottom:22px}.sprout{font-size:3rem}.hero-actions{display:grid}.button{font-size:.85rem;padding:14px 18px}.stats{padding:20px 0;margin-top:35px;margin-bottom:48px}.stats strong{font-size:2rem}.stats strong span{font-size:.72rem;margin-left:4px}.stats p{font-size:.61rem;padding:0 6px}.section-title{display:block}.section-title>.small{display:block;margin-top:10px}section{margin:35px 0 48px}.steps-intro,.grid,.story-grid{grid-template-columns:1fr}.steps-intro article{padding:20px;background:#f0f1e5;border-radius:12px}.steps-intro article>span{font-size:1.3rem}.org-art{height:180px}.story-art{height:180px}.section-head{padding:32px 0 0}.section-head h1{font-size:1.8rem}.section-head .eyebrow{font-size:.65rem}.section-head p:last-child{font-size:.83rem}.filters{padding:18px;gap:18px}.filter-buttons{gap:7px}.chip{font-size:.72rem;padding:9px 12px}.profile{grid-template-columns:1fr;gap:25px;margin-top:25px}.profile-art{min-height:230px;font-size:6rem}.profile h1{font-size:1.8rem}.about-panel{padding:23px}.actor-bar{display:grid;grid-template-columns:1fr;padding:20px;gap:15px}.actor-bar a{padding:0}.notice.inline{font-size:.73rem;padding:14px}.offer-form{padding:20px;gap:15px}.offer-form h2{font-size:1.3rem}.offer-form label{font-size:.76rem}select{font-size:.88rem}.deal-card{padding:20px}.deal-title{gap:12px}.deal-title h3{font-size:1rem}.food-mini{font-size:2.4rem}.progress li{font-size:.6rem}.role-hint{gap:14px;align-items:start}.role-hint>span{font-size:2.6rem}.role-hint h2{font-size:1.3rem}.quote{padding:14px}.quote strong{font-size:.94rem}.deal-action>.button{width:100%}footer{padding:35px 20px;margin-top:50px}.fine{font-size:.67rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
