/* PLUS site refresh v26 — light corporate editorial direction; additive only. */
:root { --paper:#fcfaf6; --ink:#26372e; --ink2:#4f5e54; --muted:#677369; --line:#eae7df; --olive:#446650; --shadow:0 20px 50px rgba(50,62,43,.08); }
body{background:#fcfaf6;color:#26372e}
.site-header{background:rgba(255,255,253,.96);border-bottom-color:#e7eadf;box-shadow:0 2px 18px rgba(40,55,35,.025)}
.brand-mark{background:#355841;color:#fff}
.btn:not(.light):not(.outline):not(.soft):not(.nav-shop):not(.nav-contact){background:#355b46;border-color:#355b46;color:white}
.btn:not(.light):not(.outline):not(.soft):not(.nav-shop):not(.nav-contact):hover{background:#294d39;border-color:#294d39}
.section{background-color:#fcfaf6}
.section:nth-of-type(even){background-color:#f6f8f3}
.page-hero{background:linear-gradient(114deg,#fcfaf6 0%,#f0f5ef 100%)}
/* Full-bleed, single-frame photographic/graphic hero with restrained overlay. */
.plus-v26-hero{position:relative;min-height:720px;background:#f9f8f3!important;overflow:hidden;isolation:isolate;border-bottom:1px solid #e7e9df}
.plus-v26-hero:before{display:none}
.plus-v26-hero-background{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:1.16fr .88fr 1fr;overflow:hidden}
.plus-v26-bg-image{min-width:0;position:relative;overflow:hidden}
.plus-v26-bg-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.69) brightness(1.15);opacity:.62}
.plus-v26-bg-food img{object-position:57% center}
.plus-v26-bg-toy img{object-fit:contain;padding:10%;background:#e9f1e7;opacity:.54}
.plus-v26-bg-make img{object-fit:cover;opacity:.62}
.plus-v26-hero-background:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(253,252,249,.94) 0%,rgba(253,252,249,.88) 35%,rgba(253,252,249,.70) 62%,rgba(253,252,249,.34) 100%);pointer-events:none}
.plus-v26-hero-layout{min-height:704px;position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.38fr) minmax(270px,.62fr);gap:clamp(26px,4vw,75px);align-items:center;padding-top:70px;padding-bottom:85px}
.plus-v26-hero-main{max-width:780px}
.plus-v26-hero-overline{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.19em;font-weight:800;color:#55725e;margin:0 0 38px!important;line-height:1.8}
.plus-v26-overline-bar{height:2px;width:42px;background:#c4a678;flex-shrink:0}
.plus-v26-overline-dot{color:#a77f4a}
.plus-v26-mobile-break{display:none}
.plus-v26-hero h1{font-family:var(--luxe-serif,Georgia,serif);font-size:clamp(48px,5.15vw,76px);font-weight:600;letter-spacing:.02em;line-height:1.42;color:#253f2e;margin:0 0 30px}
.plus-v26-hero h1 em{font-style:normal;color:#8f744c}
.plus-v26-hero-lead{font-size:15px;color:#4d5e53;line-height:2.15;max-width:590px;margin:0 0 37px}
.plus-v26-hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.plus-v26-hero-actions .btn{min-height:54px;padding:15px 20px;white-space:nowrap;font-size:12px}
.plus-v26-btn-primary{background:#345b45!important;border-color:#345b45!important;color:#fff!important}
.plus-v26-btn-primary:hover{background:#274936!important}
.plus-v26-btn-secondary{border-color:#8fa895!important;color:#345b45!important;background:#fffefb!important}
.plus-v26-btn-secondary:hover{background:#eaf2e9!important}
.plus-v26-hero-minor{font-size:12px;font-weight:800;color:#385d48;border-bottom:1px solid #a3b6a3;padding:12px 4px}
.plus-v26-hero-aside{align-self:center;background:rgba(255,254,251,.85);border:1px solid rgba(184,201,182,.65);box-shadow:0 26px 65px rgba(59,72,49,.09);backdrop-filter:blur(12px);padding:23px 23px 18px;border-radius:3px}
.plus-v26-aside-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:17px;border-bottom:1px solid #dde6db;font:700 9px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.19em;color:#7a937f}
.plus-v26-aside-head span:last-child{font:34px/1 Georgia,serif;color:#bb9d70}
.plus-v26-aside-line{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid #e6e9e0;align-items:flex-start}
.plus-v26-aside-line>b{font-size:11px;font-weight:800;color:#be9f71;padding-top:3px}
.plus-v26-aside-line div{display:flex;flex-direction:column;gap:7px}
.plus-v26-aside-line strong{font-size:12px;letter-spacing:.075em;line-height:1.4;color:#2a4634}
.plus-v26-aside-line small{font-size:11px;line-height:1.55;color:#627369}
.plus-v26-soon{display:inline-flex;margin-left:3px;border:1px solid #d8c5a2;background:#f9f3e8;color:#7b6341;font-size:9px;font-weight:700;padding:2px 5px}
.plus-v26-aside-bottom{font-size:11px;color:#738174;padding-top:17px;letter-spacing:.04em}
.plus-v26-hero-foot{position:absolute;left:0;right:0;bottom:0;border-top:1px solid #e1e7db88;background:rgba(255,255,255,.37)}
.plus-v26-hero-foot .wrap{display:flex;justify-content:space-between;gap:18px;padding:14px 0;font:700 10px/1.5 'DM Sans',sans-serif;letter-spacing:.16em;color:#7a8b78}
.plus-v26-hero-foot .wrap span:last-child{letter-spacing:.09em}
/* Lighter company presentation throughout, balanced contrast. */
.trustline{background:#f1f5ed;border-bottom:1px solid #e3e9e0}
.audience-card.audience-business{background:#e5efe4!important;border:1px solid #c7d7c9!important;color:#284634!important;box-shadow:0 12px 25px rgba(57,94,64,.055)!important}
.audience-card.audience-business:before{color:rgba(41,76,52,.055)!important}
.audience-card.audience-business .audience-small,.audience-card.audience-business .audience-overline{color:#647f68!important}
.audience-card.audience-business h2{color:#294b37!important}
.audience-card.audience-business p{color:#546d5a!important}
.audience-card.audience-business .audience-action{color:#2d5b3a!important;border-color:#91b19a!important}
.audience-card.audience-business .audience-icon{border-color:#86a98d!important;color:#426b4d!important}
.audience-card.audience-business:hover{background:#d8e9d9!important;box-shadow:0 15px 25px rgba(62,95,64,.10)!important}
.plus-v26-process{background:#eaf3e9!important}
.business-grid{gap:18px}
body:has(.plus-v26-business-future) .business-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body:has(.plus-v26-business-future) .business-card .art{height:260px}
body:has(.plus-v26-business-future) .business-card .inner{padding:27px 26px 31px}
body:has(.plus-v26-business-future) .business-card h3{font-size:clamp(20px,2vw,25px)}
body:has(.plus-v26-business-future) .business-card p{font-size:12px;line-height:1.9}
.plus-v26-business-future .art{background:#eef2ed}
.plus-v26-business-future .art img{object-fit:cover}
.plus-v26-business-status{margin-top:auto;display:inline-block;padding:8px 12px;background:#f3ecdc;border:1px solid #e7ddc6;color:#746142;font-size:11px;font-weight:700}
/* Secondary landing pages keep distinct layouts, but ditch unnecessarily dark surfaces. */
.v11-business-hero{background:#eaf2e9;color:#274432}
.v11-business-copy h1{color:#294535}
.v11-business-copy .v11-kicker,.v11-business-tagline{color:#567a5b}
.v11-business-desc,.v11-business-hero .v11-breadcrumb{color:#536b57}
.v11-business-mosaic-label{color:#61735f}
.v11-wholesale-left{background:#446b55}
.v11-shop-photo img{filter:saturate(.88) brightness(1.10)}
.v11-shop-photo:after{background:linear-gradient(90deg,rgba(244,241,230,.36) 0%,rgba(238,235,223,.06) 100%)}
.v11-shop-panel{background:rgba(255,254,248,.96);box-shadow:0 15px 35px rgba(53,48,34,.13)}
.cta-band{background:#446852;color:#fff}
.cta-inner .eyebrow{color:#e2eacb}
/* Footer lightens the entire experience: color contrast remains dark-on-light. */
.footer{background:#edf3ea;color:#294a35;border-top:1px solid #dce5d8}
.footer-logo{color:#284631}
.footer-logo i{background:#386047;color:white}
/* The same company identity is used in every header and footer. */
.site-header .plus-company-brand{gap:10px}
.plus-company-brand .plus-company-logo-frame{position:relative;display:block;flex:0 0 80px;width:80px;height:65px;overflow:hidden;background:transparent}
.plus-company-brand .plus-company-logo-frame>img{position:absolute;display:block;width:156%;max-width:none;height:auto;left:-30.5%;top:-25%;object-fit:initial;filter:none;transform:none;mix-blend-mode:normal}
.site-header .plus-company-brand .brand-type small{color:#005b6e;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.5;letter-spacing:.06em}
.footer .footer-logo.plus-company-brand{display:inline-flex;align-items:center;gap:14px;font-size:14px;line-height:1.6;letter-spacing:.06em;color:#f5f7ef}
.footer .plus-company-brand .plus-company-logo-frame{flex-basis:110px;width:110px;height:89px;border-radius:5px}
.footer .plus-company-footer-name{font-size:20px;font-weight:700;line-height:1.5}
@media(max-width:560px){
 .site-header .plus-company-brand{gap:7px;min-width:0}
 .site-header .plus-company-brand .plus-company-logo-frame{flex-basis:66px;width:66px;height:54px}
 .site-header .plus-company-brand .brand-type small{font-size:14px;letter-spacing:.02em}
}
.footer-intro,.footer-col a,.footer-bottom{color:#526c58}
.footer-col b{color:#2a5036}
.footer-col a:hover{color:#174c2c;text-decoration:underline}
.footer-bottom{border-top-color:#d1dfd0}
.plus-footer-social-label{color:#64785d}
.plus-social-link{border-color:#a4bca6;color:#2f573a;background:#f9fcf7}
.plus-social-caption small{color:#617864}
.plus-social-arrow{color:#638266}
.plus-social-link:not(.is-pending):hover{background:#dfecdd;border-color:#63916a}
/* Shop category images significantly larger than v25, without cropping packaging. */
.shop-collection{background:#fffefb}
.category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.category-card{background:#fff;border:1px solid #e9e9e1;border-radius:8px;box-shadow:0 12px 32px rgba(58,70,51,.05)}
.category-card-image{aspect-ratio:1.62/1;background:#fbfaf5}
.category-card-image>img{object-fit:contain;object-position:center;filter:saturate(1.02);transition:transform .35s}
.category-card:hover .category-card-image>img{transform:scale(1.045)}
.category-card-info{padding:23px 29px 27px;gap:8px}
.category-card-info h3{font-size:clamp(24px,2.4vw,31px)}
.category-card-info p{font-size:13px;line-height:1.8;min-height:0;color:#606c61}
.category-choose{font-size:13px;font-weight:800;color:#2e5a3d}
.category-badge{font-size:10px;padding:7px 12px}
/* Bigger flavor photos and typography, two spacious columns on desktop and one on mobile. */
.chiffon-section{background:#fafbf8}
.chiffon-hero{grid-template-columns:1.12fr .88fr;gap:50px}
.category-hero-visual{aspect-ratio:1.35/1;background:#fff!important;box-shadow:0 16px 42px rgba(58,75,54,.075);border-color:#e6ebe3}
.chiffon-hero-visual img{object-fit:contain}
.category-detail-intro .category-hero-visual img{object-fit:contain;object-position:center}
.chiffon-flavor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}
.chiffon-flavor-card,.category-flavor-card{border-radius:8px;border:1px solid #e4e9df;background:#fff;box-shadow:0 10px 28px rgba(36,66,43,.065)}
.chiffon-flavor-card>img,.category-flavor-grid .category-flavor-card>img{aspect-ratio:1.45/1;object-fit:contain;object-position:center;background:#fff;padding:6px 8px 0;width:100%;height:auto;min-height:0;transition:transform .3s}
.chiffon-flavor-card:hover>img{transform:scale(1.025)}
.chiffon-flavor-info{padding:25px 28px 28px}
.chiffon-flavor-info h3{font-size:clamp(24px,2.35vw,29px);color:#2c4e38}
.chiffon-flavor-info p{font-size:13px;line-height:1.85;color:#626f63;min-height:0}
.chiffon-flavor-price{margin:15px 0 14px!important}
.chiffon-flavor-price b{font-size:1.25rem}
.chiffon-flavor-controls{margin-top:12px}
.chiffon-cart-btn{min-height:50px;font-size:13px}
/* Also improve distinct product / related product grids outside the flavor listings. */
.product-grid{gap:26px;grid-template-columns:repeat(2,minmax(0,1fr))}
.product-card .pic{aspect-ratio:1.48/1;background:#fff}
.product-card .pic img{object-fit:contain}
.product-card h3{font-size:22px}
.product-card .body{padding:26px}
/* Japanese typography: avoid short orphaned endings while keeping the original copy. */
#main :is(h1,h2,h3,h4,p,li,dt,dd,th,td){word-break:normal;line-break:strict;overflow-wrap:break-word}
#main :is(h1,h2,h3,h4){text-wrap:balance}
#main :is(p,li,dd,td){text-wrap:pretty}
#main :is(.section-sub,.v11-company-description,.v11-business-desc,.v11-food-copy>p,.v11-toys-copy>p,.v11-oem-copy>p,.v11-contact-copy,.v11-company-message,.plus-v26-hero-lead,.company-intro-lead,.principle-card p,.service-card p,.business-card p,.category-card-info p,.chiffon-flavor-info p,.plus-v38-home-description p,.plus-v38-toys-text p){text-wrap:balance}
/* Phrase boundaries improve Japanese wrapping where the browser supports them. */
@supports(word-break:auto-phrase){
 #main :is(h1,h2,h3,h4,p,li,dt,dd){word-break:auto-phrase}
}
/* Image fitting: retain complete products and poster lettering inside their frames. */
.category-card .category-card-image{display:grid;place-items:center;aspect-ratio:4/3;background:#fff}
.category-card .category-card-image>img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center}
.category-detail-intro .chiffon-hero .category-hero-visual{display:grid;place-items:center;min-width:0;overflow:hidden}
.category-detail-intro .chiffon-hero .category-hero-visual>img{width:100%;height:100%;object-fit:contain;object-position:center}
.chiffon-flavor-grid .chiffon-flavor-card{min-width:0;overflow:hidden}
.chiffon-flavor-grid .chiffon-flavor-card>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;padding:10px;background:#fff;box-sizing:border-box}
.gift-examples .gift-example{min-width:0;overflow:hidden}
.gift-examples .gift-example>img{width:100%;height:auto;aspect-ratio:6/5;object-fit:contain;object-position:center;background:#fff}
.business-card .art,.company-business-pic,.product-card .pic,.prod-hero .product-photo,.split-art{min-width:0;overflow:hidden}
.company-business-card .company-business-pic img{object-fit:contain;object-position:center;background:#fff}
.split .split-art>img{object-fit:contain;object-position:center;background:#f8f6f0}
.company-intro-art>img{aspect-ratio:3/2;mix-blend-mode:normal}
.v11-hero .v11-business-mosaic{grid-template-rows:minmax(0,1.17fr) minmax(0,1fr)}
.v11-hero .v11-business-mosaic figure{min-width:0;min-height:0}
.v11-hero .v11-business-mosaic img{object-fit:contain;object-position:center}
.v11-hero .v11-company-photo{overflow:hidden}
.v11-hero .v11-company-photo>img{object-fit:contain;object-position:center 35%}
.v11-hero .v11-oem-photo-main,.v11-hero .v11-oem-photo-inset,.v11-hero .v11-toys-minor{overflow:hidden}
.v11-hero .v11-oem-photo-main>img{object-fit:contain;object-position:center}
.v11-wholesale-hero .v11-wholesale-right{display:grid;place-items:center;background:#f4eee4;overflow:hidden}
.v11-wholesale-hero .v11-wholesale-right>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.prod-hero .product-photo>img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;object-position:center;background:#f8f6f0}
/* Existing promotional images replace generic drawings without losing their captions. */
.business-card .art>img.image-fit-poster,.v11-hero img.image-fit-poster,.product-card .pic img.image-fit-poster,.toy-link-box>img.image-fit-poster{object-fit:contain;object-position:center;background:#f4f1e9}
.v11-toys-stage .v11-toys-main>img.image-fit-poster{filter:none}
.toy-link-box>img.image-fit-poster{max-height:240px;aspect-ratio:3/4}
/* Tablet */
@media(max-width:1030px){
 .plus-v26-hero-layout{grid-template-columns:minmax(0,1.18fr) minmax(240px,.82fr);gap:26px}
 .plus-v26-hero h1{font-size:clamp(44px,5.5vw,61px)}
 body:has(.plus-v26-business-future) .business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body:has(.plus-v26-business-future) .business-card:last-child{grid-column:span 2;display:grid;grid-template-columns:.8fr 1.2fr}
 body:has(.plus-v26-business-future) .business-card:last-child .art{height:100%;min-height:240px}
}
@media(max-width:800px){
 .plus-v26-hero{min-height:auto}
 .plus-v26-hero-layout{grid-template-columns:1fr;padding-top:72px;padding-bottom:75px;gap:26px;min-height:0}
 .plus-v26-hero h1{font-size:clamp(44px,8vw,66px)}
 .plus-v26-hero-aside{max-width:720px;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
 .plus-v26-aside-head,.plus-v26-aside-bottom{grid-column:1/-1}
 .plus-v26-aside-line{border-bottom:0}
 .plus-v26-bg-food img{object-position:70% 50%}
 .plus-v26-hero-background:after{background:linear-gradient(90deg,rgba(253,252,249,.96),rgba(253,252,249,.85))}
 .chiffon-hero{grid-template-columns:1fr;gap:22px}
 .chiffon-hero-visual{max-width:850px;width:100%}
}
@media(max-width:650px){
 .plus-v26-hero-layout{padding-top:48px;padding-bottom:88px;gap:26px}
 .plus-v26-hero-overline{font-size:9px;letter-spacing:.10em;gap:8px;margin-bottom:23px!important}
 .plus-v26-overline-bar{width:24px}
 .plus-v26-hero h1{font-size:clamp(37px,9.4vw,52px);line-height:1.46;margin-bottom:20px;letter-spacing:0}
 .plus-v26-hero-lead{font-size:12px;line-height:2.0;margin-bottom:26px}
 .plus-v26-desktop-break{display:none}
 .plus-v26-mobile-break{display:block}
 .plus-v26-hero-actions{gap:8px}
 .plus-v26-hero-actions .btn{width:calc(50% - 4px);font-size:11px;padding:14px 8px;min-height:50px}
 .plus-v26-hero-minor{display:block;width:100%;text-align:center;margin-top:4px}
 .plus-v26-hero-aside{display:block;padding:16px 19px 10px}
 .plus-v26-aside-line{padding:12px 0;border-bottom:1px solid #e6e9e0}
 .plus-v26-aside-head{padding-bottom:12px}
 .plus-v26-hero-foot .wrap{font-size:9px}
 .plus-v26-hero-foot .wrap span:last-child{display:none}
 .plus-v26-bg-image img{opacity:.18}
 .plus-v26-hero-background:after{background:rgba(253,252,249,.84)}
 body:has(.plus-v26-business-future) .business-grid{grid-template-columns:1fr}
 body:has(.plus-v26-business-future) .business-card:last-child{grid-column:auto;display:flex}
 body:has(.plus-v26-business-future) .business-card:last-child .art{height:260px;min-height:0}
 .category-card-grid{grid-template-columns:1fr;gap:22px}
 .category-card-image{aspect-ratio:1.6/1}
 .category-card-info{padding:20px 23px 24px}
 .category-card-info h3{font-size:27px}
 .category-card-info p{font-size:12px}
 .category-badge{font-size:9px}
 .chiffon-flavor-grid{grid-template-columns:1fr;gap:22px}
 .chiffon-flavor-info{padding:22px 22px 26px}
 .chiffon-flavor-info h3{font-size:26px}
 .chiffon-flavor-info p{font-size:12px}
 .chiffon-flavor-card>img,.category-flavor-grid .category-flavor-card>img{aspect-ratio:1.5/1;padding:4px 8px 0}
 .chiffon-flavor-price b{font-size:1.17rem}
 .product-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.category-card-image>img,.chiffon-flavor-card>img{transition:none}}
