/* ===== MIEL — Reset & Tokens ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#f6f1e4;
  --cream-2:#efe5d2;
  --cream-3:#f2ebda;
  --ink:#26231d;
  --ink-soft:#534b3d;
  --ink-mute:#8c8472;
  --gold:#c89b3b;
  --gold-soft:#dcb866;
  --gold-deep:#a66c25;
  --sage:#7c8763;
  --sage-deep:#5f6a4b;
  --dark:#2a2c22;
  --dark-2:#20221a;
  --line:rgba(38,35,29,0.14);
  --line-strong:rgba(38,35,29,0.26);
  --serif-ja:'Shippori Mincho B1',serif;
  --serif-en:'Fraunces',serif;
  --sans:'Noto Sans JP',sans-serif;
  --mono:'Noto Sans Mono',monospace;
  --hc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cpath fill='none' stroke='%23c89b3b' stroke-opacity='0.4' d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/svg%3E");
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  font-family:var(--sans);
  font-weight:400;
  font-size:16px;
  line-height:1.95;
  color:var(--ink-soft);
  background:var(--cream);
  letter-spacing:0.02em;
  line-break:strict;
  text-wrap:pretty;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:rgba(200,155,59,0.28)}

/* ===== Splash ===== */
.splash{position:fixed;inset:0;z-index:1000;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .9s ease,visibility .9s ease}
.splash.hide{opacity:0;visibility:hidden}
.splash-inner{display:flex;flex-direction:column;align-items:center;gap:18px}
.splash-bee{width:52px;height:52px;color:var(--gold-deep);animation:beeFloat 3.2s ease-in-out infinite}
.splash-name{font-family:var(--serif-en);font-weight:300;font-size:36px;letter-spacing:0.42em;color:var(--ink);padding-left:0.42em;opacity:0;animation:fadeUp 1.1s .25s cubic-bezier(.16,1,.3,1) forwards}
@keyframes beeFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ===== Scroll progress ===== */
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--gold-deep);z-index:900;transition:width .1s linear}

/* ===== Header ===== */
.header{position:fixed;top:0;left:0;width:100%;z-index:800;transition:background .5s ease,box-shadow .5s ease,padding .5s ease;padding:22px 0}
.header-inner{max-width:1280px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.nav{display:flex;align-items:center;gap:30px}
.nav-left{justify-self:start}
.nav-right{justify-self:end;gap:24px}
.nav a{font-size:13.5px;letter-spacing:0.08em;font-weight:500;position:relative;padding:4px 0;transition:color .3s}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .4s cubic-bezier(.16,1,.3,1)}
.nav a:hover::after{width:100%}
.logo{position:relative;display:inline-block;justify-self:center;line-height:0}
.logo-img{height:42px;width:auto;display:block;transition:opacity .4s}
.logo-l{position:absolute;top:0;left:0}
.header.is-hero .logo-d{opacity:0}
.header.is-hero .logo-l{opacity:1}
.header.is-solid .logo-d{opacity:1}
.header.is-solid .logo-l{opacity:0}
.logo-kabu{font-family:var(--mono);font-size:9.5px;letter-spacing:0.34em;padding-left:0.34em;opacity:.72;margin-bottom:4px}
.logo-name{font-family:var(--serif-en);font-weight:400;font-size:25px;letter-spacing:0.34em;padding-left:0.34em}
.nav-store{background:var(--gold-deep);color:#fff;border:1px solid var(--gold-deep);padding:17px 40px;border-radius:999px;font-size:16.5px;letter-spacing:0.08em;font-weight:600;box-shadow:0 8px 22px rgba(166,108,37,.34);transition:.35s}
.nav-store:hover{background:#8a591e;border-color:#8a591e;color:#fff;transform:translateY(-2px)}
.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.menu-btn span{display:block;width:24px;height:1.5px;background:currentColor;transition:.3s}
/* hero state (transparent, light text) */
.header.is-hero{color:#f3ecdd}
.header.is-hero .nav-store{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.header.is-hero .nav-store:hover{background:#8a591e;color:#fff}
/* solid state */
.header.is-solid{background:rgba(246,241,228,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);padding:14px 0;box-shadow:0 1px 0 var(--line)}
.header.is-solid .nav-store:hover{background:#8a591e;color:#fff}

/* ===== Drawer ===== */
.drawer{position:fixed;inset:0;z-index:850;background:var(--cream);opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease;display:flex;align-items:center;justify-content:center}
.drawer.open{opacity:1;visibility:visible}
.drawer-inner{text-align:center}
.drawer-nav{display:flex;flex-direction:column;gap:6px}
.drawer-nav a{display:flex;align-items:baseline;justify-content:center;gap:16px;padding:10px 0;transition:opacity .3s}
.drawer-nav a:hover{opacity:.55}
.dn-en{font-family:var(--serif-en);font-style:italic;font-size:clamp(26px,5vw,42px);color:var(--ink)}
.dn-ja{font-family:var(--mono);font-size:12px;letter-spacing:0.12em;color:var(--ink-mute)}
.drawer-close{margin-top:46px;background:none;border:1px solid var(--line-strong);border-radius:999px;padding:12px 32px;font-family:var(--mono);font-size:12px;letter-spacing:0.12em;color:var(--ink);cursor:pointer;transition:.35s}
.drawer-close:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* ===== Hero ===== */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:-2%;background:#2a1e10 url('../images/hero-pc.jpg') center/cover no-repeat}
.hero-bg::after{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:34px auto;opacity:.16;mix-blend-mode:overlay}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,17,8,.5) 0%,rgba(24,17,8,.14) 38%,rgba(24,17,8,.5) 100%)}
.hero-inner{position:relative;z-index:2;padding:0 28px;max-width:920px}
.eyebrow{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:0.22em;font-weight:500;color:var(--gold-deep)}
.eyebrow-light{color:rgba(248,240,224,.85)}
.hero-title{font-family:var(--serif-ja);font-weight:800;font-size:clamp(46px,9vw,104px);line-height:1.18;letter-spacing:0.02em;margin:26px 0 0;text-shadow:0 2px 30px rgba(20,12,4,.4)}
.hero-lead{font-family:var(--serif-ja);font-weight:500;font-size:clamp(21px,3.1vw,36px);line-height:1.65;margin:26px auto 0;max-width:none;color:#fff;letter-spacing:0.03em;word-break:keep-all;text-shadow:0 2px 20px rgba(20,12,4,.45)}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:42px}
.hero-scrollnote{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;width:1px;height:54px;background:rgba(255,255,255,.35);overflow:hidden}
.hero-scrollnote span{position:absolute;top:-54px;left:0;width:1px;height:54px;background:rgba(255,255,255,.95);animation:scrollLine 2.4s cubic-bezier(.7,0,.3,1) infinite}
@keyframes scrollLine{0%{transform:translateY(0)}60%,100%{transform:translateY(108px)}}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;letter-spacing:0.06em;padding:16px 34px;border-radius:2px;transition:transform .4s cubic-bezier(.16,1,.3,1),background .4s,color .4s,border-color .4s;cursor:pointer}
.btn-primary{background:var(--ink);color:var(--cream)}
.btn-primary:hover{background:var(--gold-deep);transform:translateY(-3px)}
.btn-ghost-light{border:1px solid rgba(255,255,255,.6);color:#fff}
.btn-ghost-light:hover{background:rgba(255,255,255,.14);transform:translateY(-3px)}
.btn-lg{padding:20px 50px;font-size:15px}
.btn-buy{background:var(--gold-deep);color:#fff;box-shadow:0 8px 24px rgba(166,108,37,.35)}
.btn-buy:hover{background:#8a591e;transform:translateY(-3px)}

/* ===== Section base ===== */
.section{position:relative;padding:clamp(78px,11vw,150px) 0}
.container{max-width:1180px;margin:0 auto;padding:0 40px}
.container-narrow{max-width:760px}
.center{text-align:center}
.sec-head{margin-bottom:54px}
.sec-head-center{text-align:center;max-width:680px;margin-left:auto;margin-right:auto}
.chapter{display:inline-block;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--gold-deep);letter-spacing:0.1em}
.chapter::after{content:"";display:inline-block;width:30px;height:1px;background:var(--gold-deep);vertical-align:middle;margin-left:12px;opacity:.6}
.chapter-light{color:var(--gold-soft)}
.chapter-light::after{background:var(--gold-soft)}
.sec-head .eyebrow,.sec-head-center .eyebrow{display:block;margin-top:14px}
.sec-title{font-family:var(--serif-ja);font-weight:700;font-size:clamp(27px,4vw,46px);line-height:1.5;color:var(--ink);letter-spacing:0.03em;margin-top:18px}
.sec-desc{margin-top:22px;color:var(--ink-soft);font-size:16px;line-height:2}
.sec-foot-center{text-align:center;margin-top:56px}

/* link-more */
.link-more{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:13px;letter-spacing:0.08em;color:var(--ink);margin-top:28px;font-weight:500}
.link-more .arr{transition:transform .4s cubic-bezier(.16,1,.3,1);color:var(--gold-deep)}
.link-more:hover .arr{transform:translateX(8px)}
.link-more-light{color:var(--cream)}
.link-more-light .arr{color:var(--gold-soft)}

/* ===== Philosophy ===== */
.section-philosophy{background:var(--cream)}
.lead-statement{font-family:var(--serif-ja);font-weight:600;font-size:clamp(32px,5.2vw,62px);line-height:1.5;color:var(--ink);letter-spacing:0.02em;margin:8px 0 46px;max-width:14em}
.philosophy-body{max-width:640px;margin-left:auto}
.philosophy-body p{margin-bottom:22px;font-size:16px;line-height:2.1}

/* ===== Figure ===== */
.section-figure{background:var(--cream-3);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.figure-label{font-family:var(--mono);font-size:13px;letter-spacing:0.1em;color:var(--ink-mute)}
.figure-big{font-family:var(--serif-en);font-weight:300;color:var(--gold-deep);line-height:1;margin:22px 0;display:flex;align-items:baseline;justify-content:center;gap:14px}
.figure-num{font-size:clamp(90px,18vw,210px)}
.figure-unit{font-family:var(--serif-ja);font-weight:600;font-size:clamp(26px,4vw,46px);color:var(--ink)}
.figure-sub{font-size:17px;line-height:2.05;color:var(--ink-soft);max-width:30em;margin:0 auto}

/* ===== Our Work ===== */
.section-work{background:var(--cream)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:14px}
.work-card{background:var(--cream-3);border:1px solid var(--line);border-radius:4px;padding:48px 38px;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.work-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(38,35,29,.08)}
.work-no{font-family:var(--mono);font-size:13px;color:var(--gold-deep);letter-spacing:0.1em}
.work-name{font-family:var(--serif-ja);font-weight:700;font-size:23px;color:var(--ink);margin:18px 0 16px}
.work-text{font-size:15px;line-height:2}

/* ===== Honey ===== */
.section-honey{background:var(--cream-2)}
.honey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px}
.honey-card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.honey-card:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(38,35,29,.1)}
.honey-jar{aspect-ratio:4/3;position:relative}
.honey-jar::after{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:30px auto;opacity:.12}
.honey-jar[data-honey="acacia"]{background:linear-gradient(165deg,#f0d98f,#dcb152)}
.honey-jar[data-honey="renge"]{background:linear-gradient(165deg,#e6bd5e,#c8922f)}
.honey-jar[data-honey="mikan"]{background:linear-gradient(165deg,#edb45a,#d4801f)}
.honey-jar[data-honey="hyakka"]{background:linear-gradient(165deg,#cf9a45,#9e6320)}
.honey-jar[data-honey="soba"]{background:linear-gradient(165deg,#7a5430,#3c2815)}
.honey-meta{padding:26px 28px 30px}
.honey-en{font-family:var(--serif-en);font-style:italic;font-size:15px;color:var(--gold-deep)}
.honey-ja{font-family:var(--serif-ja);font-weight:700;font-size:22px;color:var(--ink);margin:4px 0 12px}
.honey-note{font-size:14px;line-height:1.9;color:var(--ink-soft)}
.honey-card-more{align-items:center;justify-content:center;background:var(--ink);color:var(--cream);min-height:180px}
.honey-more-inner{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;font-family:var(--serif-ja);font-weight:600;font-size:19px;line-height:1.6}
.honey-card-more .arr{font-family:var(--mono);color:var(--gold-soft);font-size:20px;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.honey-card-more:hover .arr{transform:translateX(8px)}

/* ===== Season ===== */
.section-season{background:var(--cream)}
.season-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px;border-top:1px solid var(--line)}
.season-item{padding:42px 26px 12px;border-right:1px solid var(--line)}
.season-item:last-child{border-right:none}
.season-en{font-family:var(--serif-en);font-style:italic;font-size:15px;color:var(--sage-deep)}
.season-item h3{font-family:var(--serif-ja);font-weight:700;font-size:30px;color:var(--ink);margin:10px 0 16px}
.season-item p{font-size:14.5px;line-height:1.95}

/* ===== Table (split) ===== */
.section-table{background:var(--cream-2)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1180px}
.split-media{aspect-ratio:4/5;border-radius:4px;position:relative;overflow:hidden;background:
  radial-gradient(90% 60% at 30% 25%,rgba(244,210,140,.7),transparent 60%),
  linear-gradient(160deg,#e7c878 0%,#c8922f 55%,#8a5a22 100%)}
.split-media::after{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:32px auto;opacity:.14}
.split-text .chapter{margin-bottom:14px}
.split-text .eyebrow{display:block;margin-bottom:10px}
.split-text p{margin-top:22px;font-size:16px;line-height:2.05}

/* ===== For Bees (dark) ===== */
.section-forbees{background:var(--dark);color:var(--cream);position:relative;overflow:hidden;text-align:center}
.section-forbees::before{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:40px auto;opacity:.1}
.section-forbees .container-narrow{position:relative;z-index:2}
.section-forbees .eyebrow{display:block;margin-top:14px}
.forbees-statement{font-family:var(--serif-ja);font-weight:600;font-size:clamp(26px,3.8vw,42px);line-height:1.7;color:var(--cream);margin:30px auto 30px;max-width:18em}
.forbees-body{font-size:15.5px;line-height:2.15;color:rgba(246,241,228,.78);max-width:38em;margin:0 auto}
.section-forbees .link-more-light{margin-top:34px}

/* ===== Message ===== */
.section-message{background:var(--cream-3)}
.message-quote{font-family:var(--serif-ja);font-weight:600;font-size:clamp(30px,4.6vw,52px);line-height:1.5;color:var(--ink);margin:22px 0 30px}
.message-body{font-size:16px;line-height:2.1;max-width:34em;margin:0 auto}
.message-sign{font-family:var(--serif-ja);font-size:15px;color:var(--ink);margin-top:30px;letter-spacing:0.06em}

/* ===== Closing CTA ===== */
.section-cta{background:var(--cream);text-align:center}
.cta-lead{font-family:var(--serif-ja);font-weight:600;font-size:clamp(24px,3.6vw,40px);color:var(--ink);margin-bottom:40px;letter-spacing:0.03em}

/* ===== Footer ===== */
.footer{background:var(--dark-2);color:rgba(246,241,228,.86);padding:84px 0 36px;position:relative}
.footer-inner{max-width:1180px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.2fr 2fr;gap:50px}
.footer-brand .logo-kabu{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.32em;opacity:.7;margin-bottom:6px}
.footer-brand .logo-name{display:block;font-family:var(--serif-en);font-size:30px;letter-spacing:0.3em;color:var(--cream)}
.footer-logo{height:46px;width:auto;display:block;margin-bottom:6px}
.footer-tagline{margin-top:18px;font-size:14px;line-height:1.9;color:rgba(246,241,228,.6);max-width:20em}
.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.fn-head{display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;color:var(--gold-soft);margin-bottom:18px}
.fn-col a{display:block;font-size:14px;padding:7px 0;color:rgba(246,241,228,.82);transition:color .3s}
.fn-col a:hover{color:var(--cream)}
.footer-base{max-width:1180px;margin:64px auto 0;padding:26px 40px 0;border-top:1px solid rgba(246,241,228,.14);display:flex;gap:34px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:0.05em;color:rgba(246,241,228,.6)}
.footer-copy{max-width:1180px;margin:20px auto 0;padding:0 40px;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;color:rgba(246,241,228,.4)}

/* ===== JP heading orphan guard ===== */
.hero-title,.sec-title,.lead-statement,.message-quote,.forbees-statement,.cta-lead,.work-name,.honey-ja,.season-item h3,.figure-unit{word-break:keep-all;overflow-wrap:break-word}

/* ===== Reveal ===== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:none}
.is-visible .work-card,.is-visible .honey-card,.is-visible .season-item{opacity:0;transform:translateY(22px);animation:cardUp .9s cubic-bezier(.16,1,.3,1) forwards}
.is-visible .work-card:nth-child(2),.is-visible .honey-card:nth-child(2),.is-visible .season-item:nth-child(2){animation-delay:.1s}
.is-visible .work-card:nth-child(3),.is-visible .honey-card:nth-child(3),.is-visible .season-item:nth-child(3){animation-delay:.2s}
.is-visible .honey-card:nth-child(4),.is-visible .season-item:nth-child(4){animation-delay:.3s}
.is-visible .honey-card:nth-child(5){animation-delay:.4s}
.is-visible .honey-card:nth-child(6){animation-delay:.5s}
@keyframes cardUp{to{opacity:1;transform:none}}

/* ===== Responsive ===== */
@media(max-width:980px){
  .work-grid{grid-template-columns:1fr;gap:20px}
  .honey-grid{grid-template-columns:repeat(2,1fr);gap:22px}
  .season-row{grid-template-columns:repeat(2,1fr)}
  .season-item:nth-child(2){border-right:none}
  .season-item:nth-child(1),.season-item:nth-child(2){border-bottom:1px solid var(--line)}
  .split{grid-template-columns:1fr;gap:36px}
  .footer-inner{grid-template-columns:1fr;gap:40px}
}
@media(max-width:680px){
  .header-inner{padding:0 22px}
  .nav-left{display:none}
  .menu-btn{display:flex}
  .nav-store{display:none}
  .header{padding:16px 0}
  .container{padding:0 24px}
  .hero-bg::after{opacity:.12}
  .honey-grid{grid-template-columns:1fr}
  .season-row{grid-template-columns:1fr}
  .season-item{border-right:none;border-bottom:1px solid var(--line)}
  .philosophy-body{margin-left:0}
  .footer-nav{grid-template-columns:1fr 1fr;gap:24px}
  .footer-base{gap:18px}
}
/* ============================================================
   SUB PAGES
   ============================================================ */
/* ----- page hero (door) ----- */
.page-hero{position:relative;min-height:58vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:160px 28px 92px;overflow:hidden}
.ph-bg{position:absolute;inset:-2%;background-size:cover}
.ph-bg::after{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:34px auto;opacity:.16;mix-blend-mode:overlay}
.ph-veil{position:absolute;inset:0}
.page-hero>:not(.ph-bg):not(.ph-veil){position:relative;z-index:2}
.page-hero .eyebrow{margin-bottom:10px}
.ph-title{font-family:var(--serif-ja);font-weight:800;font-size:clamp(38px,6.4vw,80px);line-height:1.26;letter-spacing:.03em;word-break:keep-all;text-shadow:0 2px 26px rgba(20,12,4,.28)}
.ph-lead{margin-top:26px;max-width:600px;font-size:clamp(15px,1.8vw,17px);line-height:2.05}
.page-hero--honey{color:#fff}
.page-hero--honey .ph-bg{background:radial-gradient(120% 80% at 68% 14%,rgba(244,206,128,.55),transparent 55%),linear-gradient(180deg,#3a2c17,#6b4a22 36%,#9c6f2e 66%,#c89b3b)}
.page-hero--honey .ph-veil{background:linear-gradient(180deg,rgba(24,17,8,.46),rgba(24,17,8,.12) 42%,rgba(24,17,8,.42))}
.page-hero--honey .eyebrow{color:var(--gold-soft)}
.page-hero--sage{color:#fff}
.page-hero--sage .ph-bg{background:radial-gradient(120% 80% at 60% 18%,rgba(168,186,138,.5),transparent 55%),linear-gradient(180deg,#39422f,#586348 52%,#7c8763)}
.page-hero--sage .ph-veil{background:linear-gradient(180deg,rgba(25,28,18,.42),rgba(25,28,18,.1) 42%,rgba(25,28,18,.38))}
.page-hero--sage .eyebrow{color:#e8ead2}
.page-hero--dark{color:var(--cream)}
.page-hero--dark .ph-bg{background:var(--dark)}
.page-hero--dark .ph-bg::after{opacity:.1}
.page-hero--dark .eyebrow{color:var(--gold-soft)}
.page-hero--cream{color:var(--ink);background:var(--cream-3)}
.page-hero--cream .ph-title{color:var(--ink);text-shadow:none}
.page-hero--cream .ph-lead{color:var(--ink-soft)}
.page-hero--cream .eyebrow{color:var(--gold-deep)}
.page-hero--cream::after{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:40px auto;opacity:.05}
/* ----- generic sub section ----- */
.page-section{padding:clamp(70px,9vw,120px) 0}
.page-section--alt{background:var(--cream-2)}
.page-section--dark{background:var(--dark);color:var(--cream);position:relative;overflow:hidden}
.page-section--dark::before{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:40px auto;opacity:.1}
.page-section--dark .container{position:relative;z-index:2}
/* ----- prose ----- */
.prose{max-width:720px;margin:0 auto}
.prose-lead{font-family:var(--serif-ja);font-weight:500;font-size:clamp(20px,2.6vw,28px);line-height:1.85;color:var(--ink);margin-bottom:34px;letter-spacing:.02em;word-break:keep-all}
.page-section--dark .prose-lead{color:var(--cream)}
.prose p{margin-bottom:24px;font-size:16px;line-height:2.15}
.prose p:last-child{margin-bottom:0}
.page-section--dark .prose p{color:rgba(246,241,228,.82)}
/* ----- editorial split ----- */
.ed{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center;margin-top:48px}
.ed:first-of-type{margin-top:0}
.ed.rev .ed-media{order:2}
.ed-media{aspect-ratio:4/5;border-radius:4px;position:relative;overflow:hidden}
.ed-media::after{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:32px auto;opacity:.14}
.ed-num{font-family:var(--mono);font-size:13px;color:var(--gold-deep);letter-spacing:.1em}
.ed-title{font-family:var(--serif-ja);font-weight:700;font-size:clamp(24px,3.4vw,38px);color:var(--ink);margin:14px 0 18px;word-break:keep-all}
.ed-text{font-size:16px;line-height:2.1}
.ed-text+.ed-text{margin-top:16px}
/* media tints (placeholders until photos arrive) */
.m-gold{background:radial-gradient(90% 60% at 30% 25%,rgba(244,210,140,.7),transparent 60%),linear-gradient(160deg,#e7c878,#c8922f 55%,#8a5a22)}
.m-amber{background:linear-gradient(160deg,#d8a64a,#9e6320 60%,#5e3a16)}
.m-sage{background:linear-gradient(160deg,#9aa67e,#6c7850 55%,#454e32)}
.m-dark{background:linear-gradient(160deg,#4a4232,#2c2c20)}
.m-acacia{background:linear-gradient(160deg,#f0d98f,#dcb152)}
.m-renge{background:linear-gradient(160deg,#e6bd5e,#c8922f)}
.m-mikan{background:linear-gradient(160deg,#edb45a,#d4801f)}
.m-hyakka{background:linear-gradient(160deg,#cf9a45,#9e6320)}
.m-soba{background:linear-gradient(160deg,#7a5430,#3c2815)}
/* ----- honey detail ----- */
.honey-detail{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:62px 0;border-top:1px solid var(--line)}
.honey-detail:first-of-type{border-top:none;padding-top:0}
.honey-detail.rev .hd-media{order:2}
.hd-media{aspect-ratio:5/4;border-radius:4px;position:relative;overflow:hidden}
.hd-media::after{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:30px auto;opacity:.12}
.hd-en{font-family:var(--serif-en);font-style:italic;font-size:17px;color:var(--gold-deep)}
.hd-name{font-family:var(--serif-ja);font-weight:700;font-size:clamp(26px,3.4vw,38px);color:var(--ink);margin:6px 0 18px;word-break:keep-all}
.hd-text{font-size:16px;line-height:2.1;margin-bottom:20px}
.hd-tags{display:flex;gap:10px;flex-wrap:wrap}
.hd-tag{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--gold-deep);border:1px solid var(--line-strong);border-radius:999px;padding:6px 15px}
/* ----- note ----- */
.note{max-width:720px;margin:54px auto 0;font-size:14px;line-height:1.95;color:var(--ink-mute);border-left:2px solid var(--gold);padding-left:20px}
/* ----- use grid (table page) ----- */
.use-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:52px}
.use-card{background:var(--cream-3);border:1px solid var(--line);border-radius:4px;padding:38px 34px;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.use-card:hover{transform:translateY(-5px)}
.use-no{font-family:var(--mono);font-size:13px;color:var(--gold-deep);letter-spacing:.1em}
.use-title{font-family:var(--serif-ja);font-weight:700;font-size:21px;color:var(--ink);margin:14px 0 12px}
.use-text{font-size:15px;line-height:1.95}
/* ----- info table (company) ----- */
.info-table{width:100%;max-width:840px;margin:0 auto;border-collapse:collapse;border-top:1px solid var(--line-strong)}
.info-table tr{border-bottom:1px solid var(--line)}
.info-table th{text-align:left;width:32%;padding:24px 18px 24px 4px;font-family:var(--serif-ja);font-weight:600;font-size:15px;color:var(--ink);vertical-align:top;letter-spacing:.04em}
.info-table td{padding:24px 4px;font-size:15px;line-height:1.95;color:var(--ink-soft);vertical-align:top}
/* ----- store grid ----- */
.store-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;margin-top:56px}
.store-card{display:flex;flex-direction:column;width:calc((100% - 60px)/3);background:var(--cream);border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.store-card:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(38,35,29,.1)}
.store-jar{aspect-ratio:4/3;position:relative}
.store-jar::after{content:"";position:absolute;inset:0;background-image:var(--hc);background-size:30px auto;opacity:.12}
.store-meta{padding:26px 28px 30px}
.store-en{font-family:var(--serif-en);font-style:italic;font-size:15px;color:var(--gold-deep)}
.store-name{font-family:var(--serif-ja);font-weight:700;font-size:22px;color:var(--ink);margin:4px 0 10px}
.store-note{font-size:14px;line-height:1.9;color:var(--ink-soft)}
.store-vol{font-family:var(--mono);font-size:12px;color:var(--ink-mute);margin-top:14px}
.store-cta{text-align:center;margin-top:64px}
.shops{max-width:720px;margin:0 auto;border-top:1px solid var(--line)}
.shop-row{display:flex;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);font-size:15px}
.shop-name{font-family:var(--serif-ja);font-weight:600;color:var(--ink)}
.shop-addr{color:var(--ink-soft);font-size:14px;text-align:right}
/* ----- contact form ----- */
.contact-wrap{max-width:680px;margin:0 auto}
.form-field{margin-bottom:26px}
.form-field label{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink);margin-bottom:11px}
.form-field input,.form-field select,.form-field textarea{width:100%;background:var(--cream);border:1px solid var(--line-strong);border-radius:3px;padding:14px 16px;font-family:var(--sans);font-size:15px;color:var(--ink);transition:border-color .3s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--gold-deep)}
.form-field textarea{min-height:150px;resize:vertical}
.form-submit{text-align:center;margin-top:8px}
.contact-direct{display:flex;gap:44px;justify-content:center;flex-wrap:wrap;margin-top:66px;padding-top:50px;border-top:1px solid var(--line)}
.cd-item{text-align:center}
.cd-label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink-mute)}
.cd-value{font-family:var(--serif-en);font-size:20px;color:var(--ink);margin-top:8px;letter-spacing:.02em}
/* ----- sign ----- */
.msg-sign{font-family:var(--serif-ja);font-size:16px;color:var(--ink);margin-top:40px;letter-spacing:.06em;text-align:right;max-width:720px;margin-left:auto;margin-right:auto}
/* ----- sub responsive ----- */
@media(max-width:880px){
  .ed,.honey-detail{grid-template-columns:1fr;gap:30px}
  .ed.rev .ed-media,.honey-detail.rev .hd-media{order:0}
  .use-grid{grid-template-columns:1fr}
  .store-card{width:calc((100% - 30px)/2)}
}
@media(max-width:680px){
  .page-hero{padding:130px 22px 70px}
  .info-table th{width:42%;font-size:14px;padding:16px 10px 16px 2px}
  .info-table td{font-size:14px;padding:16px 2px}
  .store-card{width:100%}
  .contact-direct{gap:26px}
  .shop-row{flex-direction:column;gap:6px}
  .shop-addr{text-align:left}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ===== real photos ===== */
.hero-bg::after,.honey-jar::after,.split-media::after,.hd-media::after,.ed-media::after{display:none}
.honey-jar[data-honey="acacia"]{background:#e7c66a url('../images/honey-acacia.jpg') center/cover no-repeat}
.honey-jar[data-honey="renge"]{background:#d8a93f url('../images/honey-renge.jpg') center/cover no-repeat}
.honey-jar[data-honey="mikan"]{background:#e0a23f url('../images/honey-mikan.jpg') center/cover no-repeat}
.honey-jar[data-honey="hyakka"]{background:#c8893a url('../images/honey-hyakka.jpg') center/cover no-repeat}
.honey-jar[data-honey="soba"]{background:#6e4a26 url('../images/honey-soba.jpg') center/cover no-repeat}
.split-media[data-media="table"]{background:#c8922f url('../images/table-meal.jpg') center/cover no-repeat}
.m-acacia{background:#e7c66a url('../images/honey-acacia.jpg') center/cover no-repeat}
.m-renge{background:#d8a93f url('../images/honey-renge.jpg') center/cover no-repeat}
.m-mikan{background:#e0a23f url('../images/honey-mikan.jpg') center/cover no-repeat}
.m-hyakka{background:#c8893a url('../images/honey-hyakka.jpg') center/cover no-repeat}
.m-soba{background:#6e4a26 url('../images/honey-soba.jpg') center/cover no-repeat}
.img-work-noheat{background:#c8922f url('../images/work-noheat.jpg') center/cover no-repeat}
.img-work-pure{background:#d8a64a url('../images/work-pure.jpg') center/cover no-repeat}
.img-work-leave{background:#8a5a22 url('../images/work-leave.jpg') center/cover no-repeat}
.img-season-spring{background:#9aa67e url('../images/season-spring.jpg') center/cover no-repeat}
.img-season-summer{background:#6c7850 url('../images/season-summer.jpg') center/cover no-repeat}
.img-season-autumn{background:#b5732a url('../images/season-autumn.jpg') center/cover no-repeat}
.img-season-winter{background:#8a99a6 url('../images/season-winter.jpg') center/cover no-repeat}
.img-table-gift{background:#c8922f url('../images/table-gift.jpg') center/cover no-repeat}
@media(max-width:680px){.hero-bg{background-image:url('../images/hero-sp.jpg')}}

/* ===== mobile fixed buy bar ===== */
.mobile-buy-bar{display:none}
@media(max-width:680px){
  .mobile-buy-bar{display:flex;align-items:center;justify-content:center;position:fixed;left:0;bottom:0;width:100%;z-index:700;background:var(--gold-deep);color:#fff;font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:0.08em;padding:18px 0;box-shadow:0 -4px 20px rgba(20,12,4,.2)}
  .mobile-buy-bar:active{background:#8a591e}
  body{padding-bottom:62px}
  .hero .eyebrow{font-size:9.5px;letter-spacing:0.05em}
}
