
/* PLUS | warm-luxe visual edition V10 — design-only, source & cart logic unchanged */
:root{
 --ink:#252c28;--ink2:#4d564e;--muted:#72776d;--paper:#f8f6f1;
 --white:#fffefa;--line:#e7e2d8;--mint:#edf1e9;--orange:#c88362;
 --cream:#efe5d6;--olive:#345343;--yellow:#ba9b63;
 --shadow:0 23px 55px rgba(45,46,36,.085);
 --luxe-gold:#ac8d58;--luxe-sand:#f1e9dd;--luxe-serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP','Noto Serif JP',serif;
}
html{scroll-padding-top:96px}
body{background:var(--paper);color:var(--ink);letter-spacing:.005em}
.wrap{width:min(1240px,calc(100% - 88px))}
.section{padding:116px 0}
.section-head{margin-bottom:42px;gap:32px}
.section-head h2,.big-heading,.small-heading,.split-copy h2,.contact-aside h2,
.company-intro-copy h2,.cta-inner h2{font-family:var(--luxe-serif);font-weight:600;letter-spacing:.012em;line-height:1.52}
.section-head h2,.big-heading{font-size:clamp(31px,3.7vw,49px)}
.eyebrow{color:#84714d;font-size:10px;font-weight:700;letter-spacing:.24em}
.eyebrow:before{width:29px;background:var(--luxe-gold)}
.section-sub{color:#77776e;line-height:2.1}
.btn{background:var(--olive);border-color:var(--olive);border-radius:3px;min-height:54px;font-size:12px;letter-spacing:.055em;font-weight:700;padding:15px 24px;transition:transform .2s,background .2s,box-shadow .2s}
.btn:hover{background:#2b4739;border-color:#2b4739}
.btn.outline{border-color:#a5a294;background:transparent;color:var(--ink)}
.btn.outline:hover{background:#f0eee8;border-color:var(--olive);color:var(--olive)}
.btn.soft{background:#f0ece4;color:var(--ink);border-color:#e5dfd3}
.btn.light{background:#fdfaf2;color:#334e3e;border-color:#fdfaf2}
.chip{border-radius:40px}
.text-link{font-size:12px;font-weight:700;letter-spacing:.05em;border-color:var(--luxe-gold)}

/* Sophisticated but approachable navigation */
.site-header{background:rgba(255,254,250,.97);border-bottom:1px solid #e8e3da;box-shadow:0 2px 16px rgba(48,45,38,.025)}
.header-inner{height:91px}
.brand{gap:14px}
.brand-mark{background:var(--olive);color:#faf7e9;width:43px;height:43px;border-radius:2px;font-family:Georgia,serif;font-size:28px;font-weight:400}
.brand-type b{font-family:Georgia,'DM Sans',sans-serif;letter-spacing:.23em;font-weight:700;font-size:23px}
.brand-type small{color:#6c6a60;letter-spacing:.18em}
.nav{gap:23px}
.nav a:not(.btn){font-size:11px;letter-spacing:.04em}
.nav .btn{border-radius:2px;padding:11px 15px;font-size:11px;min-height:43px}
.nav-shop{background:#d7a079!important;border-color:#d7a079!important;color:#29372d!important}
.nav-shop:hover{background:#c68d66!important;border-color:#c68d66!important}
.nav-contact{background:var(--olive)!important;border-color:var(--olive)!important}
.cart-nav-link{border-color:#e6dfd3!important}

/* Home: editorial photography, structured like a premium brand rather than a discount store */
.hero{background:linear-gradient(110deg,#f6f2e9 0%,#f9f6ee 51%,#eae6db 100%);border-bottom:1px solid #e7e1d5}
.hero:before{border-color:rgba(172,141,88,.24);width:760px;height:760px;left:-375px;top:-215px}
.hero-grid{grid-template-columns:.95fr 1.05fr;min-height:700px;gap:34px}
.hero-copy{padding:85px 0 105px}
.hero-kicker{font-size:10px;font-weight:700;letter-spacing:.24em;color:#897555;max-width:420px;margin-bottom:34px}
.hero h1{font-family:var(--luxe-serif);font-size:clamp(48px,5.1vw,74px);font-weight:600;letter-spacing:.01em;line-height:1.43;margin-bottom:29px}
.hero h1 em{color:#365d47}
.hero-lead{color:#6b6d64;max-width:450px;font-size:14px;line-height:2.3;margin-bottom:38px}
.hero .flex-actions{gap:12px}
.hero .btn{padding:17px 23px}
.hero .hero-shop-button{background:#c88362;border-color:#c88362;color:#fff}
.hero .hero-shop-button:hover{background:#b77456;border-color:#b77456}
.hero-bottom{bottom:34px;color:#9c967f;font-size:9px}
.luxe-hero-composition{position:relative;height:610px;min-width:0;display:block;align-self:center}
.luxe-photo-primary{position:absolute;left:3%;top:1%;width:76%;height:78%;padding:9px;background:#fffaf0;box-shadow:0 25px 55px rgba(40,44,37,.13);overflow:hidden}
.luxe-photo-primary>img{width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 50%;transform:none;mix-blend-mode:normal}
.luxe-photo-label{position:absolute;top:24px;left:24px;background:rgba(255,251,243,.93);color:#585348;font-size:10px;letter-spacing:.17em;padding:10px 14px}
.luxe-photo-secondary{position:absolute;right:0;bottom:6%;width:52%;height:47%;padding:8px;background:#fffaf0;box-shadow:0 18px 43px rgba(39,40,31,.17);transform:rotate(1.8deg);overflow:hidden}
.luxe-photo-secondary>img{height:100%;width:100%;object-fit:cover;object-position:63% 50%;transform:none;mix-blend-mode:normal}
.luxe-secondary-label{position:absolute;right:16px;bottom:16px;background:rgba(39,48,41,.87);color:#fffaf1;font-size:9px;letter-spacing:.16em;padding:6px 12px}
.luxe-seal{position:absolute;z-index:2;left:0;bottom:13%;width:112px;height:112px;border-radius:50%;border:1px solid #b69b68;background:#f9f3e7;box-shadow:0 9px 27px #20261b14;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg);color:#6c684f}
.luxe-seal span{font-family:Georgia,serif;font-size:22px;letter-spacing:.13em}
.luxe-seal small{font-size:7px;letter-spacing:.1em}
.luxe-photo-caption{position:absolute;bottom:1%;left:20%;color:#596657;font-size:11px;letter-spacing:.11em}
.luxe-photo-caption span{display:block;color:#a28e70;font-size:9px;letter-spacing:.19em}
.trustline{background:#fffdf8}
.trust-inner{padding:20px 0;font-size:10px;color:#545d50}
.trust-items i{background:#b8a57d;width:5px;height:5px}
.audience-section{background:#f8f6f1}
.audience-card{border-radius:4px!important;box-shadow:none;transition:transform .25s,box-shadow .25s}
.audience-retail{background:#efe3d7!important}
.audience-business{background:#e1e9df!important}
.audience-card:hover{box-shadow:0 17px 37px #2b332018}
.audience-card h2{font-family:var(--luxe-serif);font-weight:600;letter-spacing:.015em}
.audience-action{letter-spacing:.06em}

/* Common cards and editorial sections */
.business-card,.company-business-card,.feature,.service-card,.principle-card,.business-route,
.product-card,.lead-block,.shop-banner,.form-card,.company-services-links a,.business-scenarios>div,
.business-flow-grid>div{border-radius:4px;border-color:#e8e2d7}
.business-card .art{height:325px}
.business-card .inner{padding:33px 36px 38px}
.business-card h3,.company-business-copy h3,.principle-card h3,.feature h3,.service-card h3,.business-scenarios h3,
.business-route h3{font-family:var(--luxe-serif);font-weight:600;letter-spacing:0}
.business-card h3{font-size:27px}
.business-card p{line-height:2}
.category-card-grid{gap:20px}
.category-card{border-radius:5px;border-color:#e9e2d5;background:#fffdfa;box-shadow:0 8px 25px #2c281e09}
.category-card-image{background:#f8f4ed}
.category-badge{border-radius:2px;border-color:#e7ddcb;background:#fbf7ee;color:#7b6b4e;box-shadow:none}
.category-card-info{padding:24px 24px 25px}
.category-card-info h3{font-family:var(--luxe-serif);font-weight:600;letter-spacing:.01em}
.category-choose{color:#315b44;border-color:#e5ddce}
.shop-hero{background:linear-gradient(120deg,#f1e8dc,#f8f3ea);border-color:#e8ddcf}
.shop-hero-copy h1,.page-hero h1,.prod-details h1,.chiffon-hero-copy h1{
 font-family:var(--luxe-serif);font-weight:600;letter-spacing:.01em
}
.shop-hero-copy h1 em{color:#b27853}
.shop-hero-art{filter:saturate(.88)}
.shop-hero-stamp{border-color:#c29c70;color:#8d6e53}
.shop-banner{background:#fbf5e8}

/* Credibility without severe corporate sterility */
.page-hero{background:linear-gradient(120deg,#eeeadd,#f8f6f0 80%);padding:108px 0 92px;border-color:#e5dfd0}
.page-hero:after{font-size:370px;right:4%;top:-155px;color:rgba(147,154,133,.14);font-family:Georgia,serif;font-weight:300}
.page-hero h1{font-size:clamp(41px,4.7vw,68px);margin:18px 0 20px}
.page-hero p{color:#62685e;font-size:14px}
.company-intro-section{background:#fffefa}
.company-intro-grid{gap:65px}
.company-intro-copy h2{font-size:clamp(35px,4vw,54px);line-height:1.6}
.company-intro-copy h2 em{color:#3b644c}
.company-intro-lead{font-size:16px!important;font-weight:600}
.company-intro-art{background:#ece5d8;border-radius:3px;padding:20px}
.company-intro-art img{background:#f5f0e6}
.company-principles-section,.business-model-section{background:#ecefe8}
.principle-card{padding:35px 35px 40px}
.principle-no,.business-route-no,.business-flow-grid span,.business-scenarios span{color:#917751}
.principle-card h3{font-size:24px}
.company-business-card{background:#fffdfa}
.company-services-links a{background:#e8eee5;min-height:137px}
.company-services-links strong{font-family:var(--luxe-serif);font-weight:600}
.company-profile-section{background:#fffefa}
.company-profile-table th{color:#687365}
.business-hero{background:linear-gradient(100deg,#efece2,#f9f4e9)}
.business-tags li{background:#e7ebe2;color:#576b5b}
.business-route{min-height:275px}
.business-scenarios>div{background:#f9f6f0}
.business-extras{background:#faf8f3}
.cta-band{background:linear-gradient(105deg,#304d3e 0%,#263c32 100%);padding:92px 0}
.cta-band:before{font-family:Georgia,serif;color:rgba(236,212,165,.045)}
.cta-inner h2{font-size:clamp(32px,3.4vw,45px)}
.footer{background:#222f28}
.footer-logo{font-family:Georgia,serif;letter-spacing:.2em;font-size:26px}
.footer-logo i{background:#f2ecde;border-radius:2px}
.footer-bottom{color:#acb9ab}
.form-field input,.form-field select,.form-field textarea{background:#fffdfa;border-color:#ddd9cf;border-radius:3px}
.form-card{box-shadow:0 12px 36px #222b1d07}
.chiffon-hero-visual,.category-flavor-card{border-radius:4px}
.chiffon-flavor-info h3{font-family:var(--luxe-serif);font-weight:600}
.chiffon-cart-btn{background:#365847}
.category-detail-intro .category-hero-visual{background:#f9f6ee}

/* Responsive polish and accessible reduced-motion */
@media(max-width:1120px){.nav{gap:14px}.nav .btn{font-size:10px;padding:11px 12px}.brand{min-width:165px}.hero-grid{gap:15px}}
@media(max-width:950px){.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(42px,5.2vw,66px)}.luxe-hero-composition{height:510px}.luxe-seal{width:93px;height:93px}.category-card-grid{gap:16px}}
@media(max-width:820px){.wrap{width:min(1240px,calc(100% - 40px))}.section{padding:76px 0}.header-inner{height:74px}.hero-grid{grid-template-columns:1fr;min-height:unset;gap:0}.hero-copy{padding:60px 0 30px}.hero h1{font-size:clamp(43px,7vw,61px);line-height:1.43}.luxe-hero-composition{height:500px;max-width:620px;width:100%;margin:0 auto 35px}.hero-bottom{display:none}.hero .flex-actions{margin-bottom:14px}.page-hero{padding:76px 0}.site-header .header-mobile-shop{background:#d7a079;color:#2d3a2e;border-radius:2px}}
@media(max-width:560px){.wrap{width:calc(100% - 34px)}.section{padding:62px 0}.section-head h2,.big-heading{font-size:32px}.hero-copy{padding:47px 0 21px}.hero-kicker{font-size:9px;letter-spacing:.15em;margin-bottom:21px}.hero h1{font-size:clamp(43px,11vw,57px);line-height:1.41}.hero-lead{font-size:13px;line-height:2.1}.hero .btn{width:100%}.luxe-hero-composition{height:380px;margin:5px auto 28px}.luxe-photo-primary{left:2%;width:78%;height:75%;padding:5px}.luxe-photo-label{font-size:7px;top:14px;left:12px;padding:5px 8px}.luxe-photo-secondary{right:0;bottom:9%;height:45%;width:53%;padding:4px}.luxe-secondary-label{font-size:7px;right:6px;bottom:9px;padding:5px}.luxe-seal{width:75px;height:75px;left:0;bottom:18%}.luxe-seal span{font-size:15px}.luxe-seal small{font-size:6px}.luxe-photo-caption{left:20%;bottom:0;font-size:9px}.luxe-photo-caption span{font-size:7px}.trust-inner{padding:17px 0}.trust-items{gap:12px}.business-card .art{height:240px}.category-card-grid{gap:10px}.category-card-info{padding:13px}.category-card-info h3{font-size:17px}.company-intro-copy h2{font-size:35px}.company-intro-section .company-intro-art{padding:10px}.page-hero{padding:67px 0 65px}.page-hero h1{font-size:43px}.page-hero:after{right:-80px;font-size:250px;top:-85px}.cta-inner h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.category-card,.business-card img,.company-business-card img{transition:none!important}}

/* v10 mobile header fit refinement */
@media(max-width:560px){
 .header-inner{gap:8px}
 .brand{min-width:0;flex:0 0 auto;gap:8px}
 .brand-mark{width:36px;height:36px}
 .brand-type b{font-size:19px}
 .header-mobile-actions{margin-left:auto;gap:5px;flex-shrink:0}
 .cart-nav-link{flex-shrink:0}
 .header-mobile-shop{white-space:nowrap;display:flex;align-items:center;justify-content:center;min-height:36px;padding:8px 10px;font-size:9px;line-height:1}
 .menu-toggle{width:34px;min-width:34px;padding:0}
}
@media(max-width:360px){.header-mobile-shop{display:none}}
