@font-face{font-family:'Zen Maru Gothic';src:url('assets/fonts/ZenMaruGothic-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Zen Maru Gothic';src:url('assets/fonts/ZenMaruGothic-Bold.ttf') format('truetype');font-weight:500 900;font-display:swap}
:root{--paper:#f4f1e7;--green:#163c2a;--lime:#d4df8b;--line:#163c2a30;--gutter:clamp(22px,5vw,88px);--serif:'Zen Maru Gothic','Hiragino Maru Gothic ProN',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--green);font-family:'Zen Maru Gothic','Hiragino Maru Gothic ProN',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,.scene:focus-visible,summary:focus-visible{outline:3px solid #a16b2d;outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}button{border:0;background:none}h2{font:500 clamp(29px,3.3vw,49px)/1.65 var(--serif);letter-spacing:.03em}.eyebrow,.micro{font:11px/1.5 Arial,sans-serif;letter-spacing:.16em}.skip{position:fixed;top:-100px;padding:12px;background:var(--green);color:white;z-index:100}.skip:focus{top:8px}.header{margin:0 var(--gutter);height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.65;letter-spacing:.1em}.brand b{font-size:14px}.brand-mark{display:grid;place-items:center;background:var(--green);color:var(--paper);width:44px;height:44px;border-radius:50%;font:25px var(--serif)}nav{display:flex;gap:40px;font-size:12px}nav a:hover,.text-link:hover{opacity:.65}nav span{margin-left:20px}.demo-label{font:9px Arial,sans-serif;letter-spacing:.1em;opacity:.65}.hero{position:relative;padding:60px var(--gutter) 0;display:grid;grid-template-columns:46% 54%;min-height:760px}.hero-copy{position:relative;z-index:2}.dot{display:inline-block;width:7px;height:7px;background:#688c42;border-radius:50%;margin-right:9px}h1{font:600 clamp(52px,6.3vw,98px)/1.28 var(--serif);letter-spacing:-.045em;margin:26px 0}h1>span{color:#557044}.hero-desc{font-size:13px;line-height:2.1;margin-bottom:30px}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);color:var(--paper);padding:16px 23px;border-radius:99px;font-size:12px;transition:background .25s,transform .25s;min-height:52px}.pill span{font:21px Arial}.pill:hover{background:#375e39;transform:translateY(-2px)}.hero-art{position:relative;min-width:0;display:flex;align-items:center;justify-content:center}.scene{position:absolute;inset:-40px -4vw 0 -5vw;touch-action:pan-y;cursor:grab;z-index:2}.scene:active{cursor:grabbing}.scene canvas{width:100%;height:100%;display:block}.scene-fallback{position:absolute;width:88%;height:75%;top:10%;left:6%;border-radius:50%;object-fit:cover}.scene.is-ready .scene-fallback{display:none}.orbit{position:absolute;border:1px solid var(--line);width:92%;aspect-ratio:1;border-radius:50%;top:8%;pointer-events:none}.orbit-two{width:75%;top:17%;opacity:.5}.art-label{position:absolute;top:8px;right:16px;font:10px Arial;letter-spacing:.22em}.round-seal{position:absolute;z-index:3;right:-6px;top:60px;border-radius:50%;width:118px;height:118px;background:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);outline:1px solid #163c2a60;outline-offset:-7px;pointer-events:none}.round-seal strong{font:500 22px/1.25 var(--serif);margin:7px 0}.round-seal small{font-size:8px;letter-spacing:.08em}.scene-controls{position:absolute;bottom:12px;left:0;right:0;z-index:3;display:flex;justify-content:center;align-items:center;gap:15px;font:9px Arial;letter-spacing:.1em}.scene-controls button{font-size:10px;border:1px solid var(--line);padding:8px 13px;border-radius:30px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;padding:45px 0 24px;font:9px Arial;letter-spacing:.16em}.ticker{overflow:hidden;background:var(--green);color:var(--lime);padding:18px 0;white-space:nowrap}.ticker>div{width:max-content;animation:marquee 45s linear infinite;font:500 clamp(16px,2vw,26px) Arial;letter-spacing:.09em}.ticker i{font-style:normal;margin:0 38px}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:100px var(--gutter)}.section-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-bottom:55px}.section-top>span{font-size:11px}.story-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin-bottom:65px}.story-copy em{font-style:normal;color:#67814c}.story-copy p+p{margin-top:20px}.editorial{position:relative}.editorial>img{width:100%;height:clamp(340px,48vw,690px)}.photo-word{position:absolute;bottom:80px;left:40px;color:white;text-shadow:0 2px 25px #0007;font:italic clamp(32px,5.5vw,80px)/1.05 Georgia,serif;letter-spacing:-.04em}.editorial figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:14px;font-size:9px;letter-spacing:.06em}.pairing{background:var(--green);color:var(--paper)}.pairing .section-top{border-color:#ffffff35}.pairing-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.pairing-head p{opacity:.8}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:65px}.feature-grid article{position:relative;border-top:1px solid #ffffff45;padding-top:20px}.feature-number{font:12px Arial;opacity:.6}.feature-symbol{height:145px;display:flex;align-items:center;font:110px Georgia;color:var(--lime)}.pepper-symbol{font-size:150px}.feature-grid h3{font:500 22px var(--serif);margin:15px 0}.feature-grid p{font-size:12px;max-width:29em;opacity:.8;min-height:85px}.micro{display:block;font-size:9px;opacity:.6;margin-top:23px}.yokan-symbol{gap:9px;transform:rotate(-12deg);padding-left:10px}.yokan-symbol i{display:block;width:48px;height:58px;background:var(--lime);box-shadow:9px 9px 0 #869659;transform:skewY(10deg)}.product{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.product-visual{position:relative;height:650px;overflow:hidden;background:#e8e1d2}.product-visual img{height:100%;width:100%;object-position:58% center}.visual-caption{position:absolute;bottom:20px;left:22px;background:var(--paper);padding:6px 12px;font:8px Arial;letter-spacing:.13em}.product-info h2{margin:20px 0 30px}.product-name{font-size:16px;font-weight:bold}.product dl{margin:25px 0 15px}.product dl>div{display:grid;grid-template-columns:85px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.product dt{font-size:11px;opacity:.7}.product dd{margin:0;font-size:12px}.product dd strong{font:30px Georgia}.small{font-size:10px;line-height:1.8;opacity:.75}.product .pill{margin-top:27px}.text-link{display:block;width:fit-content;padding:8px 0;margin-top:12px;font-size:11px;border-bottom:1px solid currentColor;text-align:left}.case-study{background:#e4e8d6;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.case-study h2{font-size:clamp(28px,3vw,43px);margin-top:23px}.case-study p+p{margin-top:15px}.case-study>div>p:not(.eyebrow){font-size:12px}.capabilities{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.capabilities span{font:8px Arial;letter-spacing:.07em;border:1px solid var(--line);border-radius:25px;padding:8px 11px}#copy-status{min-height:20px;margin-top:8px}.case-study details{font-size:10px;max-width:440px}.case-study summary{cursor:pointer;min-height:35px}.case-study details p{padding:15px;border:1px solid var(--line)}.footer{padding:50px var(--gutter) 25px;background:var(--green);color:var(--paper)}.footer-top{display:flex;align-items:center;gap:35px;font-size:11px}.footer-top .brand{margin-right:auto}.footer .brand-mark{background:var(--paper);color:var(--green)}.footer button{padding:12px 15px;border:1px solid #fff5;border-radius:30px;font-size:11px;min-height:44px}.footer-word{font:700 clamp(50px,15.3vw,240px)/1.2 Arial;letter-spacing:-.07em;margin:35px 0 20px;color:var(--lime)}.footer-bottom{border-top:1px solid #fff3;padding-top:20px;display:flex;justify-content:space-between;gap:30px;font-size:9px;opacity:.65}.reveal{transition:opacity .8s,translate .8s}.reveal.pending{opacity:0;translate:0 24px}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important}.scene-controls [hidden]{display:none}
@media(min-width:1650px){.hero{min-height:900px}.scene{inset:-25px -25px 0 -45px}}
@media(max-width:950px){.demo-label{display:none}.hero{min-height:680px}.hero-copy .eyebrow{font-size:9px}h1{font-size:65px}.round-seal{width:95px;height:95px;right:-10px}.round-seal strong{font-size:18px}.section{padding:70px var(--gutter)}.story-copy{gap:30px}.story-copy p{font-size:12px}.feature-grid{gap:25px}.product-visual{height:580px}.pairing-head p{font-size:12px}}
@media(max-width:640px){.header{height:90px}.brand-mark{width:36px;height:36px;font-size:22px}.brand b{font-size:12px}.brand{font-size:9px;gap:8px}nav{gap:10px;font-size:10px}nav a:first-child{display:none}nav span{margin-left:8px}.hero{padding-top:35px;grid-template-columns:1fr;min-height:0}.hero-copy .eyebrow{font-size:8px;letter-spacing:.12em}h1{font-size:clamp(43px,12vw,64px);line-height:1.25;margin:20px 0}h1>span{white-space:nowrap}.hero-desc{font-size:11px;margin-bottom:22px}.pill{font-size:11px;min-height:48px;padding:13px 20px}.hero-art{height:380px;margin-top:15px}.scene{inset:-15px -20px -10px}.orbit{width:87%;top:0}.orbit-two{width:70%;top:8%}.art-label{top:10px;right:auto;left:0;font-size:8px}.round-seal{top:45px;right:0;width:88px;height:88px}.round-seal small{font-size:6px}.round-seal strong{font-size:18px}.scene-controls{bottom:0;font-size:8px;gap:9px}.hero-bottom{padding-top:22px;font-size:7px;gap:15px}.hero-bottom>a{white-space:nowrap;font-size:7px}.ticker{padding:15px 0}.ticker i{margin:0 24px}.section{padding:58px var(--gutter)}.section-top{margin-bottom:30px}.section-top>span{font-size:9px}.eyebrow{font-size:9px}.story-copy{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.story-copy p{line-height:2.1}.editorial{margin:0 calc(-1 * var(--gutter))}.editorial>img{height:410px;object-position:55% center}.photo-word{left:23px;bottom:85px;font-size:44px}.editorial figcaption{padding:0 var(--gutter);flex-direction:column;font-size:7px;gap:5px}.pairing-head{display:block}.pairing-head p{margin-top:20px}.feature-grid{grid-template-columns:1fr;margin-top:40px;gap:30px}.feature-grid article{padding-left:105px;min-height:160px}.feature-number{position:absolute;left:0;top:16px}.feature-symbol{position:absolute;left:0;top:30px;width:80px;height:95px;font-size:65px}.pepper-symbol{font-size:95px}.yokan-symbol{gap:4px;padding-left:0}.yokan-symbol i{width:20px;height:31px;box-shadow:4px 4px 0 #869659}.feature-grid h3{font-size:19px;margin-top:9px}.feature-grid p{min-height:0;font-size:11px}.micro{margin-top:15px;font-size:8px}.product{grid-template-columns:1fr;gap:35px}.product-visual{height:360px}.product-info h2{margin:18px 0 22px}.product dl>div{grid-template-columns:65px 1fr}.case-study{grid-template-columns:1fr;gap:30px}.footer{padding-top:35px}.footer-top{gap:15px;flex-wrap:wrap}.footer-top .brand{width:100%}.footer-top>a:last-child{margin-left:auto}.footer-word{font-size:15vw;margin:25px 0}.footer-bottom{flex-direction:column;gap:15px;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker>div{animation:none}.reveal{transition:none}}

/* Pop direction: round type, transparent still life, soft organic shapes. */
:root{--paper:#fff9e9;--green:#22553b;--lime:#e2ed99;--pink:#f5d1ca;--line:#22553b25}
.header{border-bottom:0}.brand-mark{border-radius:43% 57% 51% 49%;rotate:-8deg}.brand b{font-weight:700}
h1{font-weight:700;font-size:clamp(52px,6vw,92px);letter-spacing:-.055em;line-height:1.32}h1>span{color:#49884b;position:relative;white-space:nowrap}h1>span::after{content:'';position:absolute;left:0;right:0;bottom:2%;height:13%;background:var(--lime);border-radius:50%;z-index:-1;rotate:-2deg}
h2{font-weight:700;line-height:1.6;letter-spacing:-.035em}.hero-desc{font-size:14px}.hero-copy>.eyebrow{background:#e9edcf;width:fit-content;padding:9px 13px;border-radius:30px;letter-spacing:.08em}
.hero-art::before{content:'';position:absolute;inset:11% 0 12%;border-radius:48% 52% 65% 35% / 48% 42% 58% 52%;background:#e7edba;rotate:-13deg}
.orbit-one{width:96%;border:2px dashed #94ae7150;rotate:15deg}.orbit-two{display:none}.art-label{rotate:6deg;font-weight:bold}.round-seal{background:var(--pink);outline:none;border:3px solid var(--paper);box-shadow:3px 5px 0 #22553b12}.round-seal strong{font-weight:700}.scene-fallback{object-fit:contain;border-radius:0;filter:drop-shadow(0 15px 12px #283e1920)}
.pill{font-weight:700;box-shadow:0 5px 0 #153521;transition:transform .2s,box-shadow .2s}.pill:hover{transform:translateY(3px);box-shadow:0 2px 0 #153521}.ticker{background:var(--lime);color:var(--green);border-radius:50% 50% 0 0 / 12px 12px 0 0}.ticker>div{font-weight:700}.ticker i{color:#ec927d}
.section-top{border-top:0}.section-top>.eyebrow{border:1px solid currentColor;border-radius:30px;padding:8px 15px}.story-copy{margin-bottom:20px}.story-copy em{color:#4d874a}.story-copy p{font-size:15px}
.editorial{isolation:isolate;min-height:640px;margin-top:25px;display:grid;grid-template-columns:1fr 1.65fr;align-items:center;padding:10px 15px 40px}
.editorial::before{content:'';position:absolute;inset:5% 0 12%;background:var(--pink);border-radius:42% 58% 42% 58% / 55% 43% 57% 45%;z-index:-1;rotate:-3deg}
.editorial::after{content:'✳';position:absolute;right:3%;top:14%;font:90px Arial;color:#eeaa55;rotate:15deg;z-index:-1}
.editorial>img{grid-column:2;grid-row:1;width:100%;height:auto;max-height:640px;object-fit:contain;transform:rotate(-7deg);filter:drop-shadow(0 24px 12px #42231422)}
.photo-word{position:relative;grid-column:1;grid-row:1;left:auto;bottom:auto;color:var(--green);text-shadow:none;font:700 clamp(30px,4.1vw,60px)/1.65 var(--serif);letter-spacing:-.07em;transform:rotate(-7deg);padding-left:35px;white-space:nowrap}.photo-word span{display:inline-block;background:var(--paper);border-radius:50px;padding:0 15px}
.pop-note{position:absolute;left:45%;top:9%;background:var(--paper);padding:13px 24px;border-radius:50% 50% 50% 10%;rotate:-10deg;font-size:17px;font-weight:700;z-index:2}
.editorial figcaption{grid-column:1/-1;position:absolute;left:20px;right:20px;bottom:0;margin:0;font-size:9px}
.pairing{position:relative;border-radius:70px 70px 0 0}.pairing::before{content:'';position:absolute;top:-13px;left:calc(50% - 35px);width:70px;height:26px;border-radius:50%;background:var(--lime);rotate:-8deg}.feature-grid article{border:1px solid #ffffff35;border-radius:35px;padding:27px;background:#ffffff07}.feature-grid h3{font-weight:700;font-size:21px}.feature-symbol{height:125px}.feature-number{background:var(--lime);color:var(--green);border-radius:50%;padding:8px;opacity:1}.feature-grid p{font-size:13px}.yokan-symbol i{border-radius:7px}.yokan-symbol{margin-top:0}
.product-visual{height:auto;min-height:540px;overflow:visible;background:transparent;display:grid;place-items:center;isolation:isolate}.product-visual::before{content:'';position:absolute;inset:9% -2% 10%;background:#e7edba;border-radius:52% 48% 41% 59% / 40% 58% 42% 60%;rotate:8deg;z-index:-1}.product-visual::after{content:'✳';position:absolute;left:4%;bottom:12%;color:#efa48d;font:75px Arial;z-index:-1}.product-visual img{height:auto;width:110%;max-width:110%;object-fit:contain;transform:rotate(8deg);filter:drop-shadow(0 18px 10px #32422120)}.product-sticker{position:absolute;top:7%;left:1%;z-index:2;padding:17px 21px;background:var(--pink);border:3px solid var(--paper);border-radius:50%;font-size:17px;font-weight:700;line-height:1.5;rotate:-13deg}.visual-caption{bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:20px;background:none}.product dd strong{font-family:var(--serif);font-weight:700}.case-study{background:#f6e8c8;border-radius:70px 70px 0 0}.capabilities span{background:var(--paper)}.footer-word{font-family:'Zen Maru Gothic',sans-serif;letter-spacing:-.075em;font-weight:700}.section{overflow:clip}
@media(min-width:641px) and (max-width:950px){h1{font-size:clamp(43px,6vw,58px)}.hero{grid-template-columns:49% 51%}.hero-copy>.eyebrow{font-size:8px;padding:8px}.story-copy h2{font-size:29px}.editorial{min-height:480px}.photo-word{font-size:32px;padding-left:15px}.pop-note{font-size:13px}.feature-grid{gap:15px}.feature-grid article{padding:20px}.feature-grid h3{font-size:17px}.product-visual{min-height:400px}}
@media(max-width:640px){h1{font-size:clamp(40px,11.6vw,64px);line-height:1.4;letter-spacing:-.06em}.hero-copy>.eyebrow{font-size:8px;padding:8px 10px}.hero-desc{font-size:12px}.hero-art::before{inset:9% 1% 13%}.hero-art{height:365px}.art-label{top:5px;font-size:7px}.round-seal{top:30px}.round-seal strong{font-size:17px}.story-copy p{font-size:13px}.section-top>.eyebrow{font-size:8px;padding:7px 11px}.section-top>span{font-size:9px}.editorial{min-height:0;display:flex;flex-direction:column;margin:30px -10px 0;padding:45px 0 65px}.editorial::before{inset:3% 0 10%;border-radius:45% 55% 42% 58% / 42% 48% 52% 58%}.editorial>img{width:105%;max-width:105%;height:auto;max-height:none;margin-top:-28px;transform:rotate(-7deg)}.photo-word{order:-1;align-self:flex-start;font-size:30px;line-height:1.4;padding-left:28px;z-index:2}.pop-note{left:auto;right:5px;top:21%;font-size:11px;padding:10px 13px;rotate:10deg}.editorial::after{font-size:55px;top:8%;right:10%}.editorial figcaption{left:5px;right:5px;bottom:0;padding:0;font-size:7px;line-height:1.6}.pairing,.case-study{border-radius:40px 40px 0 0}.feature-grid article{padding:25px 18px 25px 106px;min-height:190px;border-radius:28px}.feature-number{left:18px;top:16px;font-size:10px;padding:5px}.feature-symbol{left:18px;top:58px;height:80px;width:72px}.feature-grid h3{font-size:18px}.feature-grid p{font-size:12px}.yokan-symbol i{border-radius:4px}.product-visual{min-height:330px}.product-visual img{width:107%;max-width:107%}.product-sticker{font-size:13px;padding:12px 16px;top:0}.product-visual::after{font-size:50px}.visual-caption{font-size:7px}.footer-word{font-size:14.5vw}.product-info .pill{gap:18px}}
.hero{overflow:clip}

/* Product movie replaces the real-time 3D scene. */
.hero-cutout{position:relative;width:112%;max-width:none;z-index:2;pointer-events:none;rotate:-8deg}
.hero-cutout img{width:100%;height:auto;filter:drop-shadow(0 24px 15px #263d2225)}
.hero-film-link{position:absolute;bottom:12px;z-index:3;border-radius:40px;background:var(--paper);padding:10px 20px;font-size:12px;font-weight:700;box-shadow:0 3px 0 #22553b20}
.hero-film-link span{margin-left:15px}.film{margin:50px auto 0;max-width:1120px;scroll-margin-top:30px}.film-heading{display:flex;align-items:center;justify-content:space-between;padding:0 30px 25px}.film-heading h3{font:700 clamp(25px,3vw,40px)/1.5 var(--serif);rotate:-4deg}.film-sticker{font-size:15px;font-weight:700;line-height:1.5;padding:22px 26px;border-radius:47% 53% 44% 56%;background:var(--pink);rotate:10deg}.film-screen{position:relative;border-radius:60px 90px 60px 90px;overflow:hidden;background:#e5e8c4;box-shadow:0 12px 0 #e5eacb;isolation:isolate;aspect-ratio:16/9}.film-screen video,.film-fallback{display:block;width:100%;height:100%;object-fit:contain}.film-screen [hidden]{display:none}.film-toggle{position:absolute;bottom:20px;right:22px;padding:12px 20px;min-height:44px;border-radius:30px;background:var(--paper);color:var(--green);font-size:12px;font-weight:700;box-shadow:0 2px 12px #0002}.film-toggle:focus-visible{outline-offset:-5px}.film figcaption{margin-top:25px;display:flex;justify-content:space-between;gap:12px;font-size:10px}.film-download{font-size:10px}.film #film-status:empty{display:none}
@media(max-width:640px){.hero-cutout{width:106%;rotate:-6deg}.hero-film-link{bottom:0;font-size:11px}.film{margin-top:30px}.film-heading{padding:0 8px 20px}.film-sticker{font-size:11px;padding:15px 19px}.film-screen{border-radius:28px 40px 28px 40px;box-shadow:0 7px 0 #e5eacb}.film-toggle{bottom:10px;right:10px;min-height:44px;padding:8px 13px;font-size:10px}.film figcaption{flex-direction:column;gap:5px;font-size:9px;margin-top:20px}}
