:root{--paper:#f8f7f2;--ink:#252b27;--muted:#6b7068;--line:#dcded4;--accent:#923d2e;--beige:#eee7da;color-scheme:light;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Be Vietnam Pro',sans-serif;font-size:14px;line-height:1.8}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:0}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:'Noto Serif',serif;font-weight:400}h1,h2,h3{line-height:1.3;letter-spacing:-.035em}.wrap{width:calc(100% - 36px);max-width:1320px;margin-inline:auto}.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase}.skip{position:fixed;top:-100px;background:var(--ink);color:white;padding:15px;z-index:20}.skip:focus{top:0}.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.brand-crop{width:37px;height:71px;position:relative;overflow:hidden;display:block}.brand-crop img{position:absolute;width:205px;max-width:none;left:0;top:-2px}.header-section{font-size:11px}.text-button{padding:10px 0;background:transparent;border-bottom:1px solid currentColor;font-size:12px;text-align:left}.header-shop{font-size:11px}.intro{padding-top:49px}.intro h1{font-size:clamp(36px,8.6vw,78px);margin:24px 0 27px;line-height:1.32}.intro h1 em{color:var(--muted);font-style:normal}.intro-bottom{display:flex;flex-direction:column;gap:25px;margin-bottom:34px}.intro-bottom p{color:var(--muted);font-size:13px;max-width:530px}.start-link{font-size:12px;display:flex;align-items:center;gap:30px}.start-link span{font-size:26px}.opening-image{position:relative;overflow:hidden;background:#222725}.opening-image img{display:block;width:100%;min-height:245px;object-fit:cover}.opening-image figcaption{position:absolute;bottom:18px;left:18px;color:#fff;font-size:10px;letter-spacing:.17em;line-height:2}.chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:25px;margin-bottom:45px}.chapter-nav a{padding:12px 10px;border:1px solid var(--line);font-size:11px}.chapter-nav a:hover{background:var(--beige)}.chapter{padding:45px 0 20px;border-top:1px solid var(--line);scroll-margin-top:25px}.chapter-heading{display:flex;gap:22px;margin-bottom:32px}.chapter-number{font:italic 24px 'Noto Serif',serif;color:var(--accent);min-width:25px;padding-top:3px}.chapter-heading h2{font-size:34px;margin:14px 0}.chapter-heading>div>p:last-child{color:var(--muted);font-size:12px;max-width:450px}.chapter-grid,.support-cards{display:grid;gap:24px}.visual-card{display:block;min-width:0;scroll-margin-top:25px}.card-image{overflow:hidden;background:#e7e3d9}.card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.16,1,.3,1)}.hero-card .card-image{aspect-ratio:4/5}.card-copy{position:relative;background:var(--paper);margin:-37px 14px 0 0;padding:20px 14px 12px 0;transition:background .4s}.card-copy h3{font-size:29px;margin:13px 0}.card-copy>p{color:var(--muted);font-size:13px;max-width:430px}.card-action{display:inline-flex;gap:22px;font-size:11px;margin-top:22px;border-bottom:1px solid var(--line);padding-bottom:5px}.small-card{display:grid;grid-template-columns:40% 1fr;gap:17px;align-items:start}.small-card .card-image{aspect-ratio:3/4}.small-card .card-copy{margin:0;padding:0;background:transparent}.small-card h3{font-size:23px;margin:8px 0}.small-card .card-copy>p{font-size:12px}.small-card .card-action{margin-top:13px;gap:10px}.visual-card:hover .card-image img,.visual-card:focus-visible .card-image img{transform:scale(1.05)}.visual-card:hover .card-copy{background:var(--beige)}.product-tease{border-top:1px solid var(--line);margin-top:25px;padding:25px 0;display:grid;gap:14px}.product-tease>p{font:400 22px/1.6 'Noto Serif',serif;max-width:680px}.product-tease .text-button{justify-self:start}.term{background:transparent;font:inherit;border-bottom:1px dotted var(--accent);padding:2px;color:var(--accent)}.term span{font:10px 'Be Vietnam Pro',sans-serif;border:1px solid currentColor;border-radius:50%;display:inline-flex;width:15px;height:15px;align-items:center;justify-content:center;vertical-align:middle}.chapter-encounter{display:grid;grid-template-columns:68px 1fr;gap:18px;margin:30px 0 36px;padding:25px 0;border-top:1px solid var(--line)}.chapter-encounter svg{width:68px;height:64px;fill:none;stroke:var(--line);stroke-width:2}.chapter-encounter .map-route{stroke:var(--accent)}.chapter-encounter circle{fill:var(--accent);stroke:var(--paper);stroke-width:3}.chapter-encounter .eyebrow{font-size:8px}.chapter-encounter p{font-size:12px;margin:5px 0}.chapter-encounter small{font-size:10px;color:var(--muted)}.chapter-encounter button{grid-column:2;justify-self:start}.process-intro{margin:65px 0 30px}.process-intro h3{font-size:30px;margin:14px 0 22px}.process-intro>p:last-child{max-width:550px;color:var(--muted)}.process-layout{display:grid;gap:35px}.process-art img{display:block;width:100%;max-height:330px;object-fit:cover;transition:opacity .3s;opacity:var(--image-opacity,1)}.process-art figcaption{font-size:11px;margin-top:13px}.process-art figcaption span{color:var(--muted)}.process-timeline{list-style:none;padding:0 0 0 36px;margin:0}.process-step{position:relative;border-left:1px solid var(--line);padding:0 0 40px 32px;min-height:240px}.process-step:before{content:'';position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .8s}.process-step.is-seen:before{transform:scaleY(1)}.step-dot{position:absolute;top:0;left:-17px;background:var(--paper);color:var(--muted);font-size:11px;width:33px;height:33px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;z-index:1}.is-seen .step-dot{color:var(--accent);border-color:var(--accent)}.process-step svg{width:80px;height:80px;fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.process-step svg>*{stroke-dasharray:400;stroke-dashoffset:0}.js .process-step:not(.is-seen) svg>*{stroke-dashoffset:400}.process-step.is-seen svg>*{animation:draw 1.8s ease both}@keyframes draw{from{stroke-dashoffset:400}to{stroke-dashoffset:0}}.process-step h4{font-size:24px;margin:12px 0}.process-step p{font-size:13px;color:var(--muted);max-width:460px}.term-strip{display:flex;gap:15px;flex-wrap:wrap;padding:28px 0}.term-strip p{width:100%;color:var(--muted)}.closing{padding:55px 0 70px;border-top:1px solid var(--line)}.closing h2{font-size:42px;margin:22px 0 30px}.solid-button{display:inline-block;background:var(--ink);color:#fff;padding:15px 21px;font-size:12px;border:1px solid var(--ink)}.solid-button:hover{background:#424b41}.closing>a{display:block;margin-top:24px;font-size:12px;text-decoration:underline;text-underline-offset:5px}.sources{border-top:1px solid var(--line);padding:30px 0;font-size:11px;color:var(--muted)}.sources h2{font:400 12px 'Be Vietnam Pro',sans-serif;margin-bottom:12px}.sources a{display:block;margin:8px 0;text-decoration:underline;text-underline-offset:4px}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px;padding:28px 0;border-top:1px solid var(--line);font-size:11px}.site-footer p{width:100%;color:var(--muted);order:3}.sheet{position:fixed;border:0;background:var(--paper);color:var(--ink);padding:48px 25px 30px;max-height:90dvh;overflow:auto;width:100%;max-width:650px;box-shadow:0 -8px 60px #0002;overscroll-behavior:contain}.sheet::backdrop{background:#20262088;backdrop-filter:blur(3px)}.sheet[open]{animation:sheet-in .45s cubic-bezier(.16,1,.3,1)}@keyframes sheet-in{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.term-sheet,.experience-sheet{margin:auto auto 0;inset:auto 0 0;border-radius:16px 16px 0 0}.sheet h2{font-size:35px;margin:18px 0 25px}.sheet p:not(.eyebrow){font-size:14px;line-height:1.9;margin-bottom:24px}.sheet>a:not(.solid-button){font-size:12px;text-decoration:underline;text-underline-offset:5px;display:inline-block;margin-top:22px}.close-button{position:absolute;right:15px;top:12px;width:44px;height:44px;font-size:30px;font-weight:400;background:transparent;line-height:1}.drawer{inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;max-width:510px}.drawer[open]{animation:drawer-in .6s cubic-bezier(.16,1,.3,1)}@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-image{width:100%;height:auto;margin-bottom:25px}.drawer h3{font-size:25px;margin-bottom:16px}.drawer .solid-button{display:block;text-align:center}.experience-sheet iframe{display:block;width:100%;height:220px;border:0;margin:20px 0;background:#e4e5dc}.experience-sheet .venue-status{color:var(--muted);font-size:12px}.experience-sheet>a{margin-right:20px}
@media(min-width:700px){.wrap{width:calc(100% - 80px)}.intro{padding-top:75px}.intro-bottom{flex-direction:row;justify-content:space-between;align-items:end}.opening-image img{max-height:530px}.opening-image figcaption{left:35px;bottom:30px}.chapter-nav{display:flex;gap:10px;margin-bottom:70px}.chapter-nav a{padding:12px 20px}.chapter-heading h2{font-size:46px}.chapter-heading{gap:40px}.chapter-number{font-size:35px;min-width:55px}.chapter{padding-top:65px}.chapter-grid{grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:40px}.reverse .hero-card{grid-column:2;grid-row:1}.reverse .support-cards{grid-column:1;grid-row:1}.reverse .chapter-grid{grid-template-columns:minmax(0,35fr) minmax(0,65fr)}.small-card{display:block}.small-card .card-image{aspect-ratio:4/3}.small-card .card-copy{margin:-22px 10px 0 0;padding:15px 10px 8px 0;background:var(--paper)}.small-card h3{font-size:25px}.hero-card .card-image{aspect-ratio:4/5;max-height:700px}.hero-card .card-copy{margin-top:-55px;padding-top:28px;margin-right:30px}.hero-card h3{font-size:clamp(32px,3.8vw,52px)}.support-cards{gap:35px;align-content:start}.chapter-encounter{grid-template-columns:95px 1fr auto;align-items:center;gap:25px}.chapter-encounter button{grid-column:3}.chapter-encounter svg{width:95px}.chapter-encounter .eyebrow{font-size:10px}.chapter-encounter p{font-size:14px}.process-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start}.process-art{position:sticky;top:10vh}.process-art img{max-height:600px;min-height:380px;object-fit:cover}.process-step{min-height:290px;padding-left:45px}.process-intro h3{font-size:42px}.closing h2{font-size:65px}.site-footer p{width:auto;order:0}.term-sheet{margin:auto;inset:0;border-radius:0}.experience-sheet{margin:auto;inset:0;border-radius:0}.sheet{padding:55px 40px 40px}.term-strip p{width:auto}.product-tease{grid-template-columns:1fr auto;align-items:center;padding:30px 0}.product-tease .eyebrow{grid-column:1/-1}.product-tease>p{font-size:25px}}
@media(min-width:1100px){.wrap{width:calc(100% - 112px)}.site-header{padding:30px 0}.header-section,.header-shop{font-size:13px}.intro{padding-top:90px}.intro h1{font-size:80px}.intro-bottom p{font-size:15px}.chapter-grid{gap:64px}.chapter-heading{margin-bottom:50px}.chapter-heading h2{font-size:54px}.chapter-heading>div>p:last-child{font-size:14px}.chapter{padding-top:85px}.hero-card .card-image{aspect-ratio:1}.process-layout{gap:100px}.product-tease{padding:35px}.closing{padding:80px 0 100px}}
@media(hover:hover) and (pointer:fine){.card-action{opacity:.55;transition:opacity .4s}.visual-card:hover .card-action,.visual-card:focus-visible .card-action{opacity:1}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .process-step svg>*{stroke-dashoffset:0!important}.process-art img{opacity:1}}
/* Library cover and responsive editorial interactions. */
.wrap{width:calc(100% - 48px)}.library-header{position:fixed;inset:0 0 auto;z-index:10;color:white;transition:background .3s,color .3s;backdrop-filter:blur(0)}.library-header>.wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;height:72px}.library-header .text-button{color:inherit;border:0;min-height:44px}.library-header nav{display:none}.library-brand{font-size:15px;letter-spacing:.12em}.library-brand span{margin-left:7px;letter-spacing:0}.library-header.scrolled{background:#f8f7f2ed;color:var(--ink);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.menu-toggle span{margin-left:5px}.cinematic-hero{height:100svh;min-height:580px;max-height:1300px;position:relative;overflow:hidden;background:#1e2623;color:white}.hero-background{position:absolute;width:100%;height:100%;object-fit:cover;animation:hero-breathe 24s ease-in-out infinite alternate;filter:brightness(.7)}@keyframes hero-breathe{from{transform:scale(1)}to{transform:scale(1.055)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0005,transparent 25%,#0009 85%)}.hero-caption{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:120px;align-items:flex-start}.hero-caption .eyebrow{margin-bottom:24px}.hero-caption h1{font-size:36px;line-height:1.45;position:relative;max-width:800px;z-index:1}.hero-caption>p:not(.eyebrow){font-size:14px;margin:22px 0 26px;color:#f0eee7;max-width:300px}.hero-caption>a{font-size:11px;border-bottom:1px solid #fff8;padding-bottom:12px;display:flex;gap:20px}.hero-kanji{position:absolute;top:28%;right:20px;font:55px serif;opacity:.12;writing-mode:vertical-rl;letter-spacing:.22em;transition:opacity 1s}.hero-caption:hover .hero-kanji{opacity:.28}.hero-folio{position:absolute;bottom:90px;right:25px;font:11px 'Courier New',monospace;letter-spacing:.2em}.flavor-section{padding-top:85px;padding-bottom:40px}.flavor-section>header h2{font-size:36px;line-height:1.4;margin:20px 0}.flavor-section>header>p:last-child{font-size:14px;color:var(--muted);margin-bottom:35px}.flavor-matrix{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--line);background:radial-gradient(ellipse at center,#ece6d7,transparent 65%);margin:0 auto;max-width:500px}.matrix-lines{position:absolute;inset:17%;border:1px solid var(--line);border-radius:50%;background:linear-gradient(90deg,transparent 49.7%,var(--line) 50%,transparent 50.3%),linear-gradient(transparent 49.7%,var(--line) 50%,transparent 50.3%)}.matrix-lines:before{content:'';position:absolute;inset:22%;border:1px solid var(--line);border-radius:50%}.axis{position:absolute;font-size:9px;color:var(--muted);letter-spacing:.1em}.axis.top{top:12px;left:50%;transform:translateX(-50%)}.axis.bottom{bottom:12px;left:50%;transform:translateX(-50%)}.axis.left{left:9px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%)}.axis.right{right:9px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%)}.flavor-point{position:absolute;left:28%;top:27%;width:17px;height:17px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 10px #923d2e13,0 0 0 23px #923d2e08;transform:translate(-50%,-50%);transition:left .7s,top .7s}.matrix-caption{position:absolute;bottom:35px;left:0;right:0;text-align:center;font:22px 'Noto Serif',serif}.matrix-note{font-size:11px;color:var(--muted);margin:16px 0 28px}.meal-stories{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:15px}.meal-story{flex:0 0 90%;scroll-snap-align:center;border-top:1px solid var(--line);padding:25px 8px 25px 0;min-height:280px}.meal-story h3{font-size:32px;margin:20px 0 15px}.meal-story .meal-tag{font-style:italic;color:var(--accent);margin-bottom:12px}.meal-story p{font-size:14px;color:var(--muted)}.meal-story button{margin-top:20px}.meal-story.is-current{border-color:var(--accent)}.mood-stories{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;margin:45px 0 0;padding-bottom:15px}.mood-stories>a{position:relative;isolation:isolate;flex:0 0 87%;min-height:365px;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;color:white;background:#26332e;overflow:hidden}.mood-stories>a:before{content:'';z-index:-1;position:absolute;inset:0;background:linear-gradient(transparent,#000b),url('sanran-guide-origins-tochigi.webp') center/cover;transition:transform 1s}.mood-stories>a:nth-child(2):before{background-image:linear-gradient(transparent,#000b),url('tonoike-sanran-story.webp')}.mood-stories>a:nth-child(3):before{background-image:linear-gradient(transparent,#000b),url('sanran-guide-sake-history-warm-cup.webp')}.mood-stories>a:hover:before{transform:scale(1.05)}.mood-stories span{font-size:10px;letter-spacing:.08em}.mood-stories h3{font-size:32px;margin:16px 0}.mood-stories p{font-size:13px;margin-bottom:30px}.chapter-nav a{border-radius:0}.chapter{padding-top:70px;margin-bottom:80px;scroll-margin-top:90px}.chapter-heading h2{font-size:36px;line-height:1.4}.chapter-grid{align-items:start}.hero-card .card-copy{margin-top:-45px}.card-copy h3{line-height:1.4}.support-cards{padding-top:20px}.rice-widget{display:grid;gap:25px;background:#eee9df;padding:30px 22px;margin-top:55px;transition:background .3s}.rice-widget h3{font-size:30px;line-height:1.4;margin:18px 0}.rice-widget p{font-size:14px}.rice-demo{display:flex;align-items:center;justify-content:center}.rice-demo svg{width:65%;max-width:240px}.rice-outline{fill:none;stroke:#b5a68e;stroke-dasharray:3 5}.rice-demo #rice-grain{transform-origin:110px 100px;transform:scale(.837);transition:transform .15s}.rice-demo #rice-grain ellipse{fill:#fffdf8;stroke:#c4b69b;stroke-width:1.5}.rice-demo #rice-grain path{fill:none;stroke:#e7e1d3;stroke-width:2}.rice-value output{display:block;font:42px 'Courier New',monospace}.rice-value span{font-size:11px}.rice-control label{display:block;font-size:12px;margin-bottom:14px}.rice-control input{width:100%;height:44px;accent-color:var(--accent);cursor:ew-resize}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:20px}.rice-control small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:16px}.rice-class{margin-top:13px;color:var(--accent)}.rice-control a{display:inline-block;font-size:12px;border-bottom:1px solid currentColor;margin-top:22px}.label-widget{display:grid;gap:35px;margin:65px 0}.sample-label{position:relative;border:1px solid #c8bd9f;padding:25px;background:#f1ecdc;text-align:center;max-width:330px;margin:auto;width:100%;box-shadow:inset 0 0 0 9px var(--paper)}.label-name{font:76px serif;display:block;margin:25px 0;letter-spacing:.12em}.label-term{display:block;font:28px serif;background:none;padding:12px;width:100%;border-top:1px solid #c8bd9f}.label-term span{display:block;font:10px 'Be Vietnam Pro',sans-serif;margin-top:7px}.label-term:hover,.label-term:focus-visible{background:#e0d6be}.label-widget h3,.region-shortcuts h3,.temperature-widget h3{font-size:29px;line-height:1.45;margin:18px 0}.label-widget p{font-size:14px}.label-widget small{display:block;font-size:11px;color:var(--muted);margin-top:18px}.label-inline{display:none}.region-shortcuts{padding:30px 0}.region-shortcuts>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.region-shortcuts a{font-size:12px;border:1px solid var(--line);padding:11px 17px;border-radius:30px}.temperature-widget{display:grid;grid-template-columns:minmax(0,1fr) 75px;gap:20px;margin-top:60px;padding:28px 20px;background:#e6eef0;transition:background .5s}.temperature-widget p{font-size:14px;margin-bottom:22px}.temperature-widget a{font-size:12px;border-bottom:1px solid}.temperature-widget small{grid-column:1/-1;font-size:11px;color:var(--muted)}.thermometer{display:flex;align-items:center;flex-direction:column;gap:18px;justify-content:center}.thermometer label{font-size:10px;text-align:center}.thermometer input{writing-mode:vertical-lr;direction:rtl;height:210px;width:44px;accent-color:#607f8a;cursor:ns-resize}.thermometer output{font:24px 'Courier New',monospace}.glossary-search label{font:28px 'Noto Serif',serif;display:block;margin-bottom:22px}.search-field{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--ink);padding:10px 0}.search-field span{font-size:32px}.search-field input{width:100%;font:16px 'Be Vietnam Pro',sans-serif;background:transparent;color:var(--ink);border:0;padding:12px 0;min-width:0}.glossary-search>.eyebrow{margin:22px 0}.glossary-result{border-bottom:1px solid var(--line);padding:22px 0}.glossary-result h3{font-size:24px;margin-bottom:12px}.glossary-result p{font-size:14px;color:var(--muted)}.glossary-search>a{display:inline-block;font-size:12px;border-bottom:1px solid;margin-top:25px}.workshop-bridge{background:#242b44;color:#f8f7f2;padding:75px 0;margin-bottom:60px}.workshop-bridge h2{font-size:35px;line-height:1.45;margin:22px 0}.workshop-bridge p:not(.eyebrow){max-width:560px;font-size:14px;color:#d3d5df;margin-bottom:30px}.workshop-bridge button{color:inherit}.menu-drawer details{border-bottom:1px solid var(--line);padding:17px 0}.menu-drawer summary{font-size:15px;cursor:pointer;min-height:35px}.menu-drawer details a{display:block;font-size:13px;margin:14px 0 14px 20px}.menu-drawer details>a:first-of-type{color:var(--accent)}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:8;display:flex;justify-content:space-around;align-items:center;background:#f8f7f2f2;border-top:1px solid var(--line);backdrop-filter:blur(12px);padding:8px 16px calc(8px + env(safe-area-inset-bottom))}.mobile-dock a,.mobile-dock button{min-height:44px;padding:12px 8px;font-size:12px;background:none}.site-footer{padding-bottom:100px}.reading-progress{display:none}.drawer:not(.menu-drawer){inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:70dvh;height:auto;border-radius:16px 16px 0 0}.drawer:not(.menu-drawer)[open]{animation:sheet-in .6s cubic-bezier(.16,1,.3,1)}.drawer-image{max-height:220px;object-fit:cover}.solid-button{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:12px 0}.solid-button:hover{background:transparent;color:var(--accent)}
@media(min-width:800px){.wrap{width:calc(100% - 100px)}.hero-caption{justify-content:center;padding-top:80px;padding-bottom:0}.hero-caption h1{font-size:56px;line-height:1.4}.hero-caption>p:not(.eyebrow){max-width:500px;font-size:16px}.hero-caption>a{margin-top:25px}.hero-kanji{right:14%;top:25%;font-size:90px}.hero-folio{bottom:45px;right:50px}.library-header>.wrap{height:90px}.library-header nav{display:flex;gap:25px;font-size:11px}.menu-toggle{display:none}.library-brand{font-size:18px}.flavor-section{padding-top:130px}.flavor-section>header h2{font-size:50px}.flavor-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.flavor-sticky{position:sticky;top:120px}.meal-stories{display:block;overflow:visible;padding:0}.meal-story{min-height:350px;padding:50px 0}.meal-story h3{font-size:40px}.meal-story p{font-size:16px}.mood-stories{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr)}.mood-stories>a{min-height:400px}.chapter{margin-bottom:160px;padding-top:90px}.chapter-heading h2{font-size:50px}.chapter-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:0}.hero-card{grid-column:1/6}.support-cards{grid-column:7/13;padding-top:0}.reverse .chapter-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.reverse .hero-card{grid-column:8/13}.reverse .support-cards{grid-column:1/7}.hero-card .card-image{aspect-ratio:3/4}.hero-card h3{font-size:32px}.small-card{display:grid;grid-template-columns:38% 1fr;gap:25px}.small-card .card-image{aspect-ratio:3/4}.small-card .card-copy{margin:0;padding:10px 0;background:none}.card-copy>p,.small-card .card-copy>p{font-size:14px}.support-cards{gap:40px}.rice-widget{grid-template-columns:1fr 1fr;gap:40px;padding:45px;margin-top:80px}.rice-widget>div:first-child{grid-column:1/-1}.rice-widget h3{font-size:36px}.rice-widget>div:first-child>p:last-child{max-width:600px}.rice-demo svg{width:70%;max-width:300px}.label-widget{grid-template-columns:1fr 1fr;gap:90px;align-items:center;margin:110px 0}.label-widget h3{font-size:32px}.label-inline{display:block;position:relative;margin-top:25px;min-height:145px;padding:22px 0 0;border-top:1px solid var(--accent)}.label-inline:before{content:'';position:absolute;right:100%;top:-1px;width:75px;border-top:1px solid var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s}.label-inline.active:before{transform:scaleX(1)}.label-inline h4{font-size:25px;margin:0 0 12px}.label-inline p{font-size:14px;color:var(--muted)}.temperature-widget{padding:45px;grid-template-columns:1fr 140px}.temperature-widget h3{font-size:36px}.temperature-widget p{font-size:16px}.thermometer input{height:240px}.glossary-search{max-width:850px}.glossary-search label{font-size:36px}.glossary-result p{font-size:16px}.workshop-bridge{padding:120px 0}.workshop-bridge h2{font-size:50px}.workshop-bridge p:not(.eyebrow){font-size:16px}.mobile-dock{display:none}.site-footer{padding-bottom:40px}.reading-progress{position:fixed;right:15px;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:20px;z-index:6;font:10px 'Courier New',monospace;mix-blend-mode:difference;color:#fff}.progress-track{height:100px;width:1px;background:#fff6}.progress-track i{display:block;width:2px;height:0;background:white}.drawer:not(.menu-drawer){inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;max-width:480px;width:35vw;min-width:360px;border-radius:0;background:#f8f7f2f5;backdrop-filter:blur(18px)}.drawer:not(.menu-drawer)[open]{animation:drawer-in .6s cubic-bezier(.16,1,.3,1)}.drawer-image{max-height:none}.chapter-nav{justify-content:space-between}.chapter-nav a{font-size:12px}.chapter-encounter{margin-top:55px}.closing h2{font-size:50px}}
@media(prefers-reduced-motion:reduce){.hero-background{animation:none}.flavor-point{transition:none}}
@media(min-width:800px){:root{--paper:#fbfbfa;--ink:#1a1a1a;--muted:#626262;--line:#e6e4de;--accent:#1b2a4a;--beige:#f5f4f0;--gold:#c5a059}body,button,.label-term span,.search-field input{font-family:Inter,'Be Vietnam Pro',sans-serif}body{font-size:16px;line-height:1.6}h1,h2,h3,h4,.matrix-caption,.glossary-search label,.product-tease>p{font-family:'Playfair Display','Noto Serif',serif}.hero-caption h1{font-size:56px;font-weight:500}.chapter-heading h2{font-size:50px;font-weight:500}.card-copy h3,.hero-card h3{font-size:30px;font-weight:500}.small-card h3{font-size:28px}.card-copy>p,.small-card .card-copy>p,.label-widget p,.process-step p{font-size:16px;line-height:1.6}.eyebrow,.hero-folio,.reading-progress,.rice-value output,.thermometer output,.chapter-number{font-family:'Courier New',monospace}.card-action,.text-button,.chapter-nav a{font-size:13px;font-weight:500;letter-spacing:.03em}.workshop-bridge{background:#1b2a4a}.flavor-point{background:#1b2a4a;box-shadow:0 0 0 10px #1b2a4a14,0 0 0 23px #1b2a4a09}.visual-card:hover .card-action,.text-button:hover{color:#866524;border-color:#c5a059}.label-term:hover,.label-term:focus-visible{background:#d4b26f30}.label-inline{border-color:#c5a059}.label-inline:before{border-color:#c5a059}.rice-widget{background:#fbfbfa;border:1px solid var(--line)}.rice-demo #rice-grain ellipse{stroke:#1a1a1a}.rice-class{padding:14px;background:#d4b26f20;box-shadow:0 0 25px #d4b26f10}.library-header.scrolled,.mobile-dock{background:#fbfbfaed}.process-art figcaption,.matrix-note{line-height:1.6}.mood-stories>a>span:last-child{border-bottom:1px solid #c5a059;padding-bottom:8px;width:max-content}}
.rice-editorial{max-width:800px;margin:70px auto 0;padding:35px 0;color:var(--ink)}.rice-editorial>.eyebrow{color:#98742f;letter-spacing:2px;margin-bottom:16px}.rice-editorial h3{font-size:32px;line-height:1.4;margin-bottom:12px}.rice-editorial .editorial-deck{font-family:'Noto Serif',serif;font-style:italic;font-size:22px;line-height:1.6;color:#555;margin-bottom:32px}.rice-editorial>p:not(.eyebrow):not(.editorial-deck){font-size:14px;line-height:1.8;margin-bottom:24px}.rice-editorial .editorial-cta{font-size:12px;letter-spacing:.05em;display:inline-block;border-bottom:1px solid #d4b26f;padding-bottom:5px;margin-top:22px}.editorial-cta span{color:#98742f;margin-left:8px}.rice-editorial small{display:block;color:var(--muted);font-size:10px;margin-top:28px}.rice-editorial small a{text-decoration:underline;text-underline-offset:3px}#rice-range{scroll-margin-top:130px}@media(min-width:800px){.rice-editorial{padding:80px 40px;margin-top:100px}.rice-editorial h3{font-size:42px;font-weight:600;line-height:1.2}.rice-editorial .editorial-deck{font-family:'Playfair Display','Noto Serif',serif;font-size:24px;margin-bottom:40px}.rice-editorial>p:not(.eyebrow):not(.editorial-deck){font-size:16px;line-height:1.8}.rice-editorial .editorial-cta{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-top:24px}.rice-editorial>.eyebrow{color:#98742f;font-size:12px}}
/* Cinematic opening and chapter reading spread. */
video.hero-background{animation:none;filter:none;inset:0;object-position:center}.hero-shade{background:linear-gradient(90deg,#0c1113ad,#0c111340 65%,#0c11131f),linear-gradient(180deg,#0005,transparent 28%,#0004)}.hero-kanji{pointer-events:none}.film-toggle{position:absolute;bottom:86px;left:24px;z-index:2;background:transparent;color:#fff;border:1px solid #ffffff65;border-radius:30px;padding:10px 16px;min-height:44px;font-size:12px;cursor:pointer}.film-toggle:hover{background:#ffffff18}.rice-feature{margin:36px 0 65px}.rice-feature-media{margin:0}.rice-feature-media img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}.rice-feature-media figcaption{font:10px/1.7 'Courier New',monospace;letter-spacing:.04em;color:var(--muted);padding-top:14px}.rice-feature .rice-editorial{margin:0;padding:36px 0 0}.rice-feature .rice-widget{margin-top:36px}
@media(min-width:800px){.cinematic-hero{height:100vh;height:100svh;max-height:none}.hero-caption{padding-top:90px;padding-bottom:90px}.hero-caption h1{max-width:780px;font-size:clamp(44px,4.5vw,72px);line-height:1.3;text-shadow:0 2px 30px #0002}.hero-caption .eyebrow{letter-spacing:.22em}.hero-kanji{left:22%;right:auto;top:27%;font-size:clamp(90px,10vw,160px);writing-mode:horizontal-tb;opacity:.045;filter:blur(.5px)}.hero-caption:hover .hero-kanji{opacity:.15}.film-toggle{left:max(50px,calc((100vw - 1320px)/2));bottom:38px}.reading-progress{right:24px;bottom:38px;gap:16px}.rice-feature{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,4vw,64px);align-items:start;margin:50px 0 110px}.rice-feature-media{position:sticky;top:115px}.rice-feature-media img{height:min(72vh,850px);aspect-ratio:auto;object-position:45% center}.rice-feature .rice-editorial{padding:0;max-width:none}.rice-feature .rice-editorial h3{font-size:clamp(32px,3vw,42px);line-height:1.3}.rice-feature .rice-editorial .editorial-deck{font-size:22px;margin-bottom:25px}.rice-feature .rice-editorial>p:not(.eyebrow):not(.editorial-deck){line-height:1.75;margin-bottom:20px}.rice-feature .rice-editorial .editorial-cta{font-size:11px;margin-top:6px}.rice-feature .rice-editorial small{margin-top:18px}.rice-feature .rice-widget{grid-template-columns:1fr;gap:18px;padding:26px;margin-top:36px}.rice-feature .rice-widget h3{font-size:28px;margin:12px 0}.rice-feature .rice-demo svg{max-width:150px}.rice-feature .rice-value output{font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero-kanji{transition:none}}
@media(max-width:799px){.hero-caption{padding-bottom:168px}}
.chapter-film{position:relative}.chapter-film video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.chapter-film .film-toggle{left:18px;bottom:18px;background:#0006}.hero-shade{background:linear-gradient(90deg,#0c111399,#0c111320 65%,#0c111310),linear-gradient(180deg,#0004,transparent 28%,#0003)}@media(min-width:800px){.chapter-film video{height:min(72vh,850px);aspect-ratio:auto;object-position:45% center}}
