:root{--bg:#f4f0ea;--ink:#111;--line:#ded8d1}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Mincho ProN",sans-serif}a{color:inherit;text-decoration:none}
.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.header{height:82px;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #eee}.header-inner{height:100%;display:grid;grid-template-columns:245px 1fr auto;align-items:center;padding:0 34px;gap:20px}.brand img{width:180px;height:54px;object-fit:contain;object-position:left center}.nav{display:flex;justify-content:center;align-items:center;gap:26px;height:100%;font-size:18px;font-weight:600}.nav>a,.nav-item>button{border:0;background:none;padding:12px 14px;border-radius:24px;font:inherit;cursor:pointer}.nav>a:hover,.nav-item>button:hover{background:#eeeae5}.nav-item{height:100%;display:flex;align-items:center;position:relative}.dropdown{position:absolute;top:70px;left:50%;transform:translateX(-50%) translateY(8px);width:290px;padding:12px 0;background:#fff;border:1px solid #ddd;border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.08);opacity:0;visibility:hidden;transition:.18s}.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.dropdown a{display:block;padding:10px 20px;color:#666}.dropdown a:hover{background:#f5f3f0;color:#111}.header-actions{display:flex;align-items:center;gap:8px}.pill{background:#111;color:#fff;border-radius:24px;padding:12px 19px;font-weight:700}.lang{position:relative}.lang>button{height:44px;padding:0 16px;border:1px solid #ddd;background:#fff;border-radius:24px;font-weight:600}.lang-menu{position:absolute;right:0;top:50px;width:120px;background:#fff;border:1px solid #ddd;display:none}.lang:hover .lang-menu{display:block}.lang-menu button{width:100%;border:0;background:none;text-align:left;padding:10px 14px}

main{max-width:1440px;margin:0 auto;background:#f7f3ee}
.hero{min-height:620px;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;padding:0 55px;padding-bottom:15px;border-bottom:1px solid var(--line)}.hero-copy{padding-left:10px}.hero-title{font-size:45px;font-weight:600;line-height:1.04;margin:0 0 28px}.hero-title em{font-weight:400}.hero-copy>p:not(.hero-title){font-size:18px;line-height:1.9;margin-bottom:26px}.black-btn{display:inline-block;background:#111;color:#fff;padding:16px 28px;font-size:12px;font-weight:700;letter-spacing:.08em}.hero-image{display:flex;align-items:flex-start;justify-content:center}.hero-image img{width:100%;height:100%;object-fit:cover}

.philosophy{display:grid;grid-template-columns:1.12fr .88fr;min-height:390px;border-bottom:1px solid var(--line)}.philosophy>img{width:100%;height:100%;object-fit:cover}.philosophy-copy{padding:52px 68px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:16px;letter-spacing:.13em;font-weight:600}.philosophy h2,.featured h2,.journal h2{font-size:45px;font-weight:600;line-height:1.1;margin:19px 0}.philosophy p,.journal p{font-size:18px;line-height:1.9;color:#444}

.featured{padding:20px 55px 34px;text-align:center}.center-title{margin-bottom:20px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-grid img{display:block;width:100%;aspect-ratio:1.55/1;object-fit:cover}.under-link{display:inline-block;margin-top:16px}

.journal{margin:0 55px 18px;display:grid;grid-template-columns:.8fr 2.2fr;min-height:300px;border:1px solid var(--line)}.journal-copy{padding:40px}.journal img{width:100%;height:100%;object-fit:cover}

.instagram{display:grid;grid-template-columns:260px 1fr;background:#ece7e1;min-height:90px}.ig-label{display:flex;align-items:center;gap:16px;padding:0 45px;font-size:10px}.ig-label b{font-size:34px}.ig-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:8px}.ig-strip img{width:100%;height:100%;object-fit:cover}

footer{max-width:1440px;margin:0 auto;background:#f7f3ee;padding:34px 50px 18px;display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:34px}.footer-brand img{width:190px;height:55px;object-fit:contain;object-position:left}.footer-brand p{font-size:10px;line-height:1.6}.footer-brand~div b{display:block;font-size:10px;margin-bottom:8px}.footer-brand~div a{display:block;font-size:9px;line-height:1.8;color:#444}footer>small{grid-column:1/-1;text-align:center;font-size:9px;margin-top:10px}

@media(max-width:1080px){.header-inner{grid-template-columns:1fr auto}.nav{display:none}.hero{grid-template-columns:1fr;padding:42px 24px}.hero-image{height:auto}.hero-image img{aspect-ratio:4/5}.philosophy{grid-template-columns:1fr}.journal{grid-template-columns:1fr;margin:0 20px 18px}.instagram{grid-template-columns:1fr}.ig-label{padding:18px 24px}.feature-grid{grid-template-columns:1fr}.featured{padding:22px 20px}.footer{grid-template-columns:repeat(2,1fr)}}

/* v2: header language icon + transparent logo */
.brand{display:flex;align-items:center;height:100%}
.brand img{width:180px;height:48px;object-fit:contain;object-position:left center}
.lang-trigger{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.chevron-icon{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.lang:hover .chevron-icon{transform:rotate(180deg)}


/* ===== Editorial V3 adjustments ===== */
:root{
  --bg:#F6F3EE!important;
  --ink:#111;
  --line:transparent!important;
}

html,
body,
main,
footer,
.header,
.hero,
.philosophy,
.featured,
.journal,
.instagram{
  background:#fff!important;
}

/* Remove all section divider lines. */
.header,
.hero,
.philosophy,
.journal,
footer{
  border:0!important;
}
.hero,
.philosophy,
.featured,
.journal,
.instagram{
  border-top:0!important;
  border-bottom:0!important;
}

/* New transparent header logo. */
.brand img{
  width:190px!important;
  height:48px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Hero: left copy / centered portrait image / right breathing space. */
.hero{
  min-height:650px!important;
  display:grid!important;
  grid-template-columns:minmax(320px, .9fr) minmax(420px, 620px) minmax(180px, .55fr)!important;
  align-items:center!important;
  padding:0 56px!important;
  column-gap:34px!important;
  padding-bottom: 15px !important;
}
.hero-copy{
  grid-column:1!important;
  padding-left:0!important;
  max-width:430px!important;
}
.hero-image{
  grid-column:2!important;
  height:100%!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.hero-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}

/* Keep the third column intentionally blank. */
.hero::after{
  content:"";
  grid-column:3;
}

/* Unify inner section/background tone. */
main{
  max-width:1440px!important;
  margin:0 auto!important;
  background:#fff!important;
}
.instagram{
  background:#fff!important;
}

/* Footer should also blend into page background without divider line. */
footer{
  background:#fff!important;
  border-top:0!important;
}

@media(max-width:1080px){
  .hero{
    grid-template-columns:1fr!important;
    padding:40px 24px!important;
    row-gap:28px!important;
  }
  .hero-copy,
  .hero-image{
    grid-column:1!important;
  }
  .hero::after{
    display:none!important;
  }
  .hero-image{
    height:auto!important;
    max-width:640px!important;
    margin:0 auto!important;
  }
  .hero-image img{
    aspect-ratio:4/5!important;
    object-fit:cover!important;
  }
}


/* ===== V6 DESKTOP HEADER POSITION LOCK =====
   Logo / center nav / right tools no longer influence one another.
   This removes the visible jump when moving between HOME and SHOP.
*/
@media(min-width:1081px){
  .header{
    height:82px!important;
    font-family:"Noto Sans JP",sans-serif!important;
  }
  .header-inner{
    position:relative!important;
    display:block!important;
    height:82px!important;
    padding:0!important;
    max-width:none!important;
    width:100%!important;
  }
  .header .brand{
    position:absolute!important;
    left:34px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    height:54px!important;
    display:flex!important;
    align-items:center!important;
  }
  .header .brand img{
    width:180px!important;
    height:54px!important;
    display:block!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .header .nav{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    height:82px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:26px!important;
    font-family:"Noto Sans JP",sans-serif!important;
    font-size:18px!important;
    font-weight:600!important;
    white-space:nowrap!important;
  }
  .header .nav>a,.header .nav-item>button{
    font-family:"Noto Sans JP",sans-serif!important;
    font-size:18px!important;
    font-weight:600!important;
    line-height:1.45!important;
    letter-spacing:0!important;
  }
  .header .header-actions{
    position:absolute!important;
    right:34px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:320px!important;
    height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
  }
}


/* ===== V6.1 HOME HEADER RIGHT ACTIONS FIX ===== */
@media(min-width:1081px){
  .header .header-actions{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
  }
  .header .header-actions .header-cta,
  .header .header-actions .header-mypage,
  .header .header-actions .lang-trigger{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
  .header .header-actions .header-cta,
  .header .header-actions .header-mypage{
    height:46px!important;
    padding:0 20px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
  }
  .header .header-actions .lang-trigger{
    height:46px!important;
    padding:0 16px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border-radius:999px!important;
  }
}
