@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--cream:#f6f3ec;--ink:#342921;--muted:#797368;--line:#dcd6cb;--accent:#98805c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',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{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid #a47b41;outline-offset:6px}img{display:block;width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:'Noto Serif JP',serif;font-weight:500}h2{font-size:clamp(28px,3vw,43px);line-height:1.7;letter-spacing:.08em}p{letter-spacing:.04em}header{height:102px;display:flex;align-items:center;padding:0 4%;gap:36px;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:5}.logo{font-family:Georgia,serif;font-size:34px;letter-spacing:-1.6px;line-height:1.05;white-space:nowrap}.logo i{font-weight:400}.logo small{display:block;font-family:'Noto Sans JP',sans-serif;font-size:9px;letter-spacing:.2em;margin-top:8px}nav{display:flex;gap:28px;margin-left:auto;font-size:12px;font-weight:500}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--ink);transition:.2s}nav a:hover:after{width:100%}.nav-contact{padding:12px 19px;background:var(--ink);color:white;font-size:11px}.nav-contact span{margin-left:24px}.menu{display:none}.hero{display:grid;grid-template-columns:49% 51%;min-height:680px}.hero-copy{padding:70px 6% 28px 8%;display:flex;flex-direction:column}.eyebrow,.section-label{font-size:10px;letter-spacing:.16em;font-weight:500}.hero .eyebrow{display:flex;align-items:center;gap:12px}.eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--accent)}h1{font-size:clamp(35px,3.65vw,60px);line-height:1.65;letter-spacing:.025em;margin-top:48px;white-space:nowrap}.italic{position:relative}.italic:after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:7px;border-top:1px solid var(--accent);border-radius:50%}.hero-desc{margin-top:29px;line-height:2.2;color:#6f675d;font-size:13px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:17px 25px;font-size:12px;transition:background .2s,transform .2s;width:max-content;max-width:100%}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:var(--cream)}.dark:hover{background:#65513f}.hero .button{margin:34px 0 55px}.hero-bottom{margin-top:auto;display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.12em;color:var(--muted)}.hero-photo{position:relative;overflow:hidden;background:#362a22;min-height:550px}.hero-photo>img{height:100%;position:absolute;object-fit:cover;object-position:center;filter:brightness(.85);animation:scalein 1.5s ease-out}.photo-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(21,15,11,.75),transparent 70%)}.hero-caption{position:absolute;bottom:54px;left:9%;color:white}.hero-caption small{font-size:9px;letter-spacing:.19em}.hero-caption p{font-family:Georgia,serif;font-style:italic;font-size:clamp(38px,4.5vw,69px);line-height:1.06;margin:20px 0}.hero-caption>span{font-size:10px;letter-spacing:.08em}.round-link{position:absolute;bottom:55px;right:8%;color:white;border:1px solid #ffffff77;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-size:25px}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:40px;padding:22px 0;border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;color:#82705a}.ribbon span{font-size:10px;letter-spacing:.18em}.ribbon span:nth-of-type(2){font-size:26px;font-family:Georgia,serif;letter-spacing:-1px;font-style:italic}.ribbon i{font-size:21px}.section{padding:96px 7%}.section-label{color:#8e775a;margin-bottom:42px}.about-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.about-heading p{color:#746c61;font-size:13px;line-height:2.3;margin-bottom:20px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:60px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:12px}.signature{display:grid;grid-template-columns:1fr 1fr;background:#eae5db;min-height:550px}.signature-photo{position:relative;background:#eee9e0;display:flex;align-items:center;justify-content:center;overflow:hidden}.signature-photo img{width:82%;max-height:480px;object-fit:contain;mix-blend-mode:multiply;transition:transform .7s}.signature-photo:hover img{transform:scale(1.035)}.vertical{position:absolute;left:30px;top:45px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em}.signature-copy{padding:72px 14%;position:relative}.signature-copy .eyebrow{color:#86715d}.serif-big{position:absolute;right:6%;top:85px;writing-mode:vertical-rl;font-family:'Noto Serif JP',serif;font-size:17px;letter-spacing:.2em;color:#8e806f}.signature-copy h2{font-size:43px;line-height:1.65;margin:28px 0}.signature-copy p:not(.eyebrow){font-size:12px;line-height:2.3;color:#756c5e}.signature-copy .text-link{margin-top:24px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:38px}.section-top p{font-size:12px;color:var(--muted);margin-top:15px}.collection-mark{font-family:Georgia,serif;font-size:38px;line-height:1.1;color:#a28d70}.filters{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:22px}.filters button{padding:10px 22px;border:1px solid var(--line);border-radius:24px;font-size:11px;transition:.2s}.filters button:hover{border-color:var(--ink)}.filters .active{background:var(--ink);border-color:var(--ink);color:white}.count{font-size:10px;color:var(--muted);text-align:right;margin:12px 0 20px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 24px}.product{padding:0;text-align:left;display:block;width:100%}.product-image{height:260px;overflow:hidden;background:#eeebe4;position:relative;display:flex;align-items:center;justify-content:center}.product-image img{width:87%;height:86%;object-fit:contain;mix-blend-mode:multiply;transition:transform .45s}.product:hover img{transform:scale(1.06)}.product-image .plus{position:absolute;right:15px;bottom:15px;border-radius:50%;border:1px solid #b7ac9e;width:31px;height:31px;display:grid;place-items:center;font-size:17px;line-height:1;transition:.2s}.product:hover .plus{background:var(--ink);color:white}.product small{font-size:9px;letter-spacing:.08em;color:var(--accent);display:block;margin-top:16px}.product h3{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:500;margin-top:5px;line-height:1.6}.product p{font-size:10px;color:var(--muted);margin-top:6px}.bulk{margin-top:58px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.bulk .eyebrow{color:var(--accent)}.bulk h3{font-family:'Noto Serif JP',serif;font-size:23px;font-weight:500;margin:10px 0}.bulk p{font-size:12px;color:var(--muted)}.outline{border:1px solid #b4a793}.note{font-size:10px;line-height:1.9;color:var(--muted);margin-top:20px}.business{background:var(--ink);color:#f5f0e7}.business .section-label{color:#b4a081}.business .section-top p{color:#c3b9ad}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.business article{border-top:1px solid #6e6052;padding-top:23px}.business article>span{font-family:Georgia,serif;font-style:italic;font-size:34px;color:#b9a488}.business h3{font-family:'Noto Serif JP',serif;font-size:19px;font-weight:400;margin:17px 0}.business article p{font-size:12px;line-height:2.2;color:#c3b9ad;min-height:85px}.business article a,.business article button{font-size:11px;display:inline-block;margin-top:24px;padding:0 0 8px;border-bottom:1px solid #a18f77}.company{display:grid;grid-template-columns:1fr 1fr;gap:8%}.company p{font-size:12px;margin-top:30px;color:var(--muted)}dl{margin:0}dl>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}dt{color:var(--muted)}dd{margin:0}.contact{background:#e8e1d5}.contact-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.contact h2{font-size:clamp(20px,2.25vw,32px)}.contact-heading p{font-size:13px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:42px}.contact-options>a,.contact-options>div{border-top:1px solid #bcb19f;padding-top:23px;position:relative}.contact-options span,.contact-options small{display:block;font-size:11px}.contact-options strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(25px,3.5vw,46px);letter-spacing:.035em;display:block;margin:4px 0}.contact-options small{color:#746758}.contact-options b{position:absolute;right:5px;top:52px;font-size:30px;font-weight:400}footer{display:flex;align-items:center;gap:40px;padding:46px 7%;}footer>div{display:flex;gap:23px;font-size:10px;margin-left:auto}footer>small{font-size:9px;color:var(--muted)}.back-top{font-size:20px}dialog{border:0;background:var(--cream);color:var(--ink);padding:55px;width:860px;max-width:92vw;max-height:90vh;overflow:auto}dialog::backdrop{background:#201a16bb;backdrop-filter:blur(5px)}.close{position:absolute;right:16px;top:8px;font-size:31px}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.dialog-grid>img{object-fit:contain;max-height:340px;mix-blend-mode:multiply}.dialog-grid h2{font-size:25px;letter-spacing:.02em;margin:16px 0}.dialog-grid p{font-size:12px}.dialog-grid .eyebrow{font-size:10px;color:var(--accent)}.spec{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-top:20px}.dialog-grid .button{margin-top:22px;font-size:11px}.image-fallback{font-family:'Noto Serif JP',serif;text-align:center;padding:20px;color:#968268;font-size:18px}.hero-photo .image-fallback{color:#e1ccad;font-size:40px;padding:120px 30px}.hero-photo:has(.image-fallback){background:radial-gradient(ellipse at 75% 30%,#97724f,#302219)}@keyframes scalein{from{transform:scale(1.06)}to{transform:scale(1)}}@media(min-width:1500px){body{max-width:1800px;margin:auto}.hero{min-height:780px}.hero-copy{padding-top:90px}h1{margin-top:65px}}
@media(max-width:1100px){header{gap:20px;padding:0 4%;height:88px}nav{gap:18px;font-size:10px}.nav-contact{font-size:10px;padding:11px}.nav-contact span{margin-left:6px}.hero{min-height:610px}.hero-copy{padding-top:55px}.hero .eyebrow{font-size:8px}h1{font-size:3.6vw}.hero-bottom{flex-direction:column}.hero-photo{min-height:610px}.signature-copy{padding:60px 12%}.product-image{height:220px}.business-grid{gap:28px}.bulk{align-items:start;flex-direction:column}footer{gap:25px}footer>div{gap:14px}}
@media(max-width:760px){html{scroll-padding-top:85px}header{height:79px;padding:0 6%;gap:16px;position:sticky;top:0}.logo{font-size:29px}.logo small{font-size:8px}.nav-contact{margin-left:auto;padding:9px 12px;font-size:9px}.nav-contact span{display:none}.menu{display:block;font-size:21px;padding:4px}nav{display:none;position:absolute;top:79px;left:0;width:100%;padding:24px 6%;background:var(--cream);border-bottom:1px solid var(--line);font-size:13px}nav.open{display:flex;flex-direction:column;gap:20px}.hero{display:flex;flex-direction:column}.hero-copy{padding:38px 7% 28px}.hero .eyebrow{font-size:8px}h1{font-size:clamp(31px,7.8vw,49px);margin-top:27px;line-height:1.6}.hero-desc{font-size:12px;margin-top:24px}.hero .button{margin:24px 0 30px;font-size:11px;padding:14px 20px}.hero-bottom{flex-direction:row;font-size:7px}.hero-photo{min-height:410px}.hero-photo>img{object-position:center}.hero-caption{bottom:30px;left:7%}.hero-caption p{font-size:46px}.round-link{bottom:32px;right:7%;width:45px;height:45px}.ribbon{padding:15px 0;gap:28px;justify-content:start}.ribbon span{font-size:8px}.ribbon span:nth-of-type(2){font-size:24px}.section{padding:60px 7%}.section-label{font-size:9px;margin-bottom:28px}.about-heading{grid-template-columns:1fr;gap:27px}.about-heading p{font-size:12px}.signature{grid-template-columns:1fr}.signature-photo{min-height:340px}.signature-photo img{max-height:320px;width:85%}.vertical{left:15px;top:25px;font-size:8px}.signature-copy{padding:42px 10% 48px}.signature-copy h2{font-size:35px;margin:24px 0}.serif-big{right:10%;top:45px;font-size:15px}.signature-copy p:not(.eyebrow){font-size:12px}.section-top{align-items:start;gap:15px}.section-top h2{font-size:26px}.collection-mark{display:none}.filters{gap:7px;padding-bottom:18px}.filters button{padding:8px 13px;font-size:10px}.product-grid{grid-template-columns:repeat(2,1fr);gap:28px 14px}.product-image{height:175px}.product h3{font-size:13px}.product small{font-size:8px;margin-top:11px}.product p{font-size:9px}.product-image .plus{width:25px;height:25px;right:9px;bottom:9px;font-size:15px}.bulk{margin-top:38px;padding:26px 0;gap:20px}.bulk h3{font-size:18px}.bulk p{font-size:11px}.bulk .button{font-size:10px;padding:14px}.business .section-top{flex-direction:column}.business-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.business article{position:relative;padding:23px 0 0 48px}.business article>span{position:absolute;left:0;top:19px;font-size:27px}.business h3{margin:0 0 14px;font-size:18px}.business article p{min-height:0}.business article a,.business article button{margin-top:15px}.company{grid-template-columns:1fr;gap:28px}dl>div{grid-template-columns:92px 1fr;font-size:11px}.contact-heading{align-items:start;flex-direction:column;gap:20px}.contact-heading p{font-size:12px}.contact-options{grid-template-columns:1fr;gap:28px;margin-top:30px}.contact-options strong{font-size:37px}.contact-options b{top:39px}.contact-options small{font-size:10px}footer{flex-wrap:wrap;justify-content:space-between;gap:25px;padding:35px 7%}footer>div{order:3;width:100%;margin-left:0;justify-content:space-between}footer>small{order:4}footer .back-top{margin-left:auto}.dialog-grid{grid-template-columns:1fr;gap:22px}dialog{padding:40px 25px 30px}.dialog-grid>img{max-height:230px}.dialog-grid h2{font-size:23px}.desktop{display:none}}
@media(max-width:370px){.nav-contact{display:none}.menu{margin-left:auto}.product-image{height:145px}.hero-bottom{font-size:6px}h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Expanded dessert collection */
.product-details>div{grid-template-columns:88px 1fr;font-size:10px;padding:9px 0}.product-details dd{overflow-wrap:anywhere}.bulk-catalog{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin-top:30px}.bulk-catalog summary{cursor:pointer;font-family:'Noto Serif JP',serif;font-size:19px;padding:15px 0;border-bottom:1px solid var(--line)}.bulk-catalog summary span{font:9px 'Noto Sans JP',sans-serif;letter-spacing:.1em;color:var(--accent);margin-left:15px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}th,td{padding:13px 9px;border-bottom:1px solid var(--line);font-weight:400;white-space:nowrap}thead{color:var(--muted);font-size:10px}.signature-photo>img{width:100%;height:100%;max-height:none;object-fit:cover;mix-blend-mode:normal}.signature-photo .vertical{background:#f6f3ecc9;padding:9px 5px}.product-image img{mix-blend-mode:normal}.dialog-grid>img{mix-blend-mode:normal}.signature-photo{min-height:520px}@media(max-width:760px){.bulk-catalog{grid-template-columns:1fr;gap:20px}.signature-photo{min-height:300px}.signature-photo>img{height:340px}.product-details>div{grid-template-columns:82px 1fr}table{font-size:10px}th,td{padding:12px 8px}}

/* High-resolution plated bite-size desserts */
.product-photo-hd .product-image{background:radial-gradient(ellipse at 45% 35%,#fffdf8 0%,#f1e9dd 65%,#e6d9c7 100%)}
.product-photo-hd .product-image img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;filter:drop-shadow(0 9px 8px #5e422c18);mix-blend-mode:normal}
.product-photo-hd:hover .product-image img{transform:scale(1.035)}
.dialog-image-frame{display:flex;align-items:center;justify-content:center;min-height:220px}
#dialog-image{width:100%;max-height:340px;object-fit:contain;mix-blend-mode:normal}
.has-photo-gallery .dialog-image-frame{height:320px;overflow:hidden;background:radial-gradient(ellipse at 45% 35%,#fffdf8,#f1e9dd 65%,#e6d9c7)}
.has-photo-gallery #dialog-image{height:100%;max-height:none;object-fit:cover;object-position:50% 54%;filter:drop-shadow(0 9px 8px #5e422c18)}
.has-photo-gallery #dialog-image.single-photo{width:77%;height:82%;object-fit:contain;filter:drop-shadow(0 12px 9px #5e422c25)}
.image-thumbnails{display:flex;gap:12px;margin-top:15px}.image-thumbnails[hidden]{display:none}
.photo-thumb{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 5px;border:1px solid var(--line);background:#f7f2e9;font-size:10px;flex:1;justify-content:center;line-height:1.5}
.photo-thumb img{width:42px;height:42px;object-fit:contain}.photo-thumb[aria-pressed="true"]{border-color:#8d7454;background:#ece2d3}.photo-thumb:hover{border-color:var(--ink)}
@media(max-width:760px){.has-photo-gallery .dialog-image-frame{height:270px}.photo-thumb{font-size:10px}.dialog-gallery{min-width:0}}
/* Pinned official brand and sample requests */
body{padding-top:102px}.header{position:fixed;top:0;left:0;right:0;width:100%;z-index:30;box-shadow:0 3px 16px #34292108}.official-logo{display:block;width:164px;flex:0 0 164px}.official-logo img{width:164px;height:auto;mix-blend-mode:multiply}.sample{background:#fbf9f4}.sample-business-note{border-left:3px solid #9b8869;background:#f0eadf;padding:18px 22px;font-size:12px;line-height:2;margin-bottom:40px}.sample fieldset{border:0;margin:0 0 38px;padding:0;min-width:0}.sample legend{font-family:'Noto Serif JP',serif;font-size:24px;display:block;width:100%;padding:0 0 22px;border-bottom:1px solid var(--line);margin-bottom:25px}.sample legend>span{font:italic 23px Georgia,serif;color:var(--accent);margin-right:17px}.sample-choice-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.sample-choice-heading p{font-size:12px;color:var(--muted)}.sample-choice-heading button{font-size:11px;padding:12px 18px}.sample #sample-products{margin-top:24px}.sample details{border-bottom:1px solid var(--line)}.sample summary{cursor:pointer;padding:17px 0;font-size:13px;font-weight:500}.sample-product-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 18px;padding:0 0 22px}.sample-product-options label{display:flex;align-items:start;gap:10px;font-size:12px;padding:12px;border:1px solid var(--line);cursor:pointer;line-height:1.7;background:#fffdfa}.sample-product-options label:has(input:checked){background:#ece5d8;border-color:#8d7454}.sample input[type="checkbox"]{appearance:auto;accent-color:#65513f;width:17px;height:17px;flex:0 0 17px;margin:3px 0 0;cursor:pointer}.sample-count{font-size:12px;color:#65513f;text-align:right;margin-top:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 28px}.form-grid label,.remarks-label{display:block;font-size:12px}.form-grid .full{grid-column:1/-1}.sample em{font-size:9px;font-style:normal;color:#806443;border:1px solid #cbbfae;padding:2px 5px;margin-left:8px}.optional{font-size:10px;color:var(--muted);margin-left:8px}.sample input:not([type="checkbox"]),.sample select,.sample textarea{display:block;width:100%;max-width:100%;font:inherit;font-size:14px;color:var(--ink);background:#fffefa;border:1px solid #d5cbbd;border-radius:0;padding:13px 15px;margin-top:8px;line-height:1.7}.sample textarea{resize:vertical}.sample input:focus-visible,.sample textarea:focus-visible,.sample select:focus-visible{outline:2px solid #9b8057;outline-offset:2px}.sample .holiday-field{margin:26px 0}.sample .holiday-field legend{font-family:inherit;font-size:12px;margin:0 0 10px;border:0;padding:0}.holiday-options{display:flex;gap:20px;flex-wrap:wrap}.holiday-options label{display:flex;gap:7px;align-items:center;font-size:12px}.sample-submit{border-top:1px solid var(--line);padding-top:30px}.sample-consent{display:flex;gap:11px;align-items:start;font-size:12px;margin-bottom:20px}.sample-submit>p,.sample-submit>div>p{font-size:12px;color:var(--muted);line-height:2}.sample-submit>.button{margin-top:22px}#sample-status{margin-top:18px;color:#71542f;font-weight:500}#sample-mail-fallback{margin-top:22px;padding:24px;background:#f0eadf}#sample-mail-fallback a{text-decoration:underline}#sample-mail-fallback label{display:block;font-size:11px;margin-top:15px}#sample-mail-fallback button{margin-top:15px;font-size:11px}.business .section-top p{line-height:2.2}.business article p{min-height:110px}
@media(max-width:1100px){body{padding-top:88px}.official-logo,.official-logo img{width:148px}.official-logo{flex-basis:148px}.header{gap:18px}.header nav{gap:16px}}
@media(max-width:760px){body{padding-top:79px}.header{position:fixed;top:0;height:79px}.official-logo,.official-logo img{width:138px}.official-logo{flex-basis:138px}.header nav{gap:20px}.sample legend{font-size:20px}.sample-choice-heading{align-items:start;flex-direction:column;gap:15px}.sample-product-options{grid-template-columns:1fr 1fr;gap:9px}.sample-product-options label{padding:10px 8px;font-size:11px}.form-grid{grid-template-columns:1fr;gap:19px}.sample input:not([type="checkbox"]),.sample select,.sample textarea{font-size:16px}.sample-business-note{font-size:11px;padding:16px}.sample-consent{font-size:11px}.sample-submit>p,.sample-submit>div>p{font-size:11px}#sample-mail-fallback{padding:17px}.holiday-options{gap:15px}.business article p{min-height:0}}
@media(max-width:390px){.sample-product-options{grid-template-columns:1fr}.official-logo,.official-logo img{width:126px}.official-logo{flex-basis:126px}}

/* Product-led photography and in-page POP collection */
.product-image{height:auto;aspect-ratio:3/2;background:#eee8dd}
.product-image img,.product-photo-hd .product-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.product-image .plus{background:#fffaf0de;border-color:#c0b39f}
.has-photo-gallery .dialog-image-frame{height:auto;aspect-ratio:3/2}
.has-photo-gallery #dialog-image{filter:none;object-fit:contain}
.has-photo-gallery #dialog-image.single-photo{height:260px;max-height:100%;object-fit:contain}
.taguchi-link{display:block;width:220px;max-width:100%;margin-top:24px;padding:18px 22px 12px;border:1px solid var(--line);transition:background .2s}
.taguchi-link:hover{background:#fffdf7}.taguchi-link img{width:100%;height:auto;mix-blend-mode:multiply}.taguchi-link>span{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#857565;margin-top:10px}
.pop-section{background:#eee8de}.pop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;margin-top:45px}
.pop-example{margin:0;min-width:0}.pop-poster{height:100%;overflow:hidden;box-shadow:0 14px 28px #34292118;background:#fcf6e9;color:#5a3825;text-align:center;position:relative;border:1px solid #fff8e8;container-type:inline-size}
.pop-paper-heading{padding:26px 10px 21px}.pop-kicker{font-size:7px;letter-spacing:.14em}.pop-paper-heading h3{font-family:'Noto Serif JP',serif;font-size:clamp(18px,6.5cqi,29px);font-weight:500;line-height:1.7;letter-spacing:.07em;margin:17px 0 10px}.pop-paper-heading em{font-style:normal}.pop-paper-heading p{font-size:clamp(8px,2.9cqi,12px);letter-spacing:0}.pop-hero{width:100%;aspect-ratio:3/2;object-fit:cover}.pop-paper-foot{padding:22px 12px 20px;min-height:161px}.pop-paper-foot>span{display:block;font-size:10px;letter-spacing:.12em}.pop-paper-foot strong{display:block;font-family:'Noto Serif JP',serif;font-size:clamp(20px,7.4cqi,31px);font-weight:500;letter-spacing:.05em;margin:2px 0 9px}.pop-paper-foot small{font-size:9px;display:block}.pop-paper-foot b{display:block;font-family:Georgia,serif;font-weight:400;font-size:18px;letter-spacing:-.5px;margin-top:16px}.pop-custard .pop-paper-foot{background:#503525;color:#fff0d5}.pop-fruit{background:#f9eee8;color:#9b4f58}.pop-fruit .pop-paper-foot{background:#edcdd0;color:#663b40}.pop-koron{background:#eef1e7;color:#456248}.pop-koron .pop-paper-foot{background:#3e5946;color:#f6f0da}.pop-flavor-grid{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:3/2;gap:3px;padding:0 14px 6px}.pop-flavor-grid>div{position:relative;min-height:0;overflow:hidden}.pop-flavor-grid img{height:100%;object-fit:cover}.pop-flavor-grid span{position:absolute;bottom:0;left:0;right:0;font-size:7px;letter-spacing:.08em;background:#f7f4eada;color:#3e5946;line-height:1.7}.pop-example figcaption{font-size:10px;color:var(--muted);margin-top:17px}.pop-example figcaption>span{display:block;font-size:9px;letter-spacing:.12em;color:#92734f;margin-bottom:3px}.pop-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:38px;padding-top:28px;border-top:1px solid #d5cabb}.pop-bottom p{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.pop-grid{gap:18px}.pop-paper-heading{padding:22px 8px 18px}.pop-kicker{font-size:6px}.pop-paper-foot{padding:18px 8px}.pop-paper-foot small{font-size:8px}}
@media(max-width:760px){.product-grid{gap:27px 14px}.product-image{height:auto}.pop-grid{grid-template-columns:1fr;max-width:420px;margin:32px auto 0;gap:32px}.pop-paper-heading{padding:28px 14px 22px}.pop-paper-heading h3{font-size:7cqi}.pop-kicker{font-size:8px}.pop-paper-foot{padding:24px 12px}.pop-paper-foot small{font-size:10px}.pop-bottom{align-items:start;flex-direction:column;gap:16px}.pop-example figcaption{font-size:11px}.pop-flavor-grid span{font-size:9px}.taguchi-link{width:205px}.has-photo-gallery #dialog-image.single-photo{height:220px}.sample .section-top h2{font-size:25px}}

/* Bright indoor dessert assortment */
.hero-photo{background:#eee9df}.hero-photo>img{filter:none;object-position:50% 44%}.hero-photo .photo-overlay{background:none}.hero-caption{left:6%;right:18%;bottom:28px;padding:14px 18px;background:#fffaf0eb;color:#463628;backdrop-filter:blur(6px);border:1px solid #ffffffb3}.hero-caption small{font-size:8px;letter-spacing:.13em}.hero-caption p{font-size:clamp(22px,2.4vw,35px);line-height:1.15;margin:7px 0}.hero-caption>span{font-size:10px}.hero-photo .round-link{bottom:35px;right:6%;color:#463628;border-color:#b4a38b;background:#fffaf0eb}
@media(max-width:760px){.hero-photo{min-height:460px}.hero-photo>img{object-position:center 43%}.hero-caption{bottom:22px;left:6%;right:22%;padding:12px 14px}.hero-caption p{font-size:25px}.hero-caption>span{font-size:9px}.hero-photo .round-link{bottom:31px}}

/* Two complete photographs beside the headline; each about 2/3 of the former width. */
.hero{grid-template-columns:36% 64%;align-items:center;min-height:580px;padding:24px 0}
.hero-copy{min-width:0;padding:24px 7% 24px 10%;align-self:stretch;justify-content:center}
.hero h1{font-size:clamp(25px,2.65vw,46px);margin-top:30px;letter-spacing:.015em;line-height:1.75}
.hero .eyebrow{font-size:7px;letter-spacing:.1em;gap:7px}
.hero-desc{font-size:12px;margin-top:24px}
.hero .button{align-self:flex-start;font-size:10px;padding:16px 20px;margin:28px 0 40px}
.hero-bottom{margin-top:0;flex-direction:column;gap:8px;font-size:7px}
.hero-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-right:18px;min-width:0}
.hero-scene{margin:0;min-width:0}
.hero-scene img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#eee7dc}
.hero-scene figcaption{padding:16px 4px 0;color:var(--ink)}
.hero-scene figcaption small{display:block;color:var(--muted);font-size:8px;letter-spacing:.1em}
.hero-scene figcaption span{display:block;font-family:'Noto Serif JP',serif;font-size:clamp(12px,1.1vw,18px);letter-spacing:.05em;margin-top:5px}
@media(min-width:1500px){.hero{min-height:650px}.hero-copy{padding-top:35px}}
@media(min-width:761px) and (max-width:1100px){.hero{min-height:460px}.hero-copy{padding-left:7%;padding-right:5%}.hero h1{font-size:2.7vw}.hero .eyebrow{font-size:6px;letter-spacing:0}.hero .button{padding:13px 10px;font-size:9px}.hero-desc{font-size:10px}.hero-gallery{gap:8px;padding-right:10px}.hero-scene figcaption small{font-size:6px}.hero-scene figcaption span{font-size:11px}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;align-items:stretch;padding:0;min-height:0}.hero-copy{padding:38px 7% 26px}.hero h1{font-size:clamp(29px,7.8vw,49px);margin-top:25px;line-height:1.65}.hero .eyebrow{font-size:8px}.hero-desc{font-size:12px;margin-top:22px}.hero .button{font-size:11px;padding:14px 20px;margin:24px 0 26px}.hero-bottom{flex-direction:row;justify-content:space-between;font-size:6px}.hero-gallery{gap:8px;padding:0 12px 28px}.hero-scene figcaption{padding:10px 2px 0}.hero-scene figcaption small{font-size:5px;letter-spacing:.05em}.hero-scene figcaption span{font-size:clamp(9px,2.6vw,15px);letter-spacing:0;margin-top:4px}}

/* Recommended sample selection: prominent, accessible green action */
#sample-recommend{background:#315c44;color:#fff;border:2px solid #315c44;font-size:14px;font-weight:700;min-height:52px;padding:14px 24px;gap:18px;box-shadow:0 4px 12px #315c4426;white-space:nowrap;transition:background .2s,border-color .2s}
#sample-recommend:hover{background:#244633;border-color:#244633}
#sample-recommend:focus-visible{outline:3px solid #315c44;outline-offset:4px}
#sample-recommend span{font-size:19px;line-height:1}
@media(max-width:760px){#sample-recommend{width:100%;justify-content:center}}

/* Company identity and mobile-safe brand ribbon */
.header .official-logo{display:flex;align-items:center;gap:14px;width:auto;flex:0 0 auto;letter-spacing:normal}
.header .official-logo img{width:138px;flex:0 0 138px}
.header-company-name{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:500;letter-spacing:.035em;line-height:1.5;white-space:nowrap}
.brand-ribbon{justify-content:space-between;padding:24px 7%;gap:24px}
.ribbon-brand{display:flex;align-items:center;gap:24px;flex:0 0 auto;min-width:0}
.ribbon-brand img{width:116px;height:auto;flex:0 0 116px;mix-blend-mode:multiply}
.brand-ribbon .ribbon-wordmark{font:italic 28px/1.2 Georgia,serif;letter-spacing:-.8px;white-space:nowrap}
.ribbon-tagline{font-size:9px;letter-spacing:.16em}
@media(min-width:761px) and (max-width:1200px){.header{gap:14px}.header .official-logo{gap:10px}.header .official-logo img{width:108px;flex-basis:108px}.header-company-name{font-size:12px}.header nav{gap:12px;font-size:10px}.header .nav-contact{display:none}}
@media(max-width:760px){.header{padding:0 5%;gap:10px}.header .official-logo{gap:9px;flex:0 1 auto;min-width:0}.header .official-logo img{width:88px;flex-basis:88px}.header-company-name{font-size:clamp(10px,2.8vw,12px);letter-spacing:0}.header .nav-contact{display:none}.header .menu{margin-left:auto;flex:0 0 30px}.brand-ribbon{justify-content:flex-start;padding:20px 6%;gap:0}.ribbon-brand{gap:20px}.ribbon-brand img{width:104px;flex-basis:104px}.brand-ribbon .ribbon-wordmark{font-size:26px}.ribbon-tagline{display:none}}

/* Footer company logo */
footer .footer-brand{display:flex;align-items:center;gap:16px;letter-spacing:-1px;flex-shrink:0}
footer .footer-brand>img{width:104px;height:auto;flex-shrink:0;mix-blend-mode:multiply}
footer .footer-brand>span{display:block}
@media(max-width:760px){footer .footer-brand{gap:12px;font-size:27px}footer .footer-brand>img{width:78px}footer .footer-brand small{font-size:8px;letter-spacing:.08em}footer .back-top{flex-shrink:0}}

/* Keep the entire fruit and lid visible in collection cards. */
.product .product-image img[src$="yuzu-sorbet-v19.webp"]{object-fit:contain;transform:scale(1.2)}
.product .product-image img[src$="peach-whole-sorbet-v19.webp"]{object-fit:contain;transform:scale(1.12)}

.nav-sample-mobile{display:none}@media(max-width:760px){nav .nav-sample-mobile{display:block}}
#sample>.button{margin-top:25px}#sample>p{margin-top:20px}

/* White canvas with forest green and sage accents. */
:root{--cream:#ffffff;--ink:#233c31;--muted:#64736a;--line:#dce5de;--accent:#527461}
body,.header,footer,.sample,dialog{background:#ffffff}
.hero-desc,.about-heading p,.signature-copy p:not(.eyebrow),.contact-options small{color:#596d61}
.section-label,.signature-copy .eyebrow,.collection-mark,.ribbon,.vertical,.serif-big{color:#527461}
.signature,.signature-copy{background:#e7eee8}
.signature-photo,.product-image,.hero-scene img{background:#ffffff}
.signature-photo .vertical{background:#ffffffdc}
.contact{background:#dce8df}
.contact-options>a,.contact-options>div{border-color:#abc1b2}
.business{background:#234a38;color:#ffffff}
.business .section-label,.business article>span{color:#bdd1bf}
.business .section-top p,.business article p{color:#e0e9e2}
.business article{border-color:#5d7e6b}
.business article a,.business article button{border-color:#abc3b3}
.nav-contact,.button.dark,.filters .active{background:#28533e;color:#ffffff;border-color:#28533e}
.nav-contact:hover,.button.dark:hover{background:#1c3c2d}
.pop-section{background:#edf2ed}
.photo-thumb{background:#f2f6f2}.photo-thumb[aria-pressed="true"]{background:#dce9df;border-color:#527461}
.product-image .plus{background:#ffffffed;border-color:#b8c9bd}
.taguchi-link:hover{background:#eef4ef}
.sample-business-note,#sample-mail-fallback{background:#edf3ee;border-color:#527461}
a:focus-visible,button:focus-visible{outline-color:#527461}

/* Keep sample requests visible beside the company name on mobile. */
@media(max-width:760px){
 .header{padding:0 10px;gap:8px}
 .header .official-logo{flex:1 1 auto;gap:5px;min-width:0}
 .header .official-logo img{width:clamp(48px,15vw,72px);flex:0 0 clamp(48px,15vw,72px)}
 .header-company-name{font-size:clamp(10px,2.7vw,12px);letter-spacing:0;white-space:nowrap}
 .header .nav-contact{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;margin:0;padding:0 10px;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;border-radius:4px}
 .header .nav-contact span{display:none}
 .header .menu{margin:0;flex:0 0 30px;min-height:44px;padding:4px}
}
@media(max-width:350px){.header{padding:0 6px;gap:5px}.header .official-logo{gap:3px}.header .nav-contact{padding:0 7px;font-size:10px}.header .menu{flex-basis:28px}}
