/* Shared identity: preserve the supplied lettering and scale its corporate designation. */
.brand.brand-primary{display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:100%;white-space:normal;letter-spacing:0}
.brand-primary .brand-logo-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.brand-art{position:relative;display:block;width:100%;aspect-ratio:2048/477;overflow:hidden}
.brand-art .brand-logo-image{clip-path:polygon(0 0,28.80859% 0,28.80859% 31.44654%,42.48047% 31.44654%,42.48047% 0,100% 0,100% 100%,0 100%)}
.brand-art .brand-corporate,.intro-corporate-piece img{clip-path:inset(0 57.51953% 68.55346% 28.80859%);transform:scale(1.4);transform-origin:30.3% 20.5%}
.brand-art .brand-corporate{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain}
.brand.brand-primary>.brand-origin{font:15px/1.5 var(--serif);letter-spacing:.08em;margin:0;padding-left:30%;white-space:nowrap}
body>header{display:grid;grid-template-columns:minmax(270px,1fr) auto auto;align-items:center;gap:26px;min-height:146px;height:auto;padding:22px calc(4% + 90px) 22px 4%}
body>header .brand.brand-primary{grid-column:1;grid-row:1;width:min(390px,100%);padding:0;margin:0;max-width:100%}
body>header .hozo-header-button,body>header .trade-header-button{grid-column:auto;grid-row:1;width:auto;max-width:none;min-height:62px;height:auto;padding:16px 21px;font-size:18px;white-space:nowrap;text-align:center;justify-content:center}
body>header .menu-toggle{top:22px;height:104px;min-height:104px;width:56px}
.site-menu .menu-top .brand.brand-primary{width:340px;max-width:calc(100% - 85px)}
.site-menu .brand-origin{display:none!important}
.site-menu nav{grid-template-columns:repeat(8,minmax(0,1fr))}
footer .brand.brand-primary{width:440px;max-width:100%;margin:0}
/* Reveal the original logotype in separate regions without redrawing its letters. */
.site-intro .intro-brand{width:100%}
.intro-brand-art{overflow:hidden;position:relative;width:min(850px,88vw);aspect-ratio:2048/477}
.intro-logo-piece{position:absolute;inset:0;display:block;animation:identity-letter .75s cubic-bezier(.2,.7,.3,1) var(--reveal-delay) both}
.intro-logo-piece img{width:100%;height:100%;max-width:none}
.site-intro .intro-origin{animation:intro-words .8s 2.35s both;font-size:clamp(17px,1.7vw,24px);letter-spacing:.17em;margin-top:25px}
@keyframes identity-letter{from{opacity:0;transform:translateY(7px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}
/* A warm, substantial invitation for individual customers. */
.consumer-entry.consumer-renewed{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;position:relative;background:#eee3d1;padding-top:88px;padding-bottom:90px;border-top:1px solid #d8c7ad;border-bottom:1px solid #d8c7ad}
.consumer-renewed .eyebrow{font-size:16px!important;letter-spacing:.22em;margin:0 0 20px}
.consumer-renewed h2{font-size:clamp(28px,2.7vw,40px);letter-spacing:.1em;margin-bottom:24px}
.consumer-renewed .consumer-statement{font:400 clamp(24px,2.4vw,34px)/1.85 var(--serif);letter-spacing:.09em;color:#82503d}
.consumer-renewed .consumer-invitation{border-left:1px solid #c4ab89;padding-left:12%;min-width:0}
.consumer-renewed .consumer-invitation>p{font-size:20px;line-height:2.15}
.consumer-topics{display:flex;gap:22px;flex-wrap:wrap;margin:25px 0 30px;font-size:16px;color:#795b44}
.consumer-topics span{border-bottom:1px solid #c4ab89;padding-bottom:7px}
.consumer-renewed .button{background:#583a2b;color:#fff7e8;border-color:#583a2b;justify-content:center;text-align:center;font-size:18px;padding:20px;max-width:500px}
/* News shares the editorial rhythm of the product pages. */
.news-section{background:#faf6ed;padding-top:95px;padding-bottom:105px}
.news-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:44px}
.news-heading .eyebrow{margin-bottom:16px;font-size:16px}
.news-heading h2{font-size:clamp(36px,4vw,52px);letter-spacing:.13em}
.news-entry{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:35px;padding:35px 15px;border-top:1px solid #bca58b;border-bottom:1px solid #d9cdbd;transition:background .3s,box-shadow .3s,transform .3s}
.news-meta{display:flex;flex-direction:column;gap:12px;align-items:flex-start;font-size:17px;letter-spacing:.06em}
.news-meta time{font-family:var(--serif);font-size:24px;letter-spacing:.035em}
.news-meta>span{border:1px solid #ba8e72;padding:2px 12px;font-size:14px;color:#854a34}
.news-entry h3{font:400 clamp(23px,2.2vw,30px)/1.65 var(--serif);letter-spacing:.04em}
.news-entry p{font-size:17px!important;line-height:1.9!important;margin-top:12px;color:#746151}
.news-read{font-size:16px;border-bottom:1px solid #aa7a5c;padding:8px 0;white-space:nowrap}
.news-index{max-width:1450px;margin:auto;min-height:55vh;padding-top:65px}
.news-index .page-title{margin-bottom:65px}
.news-index .page-title>p:last-child{font-size:20px;line-height:1.9;margin-top:25px}
.news-article{max-width:1250px;margin:auto;padding:65px 6% 100px}
.news-article-heading{padding:0 0 55px;border-bottom:1px solid #cbb89b}
.news-article-heading .news-meta{flex-direction:row;align-items:center;gap:25px;margin-bottom:34px}
.news-article-heading h1{white-space:normal;font-size:clamp(30px,3.4vw,48px);line-height:1.65;letter-spacing:.05em}
.news-article-heading .news-deck{font:400 clamp(24px,2.6vw,34px)/1.9 var(--serif);color:#8e4a34;margin-top:38px;letter-spacing:.05em}
.news-article-body{max-width:810px;margin:55px 0 0 auto}
.news-article-body>p{font-size:20px;line-height:2.1}
.news-article-body>p+p{margin-top:30px}
.news-article-body h2{font-size:clamp(26px,2.5vw,32px);letter-spacing:.045em;margin:65px 0 25px}
.news-article-body .textlink{margin-top:20px}
.news-article-body .news-article-closing{margin-top:65px;padding-top:35px;border-top:1px solid #d9cdbd}
.news-signature{text-align:right;margin-top:28px!important}
.news-back{border-top:1px solid #cbb89b;margin-top:70px;padding-top:35px}
.news-back .button{width:max-content;background:#583a2b;color:#fff7e8;justify-content:center;padding-inline:35px}
/* Consistent feedback around actionable controls, with the cut-corner shape retained. */
:where(.button,.textlink,.hero-products-link,.hozo-header-button,.trade-header-button,.menu-toggle,.menu-close,.intro-skip,.hozo-intro-skip,.page-jumps a,.catalog-entry-links a,.catalog-tabs button,.form-back){transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s,filter .25s,translate .25s}
@media(hover:hover){
 :where(.button,.hozo-header-button,.trade-header-button,.menu-toggle,.menu-close,.intro-skip,.hozo-intro-skip,.page-jumps a,.catalog-tabs button,.form-back):hover{box-shadow:inset 0 0 0 2px #b4875f66,0 7px 18px #39271920;filter:drop-shadow(0 4px 4px #39271920);translate:0 -2px}
 :where(.textlink,.hero-products-link,.catalog-entry-links a):hover{box-shadow:0 5px 0 #ad896233;background:#c3a78012;border-color:#9b593e}
 .news-entry:hover{background:#e9decd66;box-shadow:0 8px 20px #4a352213;transform:translateY(-2px)}
 .consumer-renewed .button:hover{background:#704b37;color:#fff8ed}
 .site-menu nav a:hover{box-shadow:inset 0 -3px 0 #a87551}
}
@media(max-width:1100px){
 body>header{grid-template-columns:1fr 1fr;gap:20px;min-height:175px}
 body>header .brand.brand-primary{grid-column:1/-1;grid-row:1;width:350px}
 body>header .hozo-header-button,body>header .trade-header-button{grid-row:2;grid-column:auto;min-height:56px;padding:12px 16px}
 .news-entry{grid-template-columns:125px 1fr;gap:25px}.news-read{grid-column:2;width:max-content}
}
@media(max-width:700px){
 body>header{padding:16px 5% 24px;gap:18px 12px;min-height:0}
 body>header .brand.brand-primary{width:290px;max-width:calc(100% - 55px)}
 .brand.brand-primary>.brand-origin{font-size:13px;padding-left:25%;letter-spacing:.02em}
 body>header .hozo-header-button,body>header .trade-header-button{font-size:16px;min-height:52px;padding:12px 8px}
 body>header .menu-toggle{top:20px;width:44px;height:100px;min-height:100px;right:4%;font-size:15px}
 .site-menu .menu-top .brand.brand-primary{width:240px;max-width:calc(100% - 82px)}
 .site-menu nav{grid-template-columns:repeat(8,minmax(0,1fr))}.site-menu nav a{font-size:16px;min-height:365px;padding:16px 1px}
 footer .brand.brand-primary{width:330px}
 .intro-brand-art{width:92vw}.site-intro{padding:16px}.site-intro .intro-origin{margin-top:28px;font-size:16px;letter-spacing:.08em}
 .consumer-entry.consumer-renewed{grid-template-columns:1fr;gap:32px;padding:50px 6% 55px}
 .consumer-renewed h2{font-size:29px;margin-bottom:20px}.consumer-renewed .consumer-statement{font-size:26px}
 .consumer-renewed .consumer-invitation{border-left:0;border-top:1px solid #c4ab89;padding:28px 0 0}
 .consumer-renewed .consumer-invitation>p{font-size:18px;line-height:2}.consumer-topics{margin:20px 0 26px}
 .consumer-renewed .button{font-size:17px;padding:18px 14px;line-height:1.7}
 .news-section{padding:55px 6% 65px}.news-heading{gap:15px;margin-bottom:30px}.news-heading h2{font-size:32px}.news-heading .textlink{font-size:16px;white-space:nowrap}
 .news-entry{display:block;padding:26px 0}.news-entry .news-meta{flex-direction:row;align-items:center;gap:18px}.news-meta time{font-size:22px}
 .news-entry-copy{margin-top:20px}.news-entry h3{font-size:23px}.news-entry p{font-size:16px!important}.news-read{display:table;margin-top:15px}
 .news-index{padding-top:35px}.news-index .page-title{margin-bottom:40px}.news-index .page-title>p:last-child{font-size:18px}
 .news-article{padding:40px 6% 65px}.news-article-heading{padding-bottom:35px}.news-article-heading h1{font-size:28px}.news-article-heading .news-deck{font-size:25px;margin-top:30px}
 .news-article-heading .news-meta{gap:18px;flex-wrap:wrap}.news-article-body{margin-top:35px}.news-article-body>p{font-size:18px!important;line-height:2.05!important}.news-article-body h2{font-size:25px;margin-top:45px}.news-article-body .news-article-closing{margin-top:45px}.news-back{margin-top:45px}
}
@media(prefers-reduced-motion:reduce){.intro-logo-piece{animation:none}:where(.button,.textlink,.hero-products-link,.hozo-header-button,.trade-header-button,.menu-toggle,.menu-close,.intro-skip,.hozo-intro-skip,.page-jumps a,.catalog-entry-links a,.catalog-tabs button,.form-back,.news-entry){transition:none!important;translate:none!important;transform:none}}

.consumer-renewed .consumer-statement{font-size:clamp(24px,2.4vw,34px)!important;line-height:1.85!important}
.news-article-heading .news-deck{font-size:clamp(24px,2.6vw,34px)!important;line-height:1.9!important}
@media(max-width:360px){.news-article-heading h1{font-size:24px;letter-spacing:.025em}}

/* A consistent action column for the three invitations at the end of Home. */
.home-entry.section{
 --entry-gap:clamp(40px,6vw,88px);
 display:grid;
 grid-template-columns:minmax(0,1fr) 440px;
 gap:var(--entry-gap);
 align-items:center;
 padding:80px 6%;
}
.home-entry.section>div{min-width:0}
.home-entry .home-entry-action{
 position:relative;
 width:100%;
 min-width:0;
 max-width:none;
 margin:0;
 padding:0;
 border:0;
}
.home-entry.section .button.home-entry-button{
 display:flex;
 align-items:center;
 justify-content:center;
 box-sizing:border-box;
 width:100%;
 max-width:440px;
 min-width:0;
 min-height:76px;
 padding:20px 24px;
 margin:28px 0 0;
 gap:0;
 font-size:18px;
 font-weight:500;
 line-height:1.7;
 letter-spacing:.025em;
 text-align:center;
}
.home-entry.section .buyer-action .button.home-entry-button{margin-top:0}
.home-entry .buyer-action p{margin-top:18px}
.home-entry .consumer-topics{margin-bottom:0}
.consumer-renewed.home-entry .home-entry-action::before{
 content:"";
 position:absolute;
 top:0;
 bottom:0;
 left:calc(var(--entry-gap) / -2);
 border-left:1px solid #c4ab89;
}
@media(max-width:1000px){
 .home-entry.section{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:56px}
 .home-entry .home-entry-action{max-width:440px}
 .consumer-renewed.home-entry .home-entry-action{border-top:1px solid #c4ab89;padding-top:28px}
 .consumer-renewed.home-entry .home-entry-action::before{display:none}
 .home-entry.section .button.home-entry-button{min-height:68px;padding:18px 16px;font-size:17px}
}
@media(max-width:360px){
 .home-entry.buyer-entry h2{font-size:27px;letter-spacing:.04em}
}

/* Keep the menu icon and vertical label comfortably inside one coloured control. */
body>header .menu-toggle{
 width:56px;height:120px;min-height:120px;padding:10px;
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:11px;font-size:16px;line-height:1.25;overflow:hidden;
 color:#fff8ee;background:#974932;border:0;box-shadow:inset 0 0 0 1px #974932;
}
body>header .menu-toggle>span:last-child{letter-spacing:.08em;flex:none}
body>header .menu-toggle .menu-lines{box-sizing:border-box;flex:none;width:21px;height:8px;margin:0;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
@media(hover:hover){body>header .menu-toggle:hover{background:#7d3927;box-shadow:inset 0 0 0 1px #e0b493;filter:drop-shadow(0 5px 7px #39271935)}}
body>header .menu-toggle:focus-visible{outline:2px solid #fff8ee;outline-offset:-5px}
.introduction .intro-writing{min-width:0}
.introduction .intro-statement{font:400 clamp(25px,2.4vw,37px)/1.8 var(--serif);letter-spacing:.055em;margin:26px 0 32px}
.introduction .intro-body>p{margin:0;font-size:20px;line-height:2}
.introduction .intro-body>p+p{margin-top:20px}
@media(max-width:1100px){.intro-copy-break{display:none}}
@media(min-width:1101px) and (max-width:1600px){html[lang=ja] .intro-body>p:not(:first-child) .intro-copy-break{display:none}}
@media(max-width:700px){
 body>header .menu-toggle{top:16px;width:44px;height:104px;min-height:104px;padding:9px 7px;font-size:14px;gap:8px}
 body>header .menu-toggle .menu-lines{width:19px}
 .introduction .intro-statement{font-size:26px;line-height:1.75;letter-spacing:.025em;margin:22px 0 26px}
 .introduction .intro-body>p{font-size:18px;line-height:2}
 .introduction .intro-body>p+p{margin-top:20px}
}
@media(max-width:360px){.introduction .intro-statement{font-size:23px;letter-spacing:0}}

/* Keep the two concise story headings on one line across screen sizes. */
.chapter h2.chapter-title-single{white-space:nowrap;font-size:clamp(26px,2.8vw,40px);letter-spacing:.035em}
@media(max-width:700px){.chapter h2.chapter-title-single{font-size:clamp(23px,6.7vw,32px);letter-spacing:.02em}}
/* Centre the supplied plate and keep the complete dish visible. */
.hero-food img.hero-supplied{object-position:50% 50%!important}
/* Brand product actions share a clear horizontal rhythm. */
@media(max-width:360px){.brand.brand-primary>.brand-origin{font-size:12px;letter-spacing:0}}
.catalog-brand-links{align-items:stretch;gap:12px 24px}
.catalog-brand-links a{display:inline-flex;align-items:center;justify-content:center;padding:10px 4px;white-space:nowrap}
.catalog-brand-links .catalog-brand-link{color:#29443a;border-color:#29443a}
@media(max-width:700px){
 .catalog-brand-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .catalog-brand-links a{font-size:16px;min-height:52px;padding:10px 0;letter-spacing:0}
}

/* Preserve the intentional buyer-page introduction break. */
html[lang=ja] .inquiry-heading .buyer-lead{white-space:pre-line}

/* Product specifications and simplified enquiries — 6 November 2026. */
.catalog-specs{display:grid;grid-template-columns:1fr;gap:0;margin:24px 0 28px;padding:0;border-top:1px solid var(--line,#d8ccbc);border-bottom:1px solid var(--line,#d8ccbc);font-family:var(--sans,sans-serif);font-size:14px;line-height:1.7;letter-spacing:.02em}
.catalog-specs>div{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:10px 0}
.catalog-specs>div+div{border-top:1px solid var(--line,#d8ccbc)}
.catalog-specs dt{color:#776657;font-weight:400}
.catalog-specs dd{margin:0;color:#493426;font-variant-numeric:tabular-nums;white-space:nowrap}
.inquiry-layout.inquiry-single{grid-template-columns:minmax(0,1fr);max-width:820px}
.inquiry-privacy{grid-column:1;margin:0;padding:20px 0 0;border-top:1px solid var(--line,#d8ccbc);font-size:13px;line-height:1.8;color:#776657}
@media(max-width:600px){.catalog-specs{font-size:13px}.catalog-specs>div{gap:3px 12px}}
