/* Shared navigation and standalone pages, based on the reference's page hierarchy. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.inner-page{background:#000;color:var(--linen)}
.header{position:relative}.header .brand{position:absolute;left:50%;transform:translateX(-50%)}
.menu-layout{padding:2vw 7vw 4vw;grid-template-columns:1.1fr 1fr;gap:6vw}
.menu-layout nav{gap:14px}.menu-layout nav a{font-size:clamp(30px,3.6vw,58px)}
.menu-layout nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.menu-aside img{height:52vh;border-radius:12px}.menu-aside p{margin:18px 0}
.site-footer{color:var(--linen)}.site-footer a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.rounded-page{background:var(--linen);color:var(--ink);border-radius:22px;overflow:hidden}
.subpage-heading{text-align:center;padding:100px 5vw 70px}
.page-title{font:400 clamp(44px,5.8vw,92px)/1.4 var(--ko);letter-spacing:-.03em}
.latin-title{font:400 clamp(66px,13.5vw,220px)/1.02 var(--serif);letter-spacing:-.035em}
.page-lead{font:400 clamp(20px,2.2vw,34px)/1.7 var(--ko);margin:30px auto;max-width:900px}
.small-note{font:400 14px/1.8 var(--ui);color:#68645f}
.text-link{display:inline-block;font:500 14px/1.7 var(--ui);border-bottom:1px solid;padding:8px 0;margin-top:16px}
.process-link{display:block;width:max-content;margin:24px auto 0}
.page-ending{text-align:center;padding:65px 25px 85px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.solid-button,.outline-button{display:block;text-align:center;width:100%;padding:17px 22px;font:500 15px/1.5 var(--ui);min-height:54px;cursor:pointer}
.solid-button{background:#191919;color:var(--linen);border:1px solid #191919}.solid-button:hover{background:#3d3831}
.outline-button{border:1px solid #888;background:transparent;margin-top:15px}.outline-button:hover{background:#e4dcd2}
.breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:400 13px/1.6 var(--ui);margin-bottom:44px}
.breadcrumb a{border-bottom:1px solid #aba49a}
.story-opening{text-align:center;padding:40px 4vw 80px}
.memory-stack{height:60vw;max-height:690px;position:relative;margin:auto;max-width:1100px}
.memory-stack img{position:absolute;width:35%;height:69%;object-fit:cover;top:12%;box-shadow:0 12px 50px #0006;border:10px solid #d5c8b9;transition:transform 1s var(--ease)}
.memory-stack img:nth-child(1){left:16%;transform:rotate(-12deg)}.memory-stack img:nth-child(2){left:36%;top:8%;transform:rotate(6deg)}.memory-stack img:nth-child(3){left:52%;top:18%;transform:rotate(-4deg)}
.memory-stack:hover img:nth-child(1){transform:rotate(-15deg) translateX(-15px)}.memory-stack:hover img:nth-child(3){transform:rotate(5deg) translateX(15px)}
.story-narrative{padding:0 8vw 80px;text-align:center}
.story-narrative>p{font:400 clamp(28px,4vw,62px)/1.85 var(--ko);letter-spacing:-.025em;max-width:1200px;margin:50px auto 130px}
.story-landscape{margin:0 auto 120px;max-width:1150px}.story-landscape img{width:100%;max-height:720px;object-fit:cover}.story-landscape figcaption{font-size:12px;color:#aaa;margin:15px}.story-end .oval{margin:10px}
.process-shell{position:relative;isolation:isolate}.process-shell:before{content:'';position:absolute;inset:0;background:url('assets/rice-engraving.png') center top/100% auto repeat-y;opacity:.1;z-index:-1}
.process-steps{max-width:900px;margin:auto;padding:0 36px}.process-card{border:1px solid #a79c91;border-radius:20px;background:#f1ebe6d9;padding:55px 50px;margin-bottom:65px;text-align:center}.step-index{font:400 18px var(--serif)}
.process-card h2{font:400 clamp(26px,3.5vw,48px)/1.5 var(--ko);margin:20px 0}.process-card p{font:400 18px/1.9 var(--ui);max-width:640px;margin:0 auto 35px}.process-card img{width:100%;max-height:420px;object-fit:cover;border-radius:12px}
.illustrated{position:relative;isolation:isolate}.illustrated:before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/rice-engraving.png') center/cover;opacity:.15}
.category-nav{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;padding:22px 25px 45px;font-size:15px}.category-nav a{padding:7px 0}.category-nav a[aria-current]{border-bottom:1px solid}
.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px 4vw;padding:30px 5vw}.listing-card{min-width:0}.listing-photo{display:block;overflow:hidden;border-radius:4px}.listing-photo img{width:100%;aspect-ratio:1;object-fit:contain;transition:transform .8s var(--ease)}.listing-photo:hover img{transform:scale(1.035)}
.listing-caption{text-align:center;padding:20px 8px}.listing-caption h2{font:600 25px/1.5 var(--ko);margin-bottom:10px}.listing-caption p{font-size:17px}.listing-caption .text-link{margin-top:10px}
.listing-note{text-align:center;margin:30px 25px}
.product-layout{display:grid;grid-template-columns:56% 44%;align-items:stretch}.product-visual{position:relative;background:#e5ddd3;border-right:1px solid #938a80;padding:5vw 2.5vw;display:flex;align-items:flex-start;justify-content:center}.product-visual>img{position:sticky;top:35px;width:100%;object-fit:contain;max-height:90vh}
.product-info{padding:65px 4vw}.product-info .page-title{font-size:clamp(36px,4.4vw,70px);margin:20px 0 36px}.product-info .eyebrow{margin-bottom:10px}.product-description{font-size:18px;line-height:1.9;margin:20px 0 40px}.product-meta{padding:22px 0;border-top:1px solid #9c9289;display:flex;justify-content:space-between;gap:20px;font-size:14px}.product-meta strong{font-weight:500}
.detail-price{font:500 32px/1.5 var(--ui);margin:24px 0 8px}.detail-price small{font-size:18px;margin-left:8px}.purchase-row{display:flex;gap:15px;margin:30px 0 0}.quantity-control{display:flex;border:1px solid #888;align-items:center;flex:none}.quantity-control button{width:38px;height:54px}.quantity-control input{width:40px;text-align:center;appearance:textfield;background:none;border:0;color:var(--ink);font:400 16px var(--ui)}.quantity-control input::-webkit-inner-spin-button{appearance:none}.purchase-row>.solid-button{flex:1;padding-inline:12px}
.detail-accordions{margin-top:45px}.detail-accordions details{border-top:1px solid #a3988d;padding:22px 0}.detail-accordions summary{font:500 16px var(--ui);cursor:pointer}.detail-accordions p{font:400 16px/1.85 var(--ui);margin-top:20px}
.related-section{background:var(--linen);color:var(--ink);padding:90px 0 0;border-radius:22px;margin-top:22px}.related-section>.eyebrow,.related-section>h2{text-align:center}.related-section>h2{font:400 42px/1.5 var(--ko);margin:10px 0 35px}
.contact-layout{display:grid;grid-template-columns:56% 44%}.contact-visual{overflow:hidden}.contact-visual img{height:100%;width:100%;object-fit:cover;object-position:30% center}.contact-form-wrap{padding:60px 4vw}.contact-form-wrap .page-title{font-size:clamp(36px,4vw,65px)}.contact-form-wrap .page-lead{font-size:24px;margin:26px 0 40px}.contact-form-wrap label{display:block;font-size:14px;margin:20px 0}.contact-form-wrap label span{color:#777}.contact-form-wrap input,.contact-form-wrap textarea{display:block;width:100%;border:1px solid #c2b7aa;border-radius:3px;background:transparent;padding:12px;font:400 16px/1.5 var(--ui);margin-top:7px}.contact-form-wrap textarea{resize:vertical}.contact-form-wrap .small-note{margin-top:15px}.contact-form-wrap address{font:400 15px/1.9 var(--ui);margin-top:45px}.contact-form-wrap [hidden]{display:none}
.table-list{padding-bottom:100px}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0 5vw}.editorial-grid img{aspect-ratio:1;object-fit:cover;width:100%;margin-bottom:25px}.editorial-grid span{font-size:13px}.editorial-grid h2{font:400 27px/1.5 var(--ko);margin:15px 0}.editorial-grid p{font-size:16px;color:#bbb}
.recipe-article>.breadcrumb{padding:35px 5vw;margin:0}.recipe-article .page-title{font-size:clamp(34px,4.5vw,68px)}.recipe-cover{width:80%;max-height:680px;object-fit:cover;margin:auto}.recipe-steps{max-width:840px;margin:65px auto;padding:0 60px;font:400 22px/1.9 var(--ko)}.recipe-steps li{padding:20px 0}
.information-page{min-height:70vh;padding-bottom:40px}.information-copy,.checkout-content{max-width:900px;margin:auto;padding:0 35px}.information-copy h2{font:600 28px/1.5 var(--ko);margin:45px 0 18px}.information-copy p{font:400 18px/1.9 var(--ui)}.information-copy>.oval{margin:40px 0}
.cart-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,100%);height:100svh;max-height:100svh}.cart-inner{padding:10px 32px 40px}.cart-inner h2{font:400 38px/1.5 var(--ko);margin:10px 0 30px}.cart-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;padding:24px 0;border-bottom:1px solid #b4a99e}.cart-item img{width:100%;aspect-ratio:1;object-fit:contain}.cart-item>div>a:first-child{font:600 19px/1.5 var(--ko)}.cart-item p{font-size:14px;margin:12px 0}.cart-item-controls{display:flex;align-items:center;gap:16px;font-size:14px}.cart-item-controls button{min-width:32px;min-height:36px;border-bottom:1px solid #aaa}.cart-total{display:flex;justify-content:space-between;margin:30px 0 14px;font-size:18px}.cart-total strong{font-weight:500}.cart-inner>.solid-button{margin-top:25px}.empty-selection{padding:45px 0}.checkout-content .cart-item{grid-template-columns:140px minmax(0,1fr)}
@media(max-width:700px){
 .menu-layout{display:block;padding:20px 26px 40px}.menu-layout nav{gap:15px}.menu-layout nav a{font-size:31px}.menu-layout small{font-size:12px;display:inline;margin-left:12px}.menu-aside{display:none}
 .rounded-page{border-radius:16px}.subpage-heading{padding:65px 22px 45px}.page-title{font-size:39px;letter-spacing:-.035em}.page-lead{font-size:21px}.latin-title{font-size:17vw}.small-note{font-size:13px}
 .story-opening{padding:20px 18px 40px}.memory-stack{height:80vw;margin:15px 0 40px}.memory-stack img{width:42%;height:67%;border-width:5px}.memory-stack img:nth-child(1){left:5%}.memory-stack img:nth-child(2){left:28%}.memory-stack img:nth-child(3){left:49%}.story-narrative{padding:0 22px 40px}.story-narrative>p{font-size:24px;margin:30px 0 70px;line-height:1.95}.story-landscape{margin:0 0 70px}.story-landscape img{min-height:300px;object-fit:cover}
 .process-steps{padding:0 20px}.process-card{padding:30px 22px;margin-bottom:30px}.process-card h2{font-size:27px}.process-card p{font-size:16px}.process-card img{max-height:260px}
 .category-nav{gap:12px 20px;padding:10px 20px 30px;font-size:13px}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 18px;padding:20px}.listing-caption{padding:15px 0}.listing-caption h2{font-size:19px}.listing-caption p{font-size:15px}.listing-caption .text-link{font-size:13px}.page-ending{padding:45px 20px 65px;gap:15px}
 .product-layout,.contact-layout{display:block}.product-visual{padding:25px;border:0;border-bottom:1px solid #b4a99e}.product-visual>img{position:static;max-height:440px}.product-info{padding:35px 24px 45px}.breadcrumb{font-size:12px;gap:8px;margin-bottom:30px}.product-info .page-title{font-size:37px}.product-description{font-size:16px}.product-meta{font-size:13px}.quantity-control button{width:34px}.quantity-control input{width:32px}.purchase-row{gap:10px}.related-section{padding-top:65px}.related-section>h2{font-size:30px}
 .contact-visual{height:62vw;max-height:400px}.contact-form-wrap{padding:35px 24px 50px}.contact-form-wrap .page-title{font-size:37px}.contact-form-wrap .page-lead{font-size:22px}
 .editorial-grid{grid-template-columns:1fr;padding:0 24px;gap:50px}.editorial-grid h2{font-size:24px}.recipe-cover{width:100%;max-height:400px}.recipe-steps{padding:0 35px 0 55px;font-size:20px;margin:35px 0}.recipe-article .page-title{font-size:32px}
 .information-copy,.checkout-content{padding:0 24px}.information-copy h2{font-size:25px}.information-copy p{font-size:16px}.cart-inner{padding:0 24px 35px}.cart-item,.checkout-content .cart-item{grid-template-columns:80px minmax(0,1fr);gap:15px}.cart-item>div>a:first-child{font-size:17px}.cart-total{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.memory-stack img{transition:none}}
