body.juntetsu-premium {
  --shikkoku: #0C0C0C;
  --rich-black: #141414;
  --ink: #1a1a1a;
  --kinari: #EAE6E1;
  --paper: #F4EFE7;
  --silver: #8A8A8A;
  --iron: #484848;
  --aka: #9A0D1C;
  --shu: #BE3A2B;
  --kin: #D4AF37;
  --warm-gold: #B8A055;
  --a-hajime: #DCD3C2;
  --a-kaze: #7B9BA6;
  --a-miyabi: #C08A9E;
  --a-kiwami: #9A0D1C;
  --hairline: rgba(234,230,225,0.12);
  --hairline-strong: rgba(234,230,225,0.22);
  --f-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --f-kanji-serif: 'Noto Serif JP', serif;
  --f-kanji: 'Noto Sans JP', sans-serif;
  --f-body: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  background: var(--shikkoku);
  color: var(--kinari);
  font-family: var(--f-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
body.juntetsu-premium * { box-sizing: border-box; }
body.juntetsu-premium img, body.juntetsu-premium svg { max-width: 100%; display: block; }
body.juntetsu-premium ::selection { background: var(--aka); color: var(--kinari); }


/* ============================================================
   JUNTETSU · Design tokens
   ============================================================ */


/* Noise / grain overlay for washi feel */
body.juntetsu-premium .grain {position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/></svg>");
}

/* ============================================================
   Reset — neutralise the 70px body padding-top from
   _sass/yat/_navigation.scss (added for the legacy fixed header).
   The premium layout uses a sticky nav, so that rule shows up as
   an empty bar above the nav.
   ============================================================ */
body.juntetsu-premium {
  padding-top:0;
}

/* ============================================================
   Site — mobile first
   ============================================================ */
body.juntetsu-premium .site {
  --edge:22px;
  width:100%;
  background:var(--shikkoku);
  color:var(--kinari);
  font-family:var(--f-body);
  container-type:inline-size;
  container-name:site;
  position:relative;
  overflow:hidden;
}

/* Tategaki rail — removed for restraint */
body.juntetsu-premium .tategaki-rail {display:none !important}
  width:56px;
  border-right:1px solid var(--hairline);
  pointer-events:none;
  z-index:4;
}
body.juntetsu-premium .tategaki-rail .tate{
  writing-mode:vertical-rl;
  font-family:var(--f-kanji-serif);
  font-weight:300;
  color:var(--silver);
  font-size:11px;
  letter-spacing:0.6em;
  position:absolute;top:160px;left:50%;transform:translateX(-50%);
}
body.juntetsu-premium .tategaki-rail .tate-bottom{top:auto;bottom:160px;color:var(--iron)}
body.juntetsu-premium .tategaki-rail::before{
  content:"";position:absolute;left:50%;top:40px;width:1px;height:80px;background:var(--kin);
}

/* ============================================================
   NAV
   ============================================================ */
body.juntetsu-premium .nav{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--edge);
  background:linear-gradient(to bottom, rgba(12,12,12,0.92) 0%, rgba(12,12,12,0.72) 70%, rgba(12,12,12,0) 100%);
  backdrop-filter:blur(10px);
}
body.juntetsu-premium .nav .logo{
  display:flex;align-items:center;gap:14px;
  text-decoration:none;color:var(--kinari);
}
body.juntetsu-premium .nav .logo .logo-mark{
  display:block;height:36px;width:auto;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,0.35));
  transition:opacity .25s ease, transform .4s cubic-bezier(.2,.7,.2,1);
}
body.juntetsu-premium .nav .logo:hover .logo-mark{opacity:.88;transform:translateY(-1px)}
body.juntetsu-premium .nav .logo .logo-en{
  font-family:var(--f-display);font-weight:300;
  font-size:14px;letter-spacing:0.38em;line-height:1;
  padding-left:14px;border-left:1px solid var(--hairline);
}
body.juntetsu-premium .nav .logo .logo-en small{display:block;font-size:8px;letter-spacing:0.3em;color:var(--silver);margin-top:4px;font-family:var(--f-body)}
@media (max-width: 560px){
  body.juntetsu-premium .nav .logo .logo-mark{height:30px}
  body.juntetsu-premium .nav .logo .logo-en{display:none}
}
body.juntetsu-premium .nav .links{display:none}
body.juntetsu-premium .nav .burger{
  position:relative;
  width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  background:transparent;border:1px solid var(--hairline);border-radius:2px;cursor:pointer;
  transition:border-color .25s ease;
}
body.juntetsu-premium .nav .burger:hover{border-color:var(--kin)}
body.juntetsu-premium .nav .burger span{display:block;width:18px;height:1px;background:var(--kinari);transition:transform .35s cubic-bezier(.7,0,.3,1), opacity .25s ease}
body.juntetsu-premium .nav .burger span:last-child{width:12px;background:var(--kin)}
body.juntetsu-premium .nav .burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg);width:18px;background:var(--kin)}
body.juntetsu-premium .nav .burger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
body.juntetsu-premium .nav .burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);width:18px;background:var(--kin)}

/* ============================================================
   MOBILE DRAWER
   ============================================================ */
body.juntetsu-premium .drawer-scrim{
  position:fixed;inset:0;
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;
  transition:opacity .4s ease;
  z-index:30;
}
body.juntetsu-premium .drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(88%, 420px);
  background:#0a0a0a;
  border-left:1px solid var(--hairline-strong);
  z-index:31;
  transform:translateX(100%);
  transition:transform .55s cubic-bezier(.7,0,.2,1);
  display:flex;flex-direction:column;
  overflow:hidden;
  box-shadow:-40px 0 80px -20px rgba(0,0,0,0.8);
}
body.juntetsu-premium .drawer::before{
  content:"";position:absolute;top:0;bottom:0;left:0;width:1px;
  background:linear-gradient(to bottom, transparent, var(--kin) 20%, var(--kin) 80%, transparent);
  opacity:.4;
}
body.juntetsu-premium .drawer.is-open{transform:translateX(0)}
body.juntetsu-premium .drawer-scrim.is-open{opacity:1;pointer-events:auto}
body.juntetsu-premium .drawer-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:22px 24px;
  border-bottom:1px solid var(--hairline);
  position:relative;
}
body.juntetsu-premium .drawer-head::after{
  content:"";position:absolute;left:24px;right:24px;bottom:-1px;height:1px;
  background:linear-gradient(to right, transparent, var(--kin) 30%, var(--kin) 70%, transparent);
  opacity:.35;
}
body.juntetsu-premium .drawer-logo{
  display:flex;align-items:center;gap:14px;
  text-decoration:none;color:var(--kinari);min-width:0;
}
body.juntetsu-premium .drawer-logo img{
  display:block;height:46px;width:auto;flex:0 0 auto;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,0.4));
}
body.juntetsu-premium .drawer-logo .drawer-logo-en{
  font-family:var(--f-display);font-weight:300;
  font-size:13px;letter-spacing:0.38em;line-height:1;color:var(--kinari);
  padding-left:14px;border-left:1px solid var(--hairline);
  white-space:nowrap;
}
body.juntetsu-premium .drawer-logo .drawer-logo-en small{
  display:block;font-family:var(--f-body);font-size:7.5px;
  letter-spacing:0.3em;color:var(--silver);margin-top:5px;text-transform:uppercase;
}
@media (max-width: 400px){
  body.juntetsu-premium .drawer-logo img{height:40px}
  body.juntetsu-premium .drawer-logo .drawer-logo-en{display:none}
}
body.juntetsu-premium .drawer-close{
  width:40px;height:40px;border:1px solid var(--hairline);background:transparent;color:var(--kinari);
  cursor:pointer;position:relative;
}
body.juntetsu-premium .drawer-close::before, body.juntetsu-premium .drawer-close::after{
  content:"";position:absolute;left:50%;top:50%;width:14px;height:1px;background:var(--kin);
}
body.juntetsu-premium .drawer-close::before{transform:translate(-50%,-50%) rotate(45deg)}
body.juntetsu-premium .drawer-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
body.juntetsu-premium .drawer-nav{
  flex:1;
  padding:12px 24px;
  display:flex;flex-direction:column;
  overflow-y:auto;
}
body.juntetsu-premium .drawer-nav a{
  position:relative;
  display:flex;align-items:baseline;justify-content:space-between;
  padding:22px 0;
  border-bottom:1px solid var(--hairline);
  color:var(--kinari);text-decoration:none;
  font-family:var(--f-display);font-weight:300;font-size:30px;letter-spacing:0.01em;line-height:1;
  transition:padding-left .3s ease, color .25s ease;
}
body.juntetsu-premium .drawer-nav a:hover{color:var(--kin);padding-left:8px}
body.juntetsu-premium .drawer-nav a .num{font-family:var(--f-display);font-style:italic;font-size:11px;color:var(--iron);letter-spacing:0.25em}
body.juntetsu-premium .drawer-nav a .ja{display:block;font-family:var(--f-kanji);font-size:10px;letter-spacing:0.35em;color:var(--silver);margin-top:8px;font-weight:300}
/* entrance animation for each link */
body.juntetsu-premium .drawer.is-open .drawer-nav a{animation:drawerIn .7s cubic-bezier(.2,.7,.2,1) both}
body.juntetsu-premium .drawer.is-open .drawer-nav a:nth-child(1){animation-delay:.08s}
body.juntetsu-premium .drawer.is-open .drawer-nav a:nth-child(2){animation-delay:.14s}
body.juntetsu-premium .drawer.is-open .drawer-nav a:nth-child(3){animation-delay:.20s}
body.juntetsu-premium .drawer.is-open .drawer-nav a:nth-child(4){animation-delay:.26s}
body.juntetsu-premium .drawer.is-open .drawer-nav a:nth-child(5){animation-delay:.32s}
@keyframes drawerIn{
body.juntetsu-premium from {opacity:0;transform:translateY(10px)}
body.juntetsu-premium to {opacity:1;transform:translateY(0)}
}
body.juntetsu-premium .drawer-foot{
  padding:28px 24px 32px;
  border-top:1px solid var(--hairline);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
body.juntetsu-premium .drawer-foot .meta{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:var(--silver);line-height:1.8}
body.juntetsu-premium .drawer-foot .meta b{color:var(--kinari);font-weight:400;display:block;font-family:var(--f-display);font-size:13px;letter-spacing:0.15em;margin-top:4px}
body.juntetsu-premium .drawer-foot .seal-mini{
  width:46px;height:46px;border-radius:50%;background:var(--aka);color:var(--kinari);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-kanji-serif);font-size:20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);
}

/* ============================================================
   LANGUAGE PANEL — full-height overlay, calm, editorial
   ============================================================ */
body.juntetsu-premium .lang-trigger{
  appearance:none;background:transparent;border:1px solid var(--hairline);
  color:var(--silver);cursor:pointer;
  padding:8px 12px;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-body);font-size:10px;letter-spacing:0.25em;text-transform:uppercase;
  transition:color .25s, border-color .25s;
}
body.juntetsu-premium .lang-trigger:hover{color:var(--kinari);border-color:var(--kin)}
body.juntetsu-premium .lang-trigger .glob{font-family:var(--f-kanji-serif);font-size:11px;color:var(--kin)}
body.juntetsu-premium .lang-trigger .cur{color:var(--kinari)}
body.juntetsu-premium .lang-trigger .chev{font-size:8px;opacity:.6}
body.juntetsu-premium .lang-panel{
  position:fixed;inset:0;z-index:40;
  background:rgba(8,8,8,0.96);
  backdrop-filter:blur(20px);
  opacity:0;pointer-events:none;
  transition:opacity .5s ease;
  display:flex;flex-direction:column;
  overflow-y:auto;
}
body.juntetsu-premium .lang-panel.is-open{opacity:1;pointer-events:auto}
body.juntetsu-premium .lang-panel-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px var(--edge);
  border-bottom:1px solid var(--hairline);
}
body.juntetsu-premium .lang-panel-head .kj{font-family:var(--f-kanji-serif);font-size:14px;color:var(--silver);letter-spacing:0.35em}
body.juntetsu-premium .lang-panel-head .kj b{color:var(--kinari);font-weight:400}
body.juntetsu-premium .lang-panel-close{
  width:40px;height:40px;border:1px solid var(--hairline);background:transparent;
  position:relative;cursor:pointer;
}
body.juntetsu-premium .lang-panel-close::before, body.juntetsu-premium .lang-panel-close::after{
  content:"";position:absolute;left:50%;top:50%;width:14px;height:1px;background:var(--kin);
}
body.juntetsu-premium .lang-panel-close::before{transform:translate(-50%,-50%) rotate(45deg)}
body.juntetsu-premium .lang-panel-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
body.juntetsu-premium .lang-groups{padding:48px var(--edge) 60px;display:flex;flex-direction:column;gap:48px}
body.juntetsu-premium .lang-group h6{
  font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:var(--silver);
  margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--hairline);
  display:flex;align-items:baseline;gap:14px;
}
body.juntetsu-premium .lang-group h6 .ja{font-family:var(--f-kanji-serif);font-weight:300;color:var(--iron);letter-spacing:0.3em;font-size:10px}
body.juntetsu-premium .lang-list{display:grid;grid-template-columns:1fr;gap:0}
body.juntetsu-premium .lang-list a{
  display:flex;align-items:baseline;justify-content:space-between;
  padding:16px 0;border-bottom:1px solid var(--hairline);
  color:var(--kinari);text-decoration:none;
  transition:padding-left .3s ease, color .25s;
}
body.juntetsu-premium .lang-list a:hover{color:var(--kin);padding-left:10px}
body.juntetsu-premium .lang-list a .native{font-family:var(--f-kanji-serif);font-weight:300;font-size:20px;letter-spacing:0.04em}
body.juntetsu-premium .lang-list a .english{font-family:var(--f-body);font-size:10px;letter-spacing:0.3em;color:var(--silver);text-transform:uppercase}
body.juntetsu-premium .lang-list a.is-active .native{color:var(--kin)}
body.juntetsu-premium .lang-list a.is-active::after{
  content:"·";color:var(--kin);margin-left:8px;
}
@container site (min-width: 720px){
body.juntetsu-premium .lang-groups {display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:56px 56px 80px}
}

/* ============================================================
   EDITORIAL image plates — full-bleed moments with slim caption rail
   ============================================================ */
body.juntetsu-premium .plate-editorial{
  position:relative;width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  background:#0a0a0a;
}
body.juntetsu-premium .plate-editorial img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:contrast(1.05) saturate(0.9);
}
body.juntetsu-premium .plate-editorial .veil{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg, rgba(12,12,12,0.55) 0%, rgba(12,12,12,0.15) 22%, rgba(12,12,12,0.15) 55%, rgba(12,12,12,0.85) 100%),
    linear-gradient(90deg, rgba(12,12,12,0.35) 0%, transparent 30%, transparent 70%, rgba(12,12,12,0.35) 100%);
}
body.juntetsu-premium .plate-editorial .caption{
  position:absolute;bottom:28px;left:28px;right:28px;z-index:2;
  display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
}
body.juntetsu-premium .plate-editorial .caption .tate{
  writing-mode:vertical-rl;
  font-family:var(--f-kanji-serif);font-weight:300;
  color:var(--kinari);font-size:14px;letter-spacing:0.4em;
  text-shadow:0 2px 8px rgba(0,0,0,0.8);
}
body.juntetsu-premium .plate-editorial .caption .meta{
  font-family:var(--f-body);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--kinari);text-align:right;line-height:1.8;
  text-shadow:0 1px 8px rgba(0,0,0,0.7);
}
body.juntetsu-premium .plate-editorial .caption .meta b{color:var(--kin);font-weight:400}
body.juntetsu-premium .plate-editorial .corner-tl{
  position:absolute;top:22px;left:22px;z-index:2;
  font-family:var(--f-kanji);font-size:10px;letter-spacing:0.35em;color:var(--kinari);
  text-shadow:0 1px 8px rgba(0,0,0,0.75);
}
body.juntetsu-premium .plate-editorial .corner-tr{
  position:absolute;top:22px;right:22px;z-index:2;
  font-family:var(--f-display);font-size:10px;letter-spacing:0.35em;color:var(--kinari);
  text-shadow:0 1px 8px rgba(0,0,0,0.75);
}
@container site (min-width: 720px){
body.juntetsu-premium .plate-editorial {aspect-ratio:16/9}
}

/* ============================================================
   HERO
   ============================================================ */
body.juntetsu-premium .hero{
  position:relative;
  min-height:620px;
  padding:20px var(--edge) 80px;
  overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
  isolation:isolate;
}
body.juntetsu-premium .hero-bg{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg, rgba(12,12,12,0.55) 0%, rgba(12,12,12,0.35) 40%, rgba(12,12,12,0.85) 100%),
    url("/assets/images/editorial/banner.jpg") center/cover no-repeat,
    #0a0a0a;
}
/* stronger gradient under the copy so body text is always readable */
body.juntetsu-premium .hero-bg::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 70% 30%, transparent 0%, rgba(0,0,0,0.4) 80%),
    radial-gradient(ellipse at 30% 70%, transparent 0%, rgba(0,0,0,0.5) 80%),
    linear-gradient(180deg, rgba(12,12,12,0.1) 0%, rgba(12,12,12,0.1) 45%, rgba(12,12,12,0.65) 100%);
}
/* the film-grain strip at edge */
body.juntetsu-premium .hero-bg::after{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg, transparent 0 3px, rgba(255,255,255,0.008) 3px 4px);
  mix-blend-mode:overlay;opacity:.4;
}
/* Hero frame — removed for restraint */
body.juntetsu-premium .hero-frame{display:none}
body.juntetsu-premium .hero .index{
  position:absolute;top:30px;right:var(--edge);
  font-family:var(--f-kanji);font-weight:300;
  font-size:10px;letter-spacing:0.35em;color:var(--silver);
  z-index:2;
  display:none;
}
@container site (min-width: 720px){
body.juntetsu-premium .hero .index {display:block;top:40px;right:80px}
}
body.juntetsu-premium .hero .index b{color:var(--kinari);font-weight:300}
body.juntetsu-premium .hero-kanji-mark{display:none}
body.juntetsu-premium .hero-eyebrow{
  display:flex;align-items:center;gap:14px;
  font-size:10px;letter-spacing:0.35em;text-transform:uppercase;color:#b8b2a8;
  margin-bottom:26px;
  text-shadow:0 1px 8px rgba(0,0,0,0.55);
}
body.juntetsu-premium .hero-eyebrow::before{content:"";width:28px;height:1px;background:var(--aka)}
body.juntetsu-premium .hero-title{
  font-family:var(--f-kanji-serif);font-weight:300;
  font-size:clamp(56px, 18cqw, 120px);
  line-height:1.0;letter-spacing:0.04em;
  color:var(--kinari);
  margin-bottom:22px;
  text-wrap:balance;
  text-shadow:0 2px 20px rgba(0,0,0,0.45);
}
body.juntetsu-premium .hero-title em{font-style:normal;color:var(--kinari);font-weight:300}
body.juntetsu-premium .hero-title .en-sub{
  display:block;
  margin-top:22px;
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(20px, 5.6cqw, 34px);
  letter-spacing:0.14em;color:var(--silver);
  text-transform:uppercase;
}
body.juntetsu-premium .hero-kanji-title{display:none}
body.juntetsu-premium .hero-lede{
  max-width:42ch;
  font-family:var(--f-display);font-weight:300;font-style:italic;
  font-size:17px;line-height:1.55;color:#c9c4bc;
  margin-bottom:40px;
  text-shadow:0 1px 10px rgba(0,0,0,0.6);
}
body.juntetsu-premium .hero-meta{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:22px 24px;
  padding-top:28px;border-top:1px solid var(--hairline);
}
body.juntetsu-premium .hero-meta dt{font-size:9px;letter-spacing:0.28em;text-transform:uppercase;color:#b8b2a8;margin-bottom:6px;text-shadow:0 1px 6px rgba(0,0,0,0.5)}
body.juntetsu-premium .hero-meta dd{font-family:var(--f-display);font-weight:300;font-size:22px;color:var(--kinari);letter-spacing:0.04em;line-height:1;text-shadow:0 1px 10px rgba(0,0,0,0.5)}
body.juntetsu-premium .hero-meta dd small{display:block;font-family:var(--f-kanji);font-size:10px;color:#8d8678;margin-top:4px;letter-spacing:0.15em;text-shadow:0 1px 6px rgba(0,0,0,0.5)}
body.juntetsu-premium .hero-scroll{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  font-size:9px;letter-spacing:0.4em;text-transform:uppercase;color:var(--iron);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  z-index:2;
}
body.juntetsu-premium .hero-scroll::after{content:"";width:1px;height:34px;background:linear-gradient(to bottom, var(--kin), transparent)}

/* ============================================================
   SECTION PRIMITIVES
   ============================================================ */
body.juntetsu-premium .section{
  position:relative;
  padding:100px var(--edge);
}
body.juntetsu-premium .section + .section{border-top:1px solid var(--hairline)}
body.juntetsu-premium .eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:10px;letter-spacing:0.32em;text-transform:uppercase;color:var(--silver);
  margin-bottom:24px;
}
body.juntetsu-premium .eyebrow::before{content:"";width:22px;height:1px;background:var(--aka)}
body.juntetsu-premium .eyebrow .ja{font-family:var(--f-kanji);color:var(--iron);letter-spacing:0.25em}
body.juntetsu-premium .h-display{
  font-family:var(--f-kanji-serif);font-weight:300;
  font-size:clamp(38px, 11cqw, 78px);
  line-height:1.08;letter-spacing:0.04em;
  color:var(--kinari);
  text-wrap:balance;
}
body.juntetsu-premium .h-display em{font-style:normal;color:var(--kinari);font-weight:300}
body.juntetsu-premium .h-display .en-sub{
  display:block;margin-top:14px;
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(14px, 3.4cqw, 22px);
  letter-spacing:0.18em;color:var(--silver);text-transform:uppercase;
}
body.juntetsu-premium .h-kanji{display:none}
body.juntetsu-premium .prose{
  font-family:var(--f-body);font-weight:300;
  font-size:16px;line-height:1.7;color:var(--silver);
  max-width:56ch;
}
body.juntetsu-premium .prose p + p{margin-top:1em}
body.juntetsu-premium .rule-gold{height:1px;background:var(--kin);width:36px;margin:0 0 28px}
body.juntetsu-premium .rule-silver{height:1px;background:var(--hairline);width:100%;margin:48px 0}

/* ============================================================
   SERIES (product series showcase, not ecommerce)
   ============================================================ */
body.juntetsu-premium .series-intro{
  display:grid;grid-template-columns:1fr;gap:18px;
  margin-bottom:56px;
}
body.juntetsu-premium .series-list{display:flex;flex-direction:column;gap:52px}
body.juntetsu-premium .series-card{
  position:relative;
  display:grid;grid-template-columns:1fr;
  gap:22px;
  text-decoration:none;color:inherit;
}
body.juntetsu-premium .series-card .num{
  font-family:var(--f-kanji);font-weight:300;
  font-size:10px;color:var(--silver);letter-spacing:0.35em;
  text-transform:uppercase;
  display:flex;align-items:center;gap:10px;
}
/* tiny accent dot sits next to the number — different per series */
body.juntetsu-premium .series-card .num::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--accent, var(--silver));
  flex-shrink:0;
}
body.juntetsu-premium .series-card .img{
  position:relative;aspect-ratio:4/5;
  background:#0a0a0a;
  border:1px solid var(--hairline);
  overflow:hidden;
}
body.juntetsu-premium .series-card .img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1), filter .6s;
  filter:saturate(0.85) contrast(1.02);
}
body.juntetsu-premium .series-card:hover .img img{transform:scale(1.04);filter:saturate(1) contrast(1.05)}
/* accent hairline appears on hover along the top of the image */
body.juntetsu-premium .series-card .img::after{
  content:"";position:absolute;top:0;left:0;height:1px;
  width:0;background:var(--accent, var(--kin));
  transition:width .8s cubic-bezier(.2,.7,.2,1);
  z-index:2;
}
body.juntetsu-premium .series-card:hover .img::after{width:100%}
body.juntetsu-premium .series-card .img .corner{
  position:absolute;bottom:14px;right:16px;
  font-family:var(--f-display);font-size:10px;color:var(--kinari);letter-spacing:0.2em;
  background:rgba(12,12,12,0.6);backdrop-filter:blur(8px);
  padding:5px 10px;border:1px solid rgba(234,230,225,0.14);
  z-index:2;
}
/* a thin tategaki callout on the image — accent color */
body.juntetsu-premium .series-card .img .tag{
  position:absolute;top:14px;left:14px;
  writing-mode:vertical-rl;
  font-family:var(--f-kanji-serif);font-weight:300;
  font-size:11px;letter-spacing:0.5em;
  color:var(--accent, var(--kinari));
  text-shadow:0 2px 8px rgba(0,0,0,0.6);
  z-index:2;
}
body.juntetsu-premium .series-card .meta{display:flex;flex-direction:column;gap:14px}
body.juntetsu-premium .series-card h3{
  font-family:var(--f-kanji-serif);font-weight:300;
  font-size:42px;line-height:1;letter-spacing:0.08em;
  color:var(--kinari);
}
body.juntetsu-premium .series-card h3 em{font-style:normal;font-weight:300;color:var(--kinari)}
body.juntetsu-premium .series-card h3 .en{
  display:block;margin-top:8px;
  font-family:var(--f-display);font-weight:300;font-size:13px;
  letter-spacing:0.35em;color:var(--silver);text-transform:uppercase;
}
body.juntetsu-premium .series-card .ja{display:none}
body.juntetsu-premium .series-card .copy{font-size:14px;line-height:1.6;color:var(--silver)}
body.juntetsu-premium .series-card .specs{
  display:flex;flex-wrap:wrap;gap:0;
  border-top:1px solid var(--hairline);margin-top:6px;
}
body.juntetsu-premium .series-card .specs > div{
  flex:1 1 50%;min-width:140px;
  padding:14px 14px 14px 0;
  border-bottom:1px solid var(--hairline);
}
body.juntetsu-premium .series-card .specs dt{font-size:9px;letter-spacing:0.28em;text-transform:uppercase;color:var(--iron);margin-bottom:4px}
body.juntetsu-premium .series-card .specs dd{font-family:var(--f-display);font-weight:300;font-size:17px;color:var(--kinari);letter-spacing:0.02em}
body.juntetsu-premium .series-card .cta{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:18px;padding-top:14px;
  font-family:var(--f-body);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--accent, var(--kin));
  border-top:1px solid var(--hairline);
  transition:gap .3s ease, color .25s;
}
body.juntetsu-premium .series-card .cta i{font-style:normal;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
body.juntetsu-premium .series-card:hover .cta i{transform:translateX(6px)}
body.juntetsu-premium .series-card:hover .cta{gap:14px}

/* ============================================================
   PHILOSOPHY (craft principles)
   ============================================================ */
body.juntetsu-premium .philo{
  display:flex;flex-direction:column;gap:56px;
  margin-top:48px;
}
body.juntetsu-premium .philo-item{
  display:grid;grid-template-columns:auto 1fr;
  gap:22px;align-items:start;
}
body.juntetsu-premium .philo-item .kj-big{
  font-family:var(--f-kanji-serif);font-weight:300;
  font-size:72px;line-height:0.9;
  color:var(--aka);
  padding-top:4px;
}
body.juntetsu-premium .philo-item .num-i{
  font-family:var(--f-kanji);font-weight:300;
  font-size:10px;color:var(--silver);letter-spacing:0.35em;
  margin-bottom:10px;text-transform:uppercase;
}
body.juntetsu-premium .philo-item h4{
  font-family:var(--f-kanji-serif);font-weight:300;
  font-size:24px;line-height:1.4;color:var(--kinari);margin-bottom:10px;letter-spacing:0.06em;
}
body.juntetsu-premium .philo-item h4 .en{display:block;font-family:var(--f-display);font-weight:300;font-size:12px;letter-spacing:0.28em;color:var(--silver);margin-top:6px;text-transform:uppercase}
body.juntetsu-premium .philo-item .roman{display:none}
body.juntetsu-premium .philo-item p{font-size:14px;line-height:1.65;color:var(--silver)}

/* ============================================================
   ATELIER (workshop story) — full bleed image strip
   ============================================================ */
body.juntetsu-premium .atelier{padding:0}
body.juntetsu-premium .atelier-hero{
  position:relative;aspect-ratio:4/5;
  background:#0a0a0a;
  overflow:hidden;
}
body.juntetsu-premium .atelier-hero img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(0.15) contrast(1.05) brightness(0.92);
}
body.juntetsu-premium .atelier-hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(12,12,12,0.35) 0%, transparent 30%, transparent 70%, rgba(12,12,12,0.75) 100%);
  z-index:1;
}
body.juntetsu-premium .atelier-hero::after{
  content:"ATELIER · SAKAI · 堺";
  position:absolute;bottom:22px;left:22px;
  font-family:var(--f-body);font-size:9px;letter-spacing:0.4em;color:var(--kinari);
  z-index:2;
}
body.juntetsu-premium .atelier-hero .plate{
  position:absolute;top:22px;right:22px;
  font-family:var(--f-kanji);font-weight:300;font-size:10px;
  text-shadow:0 1px 8px rgba(0,0,0,0.7);
  color:var(--kinari);letter-spacing:0.35em;
  z-index:2;
}
body.juntetsu-premium .atelier-hero .plate b{color:var(--kinari);font-weight:300}
body.juntetsu-premium .atelier-hero .veil{
  position:absolute;inset:0;
  background:repeating-linear-gradient(0deg, transparent 0 2px, rgba(0,0,0,0.15) 2px 3px);
  mix-blend-mode:multiply;
}
/* atelier hero — a quiet panel, no background kanji */
body.juntetsu-premium .atelier-hero .mark{display:none}
body.juntetsu-premium .atelier-body{padding:80px var(--edge)}
body.juntetsu-premium .atelier-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--hairline);
  margin-top:56px;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
}
body.juntetsu-premium .atelier-stats > div{
  background:var(--shikkoku);
  padding:28px 16px;
}
body.juntetsu-premium .atelier-stats dt{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:var(--silver);margin-bottom:12px}
body.juntetsu-premium .atelier-stats dd{font-family:var(--f-display);font-weight:300;font-size:38px;line-height:1;color:var(--kinari);letter-spacing:-0.01em}
body.juntetsu-premium .atelier-stats dd small{display:block;font-family:var(--f-kanji);font-size:10px;color:var(--iron);margin-top:10px;letter-spacing:0.2em;font-weight:300}

/* ============================================================
   PROCESS — numbered horizontal-scroll on mobile
   ============================================================ */
body.juntetsu-premium .process{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:48px;
}
body.juntetsu-premium .process-step{
  display:grid;grid-template-columns:auto 1fr;
  gap:22px;
  padding:32px 0;
  border-top:1px solid var(--hairline);
}
body.juntetsu-premium .process-step:last-child{border-bottom:1px solid var(--hairline)}
body.juntetsu-premium .process-step .n{
  font-family:var(--f-kanji-serif);font-weight:300;font-size:34px;line-height:1;
  color:var(--kinari);letter-spacing:0;
  padding-top:4px;
}
body.juntetsu-premium .process-step .n sup{display:none}
body.juntetsu-premium .process-step h5{
  font-family:var(--f-kanji-serif);font-weight:300;font-size:20px;color:var(--kinari);margin-bottom:6px;
  letter-spacing:0.06em;
}
body.juntetsu-premium .process-step h5 .en{display:block;font-family:var(--f-display);font-weight:300;font-size:11px;letter-spacing:0.25em;color:var(--silver);margin-top:4px;text-transform:uppercase}
body.juntetsu-premium .process-step .ja{display:none}
body.juntetsu-premium .process-step p{font-size:13px;line-height:1.65;color:var(--silver)}

/* ============================================================
   JOURNAL (news/editorial)
   ============================================================ */
body.juntetsu-premium .journal-list{display:flex;flex-direction:column;gap:0;margin-top:48px}
body.juntetsu-premium .journal-item{
  display:block;text-decoration:none;color:inherit;
  padding:30px 0;border-top:1px solid var(--hairline);
  display:grid;grid-template-columns:1fr;gap:10px;
  transition:padding .25s ease;
}
body.juntetsu-premium .journal-item:last-child{border-bottom:1px solid var(--hairline)}
body.juntetsu-premium .journal-item:hover{padding-left:10px}
body.juntetsu-premium .journal-item .date{font-family:var(--f-kanji);font-weight:300;font-size:10px;color:var(--silver);letter-spacing:0.25em;text-transform:uppercase}
body.juntetsu-premium .journal-item h5{font-family:var(--f-kanji-serif);font-weight:300;font-size:20px;line-height:1.55;color:var(--kinari);letter-spacing:0.04em}
body.juntetsu-premium .journal-item .ja{display:none}
body.juntetsu-premium .journal-item .en-sub{font-family:var(--f-display);font-weight:300;font-size:12px;letter-spacing:0.14em;color:var(--iron);text-transform:uppercase;margin-top:4px}

/* ============================================================
   CONTACT / FOOTER
   ============================================================ */
body.juntetsu-premium .contact{
  background:
    radial-gradient(ellipse at 50% 0%, rgba(212,175,55,0.04), transparent 40%),
    var(--shikkoku);
  text-align:left;
}
body.juntetsu-premium .contact .h-display{margin-bottom:22px}
body.juntetsu-premium .contact .addr{
  font-family:var(--f-kanji-serif);font-size:14px;line-height:2;color:var(--kinari);
  letter-spacing:0.08em;margin-top:40px;
}
body.juntetsu-premium .contact .addr-en{
  font-family:var(--f-body);font-size:12px;line-height:1.7;color:var(--silver);
  margin-top:16px;letter-spacing:0.02em;
}
body.juntetsu-premium .contact-links{
  display:grid;grid-template-columns:1fr;gap:0;margin-top:48px;
  border-top:1px solid var(--hairline);
}
body.juntetsu-premium .contact-links a{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 0;border-bottom:1px solid var(--hairline);
  color:var(--kinari);text-decoration:none;
  font-family:var(--f-kanji-serif);font-weight:300;font-size:18px;letter-spacing:0.08em;
  transition:color .2s;
}
body.juntetsu-premium .contact-links a .en{display:block;font-family:var(--f-display);font-weight:300;font-size:11px;letter-spacing:0.24em;color:var(--silver);margin-top:4px;text-transform:uppercase}
body.juntetsu-premium .contact-links a:hover{color:var(--kin)}
body.juntetsu-premium .contact-links a .arr{font-family:var(--f-body);font-size:13px;color:var(--iron);letter-spacing:0.2em}
body.juntetsu-premium .contact-links a:hover .arr{color:var(--kin)}
body.juntetsu-premium .footer{
  padding:60px var(--edge) 40px;
  border-top:1px solid var(--hairline);
  background:#060606;
  display:flex;flex-direction:column;gap:36px;
}
body.juntetsu-premium .footer .brand-lockup{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
body.juntetsu-premium .footer .brand-lockup .footer-brand-link{display:inline-block;line-height:0;text-decoration:none}
body.juntetsu-premium .footer .brand-lockup .footer-logo-img{
  display:block;height:72px;width:auto;max-width:100%;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,0.35));
  transition:opacity .25s ease;
}
body.juntetsu-premium .footer .brand-lockup .footer-brand-link:hover .footer-logo-img{opacity:.9}
body.juntetsu-premium .footer .brand-lockup small{font-size:10px;letter-spacing:0.28em;color:var(--iron);text-transform:uppercase}
@media (max-width: 480px){
  body.juntetsu-premium .footer .brand-lockup .footer-logo-img{height:60px}
}
body.juntetsu-premium .footer-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 24px}
body.juntetsu-premium .footer-col h6{font-size:9px;letter-spacing:0.32em;text-transform:uppercase;color:var(--silver);margin-bottom:16px}
body.juntetsu-premium .footer-col a{display:block;color:var(--kinari);text-decoration:none;font-size:13px;line-height:2.1;font-weight:300}
body.juntetsu-premium .footer-col a:hover{color:var(--kin)}
body.juntetsu-premium .footer-fine{
  font-size:10px;letter-spacing:0.2em;color:var(--iron);line-height:1.8;
  padding-top:28px;border-top:1px solid var(--hairline);
  display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;
}

/* Seal mark (匠) bottom-right */
/* restrained language switcher in the drawer head */
body.juntetsu-premium .lang-switch{
  display:inline-flex;align-items:center;gap:0;
  font-family:var(--f-body);font-size:10px;letter-spacing:0.2em;
  text-transform:uppercase;
  border:1px solid var(--hairline);
  padding:2px;
  border-radius:2px;
}
body.juntetsu-premium .lang-switch button{
  appearance:none;background:transparent;border:0;cursor:pointer;
  color:var(--silver);padding:6px 10px;letter-spacing:inherit;font:inherit;
  transition:all .2s;
}
body.juntetsu-premium .lang-switch button.is-active{background:var(--kinari);color:var(--shikkoku)}
body.juntetsu-premium .lang-more{
  margin-left:8px;
  font-family:var(--f-body);font-size:9px;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--iron);text-decoration:none;
  border-bottom:1px solid var(--hairline);padding-bottom:2px;
}
body.juntetsu-premium .lang-more:hover{color:var(--silver);border-color:var(--silver)}
body.juntetsu-premium .drawer-head-right{display:flex;align-items:center;gap:14px}
body.juntetsu-premium .seal{
  position:relative;
  width:62px;height:62px;border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,0.08), transparent 55%),
    radial-gradient(circle at 70% 75%, rgba(0,0,0,0.18), transparent 60%),
    var(--aka);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-kanji-serif);font-weight:500;
  color:var(--kinari);font-size:26px;letter-spacing:0;
  box-shadow:inset 0 0 0 1.5px rgba(234,230,225,0.12), 0 4px 14px rgba(154,13,28,0.25);
  flex-shrink:0;
  /* imperfect wabi-sabi edge */
  clip-path:polygon(
    50% 0%, 72% 2%, 90% 11%, 98% 30%, 100% 52%,
    97% 72%, 87% 90%, 70% 98%, 48% 100%,
    28% 97%, 10% 88%, 2% 70%, 0% 48%,
    4% 28%, 14% 10%, 32% 2%
  );
  transition:transform .4s ease;
}
body.juntetsu-premium .seal:hover{transform:rotate(-6deg) scale(1.05)}
body.juntetsu-premium .seal-row{display:flex;align-items:center;gap:18px;margin-top:24px}
body.juntetsu-premium .seal-row .lbl{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:var(--silver)}
body.juntetsu-premium .seal-row .lbl b{display:block;color:var(--kinari);font-family:var(--f-display);font-weight:300;font-size:13px;letter-spacing:0.12em;margin-top:4px}

/* ============================================================
   RESPONSIVE — container queries (so the site reflows inside the preview)
   ============================================================ */
@container site (min-width: 720px){
body.juntetsu-premium .site {--edge:56px}
body.juntetsu-premium .tategaki-rail {display:block}
body.juntetsu-premium .nav {padding:22px 56px 22px 80px}
body.juntetsu-premium .nav .links {
    display:flex;gap:34px;
    font-size:11px;letter-spacing:0.28em;text-transform:uppercase;
  }
body.juntetsu-premium .nav .links a {
    position:relative;color:var(--silver);text-decoration:none;
    padding-bottom:2px;
  }
body.juntetsu-premium .nav .links a::after {
    content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--kin);
    transition:width .45s cubic-bezier(.2,.7,.2,1);
  }
body.juntetsu-premium .nav .links a:hover {color:var(--kinari)}
body.juntetsu-premium .nav .links a:hover::after {width:100%}
body.juntetsu-premium .nav .burger {display:none}
body.juntetsu-premium .hero {padding:30px 56px 100px 80px;min-height:720px}
body.juntetsu-premium .hero-meta {grid-template-columns:repeat(4,1fr)}

body.juntetsu-premium .section {padding:140px 56px 140px 80px}
body.juntetsu-premium .series-card {grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
body.juntetsu-premium .series-card:nth-child(even) {grid-template-columns:1fr 1.1fr}
body.juntetsu-premium .series-card:nth-child(even) .img {order:2}
body.juntetsu-premium .philo {display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
body.juntetsu-premium .philo-item {grid-template-columns:1fr;gap:14px}
body.juntetsu-premium .atelier-hero {aspect-ratio:16/9}
body.juntetsu-premium .atelier-body {padding:120px 56px 120px 80px}
body.juntetsu-premium .atelier-stats {grid-template-columns:repeat(4,1fr)}
body.juntetsu-premium .process {display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px}
body.juntetsu-premium .process-step:nth-child(-n+2) {border-top:1px solid var(--hairline)}
body.juntetsu-premium .journal-list {display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px}
body.juntetsu-premium .contact-links {grid-template-columns:repeat(2,1fr);gap:0 36px}
body.juntetsu-premium .footer {flex-direction:row;padding:80px 56px 48px 80px;gap:56px}
body.juntetsu-premium .footer .brand-lockup {flex:0 0 220px}
body.juntetsu-premium .footer-cols {flex:1;grid-template-columns:repeat(4,1fr)}
}

@container site (min-width: 1100px){
body.juntetsu-premium .site {--edge:88px}
body.juntetsu-premium .nav {padding:28px 88px 28px 120px}
body.juntetsu-premium .hero {padding:40px 88px 120px 120px;min-height:820px}
body.juntetsu-premium .hero-title {max-width:14ch}
body.juntetsu-premium .section {padding:180px 88px 180px 120px}
body.juntetsu-premium .atelier-body {padding:160px 88px 160px 120px}
body.juntetsu-premium .footer {padding:100px 88px 56px 120px}
body.juntetsu-premium .tategaki-rail {display:none}
}

/* ============================================================
   Tiny scissor silhouette (svg-like, just radial)
   ============================================================ */
body.juntetsu-premium .scissor-ghost{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(110deg, transparent 40%, rgba(212,175,55,0.08) 50%, transparent 60%);
}



/* =============================================================================
   Sprint 10E — COLLECTION PAGE styles (from Juntetsu Collection.html mockup)
   Includes: PAGE HERO, Sticky section nav, Featured flagship, CRAFT TRIAD,
   SECTION product category, Editorial plate (collection variant),
   Catalogue index, Commission CTA, Scroll progress, Intersection reveals,
   Responsive breakpoints.
   ============================================================================= */
/* ============================================================
   PAGE HERO — Collection
   ============================================================ */

body.juntetsu-premium .page-hero{
  position:relative;padding:48px var(--edge) 48px;min-height:auto;
  display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;
  border-bottom:1px solid var(--hairline);
}
body.juntetsu-premium .page-hero .bg{
  position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.35) 40%, rgba(10,10,10,0.88) 100%),
    url('/assets/images/editorial/banner.jpg') center/cover no-repeat;
  filter:grayscale(0.15) contrast(1.05);
}
body.juntetsu-premium .page-hero .bg::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 40% at 70% 30%, rgba(212,175,55,0.07), transparent 60%);
  mix-blend-mode:screen;
}
body.juntetsu-premium .page-hero > *{position:relative;z-index:1}

body.juntetsu-premium .page-hero .crumbs{
  display:flex;align-items:baseline;gap:10px;
  font-family:var(--f-display);font-weight:300;font-size:9px;letter-spacing:0.28em;color:var(--silver);text-transform:uppercase;
  padding-bottom:24px;
}
body.juntetsu-premium .page-hero .crumbs a{color:var(--silver);text-decoration:none}
body.juntetsu-premium .page-hero .crumbs a:hover{color:var(--kin)}
body.juntetsu-premium .page-hero .crumbs .sep{color:var(--iron)}
body.juntetsu-premium .page-hero .crumbs .cur{color:var(--kinari)}

body.juntetsu-premium .page-hero .index{
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.34em;color:var(--kin);text-transform:uppercase;
  display:flex;align-items:center;gap:10px;
}
body.juntetsu-premium .page-hero .index::before, body.juntetsu-premium .page-hero .index::after{content:"";flex:0 0 28px;height:1px;background:linear-gradient(90deg,transparent,var(--kin))}
body.juntetsu-premium .page-hero .index::after{background:linear-gradient(90deg,var(--kin),transparent)}
body.juntetsu-premium .page-hero .index b{font-weight:500;font-family:var(--f-kanji-serif);font-size:12px;letter-spacing:0.1em}

body.juntetsu-premium .page-hero .tate{
  writing-mode:vertical-rl;font-family:var(--f-kanji-serif);font-weight:400;
  font-size:12px;letter-spacing:0.34em;color:var(--kinari);
  position:absolute;right:12px;top:60px;z-index:2;opacity:0.55;
}

body.juntetsu-premium .page-hero h1{
  font-family:var(--f-kanji-serif);font-weight:400;
  font-size:clamp(44px, 12vw, 140px);line-height:0.98;letter-spacing:0.03em;
  color:var(--kinari);margin-top:20px;text-shadow:0 2px 20px rgba(0,0,0,.6);
}
body.juntetsu-premium .page-hero h1 .en-sub{
  display:block;font-family:var(--f-display);font-style:italic;font-weight:300;
  font-size:clamp(15px,3.8vw,34px);letter-spacing:0.03em;color:var(--kinari);
  margin-top:18px;opacity:0.85;line-height:1.35;
}
body.juntetsu-premium .page-hero .lede{
  max-width:560px;margin-top:26px;
  font-family:var(--f-display);font-weight:300;font-size:14px;line-height:1.6;color:var(--kinari);
  letter-spacing:0.01em;
}
body.juntetsu-premium .page-hero .lede em{font-style:italic;color:var(--kin)}

body.juntetsu-premium .hero-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:32px;border-top:1px solid var(--hairline-strong);
}
body.juntetsu-premium .hero-stats > div{
  padding:12px 10px 12px 0;border-bottom:1px solid var(--hairline);border-right:1px solid var(--hairline);
}
body.juntetsu-premium .hero-stats > div:nth-child(2n){border-right:0;padding-left:12px}
body.juntetsu-premium .hero-stats dt{font-family:var(--f-display);font-weight:300;font-size:8.5px;letter-spacing:0.28em;color:var(--silver);text-transform:uppercase}
body.juntetsu-premium .hero-stats dd{font-family:var(--f-kanji-serif);font-weight:500;font-size:20px;color:var(--kinari);margin-top:4px;letter-spacing:0.03em}
body.juntetsu-premium .hero-stats dd small{display:block;font-family:var(--f-body);font-size:8px;font-weight:400;letter-spacing:0.26em;color:var(--silver);text-transform:uppercase;margin-top:3px}


/* ============================================================
   Sticky section nav
   ============================================================ */

body.juntetsu-premium .section-nav{
  position:sticky;top:55px;z-index:40;
  background:rgba(10,10,10,0.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hairline);
  overflow:hidden;
}
body.juntetsu-premium .section-nav-inner{
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none;
  padding:0 var(--edge);
}
body.juntetsu-premium .section-nav-inner::-webkit-scrollbar{display:none}
body.juntetsu-premium .section-nav-inner a{
  flex:0 0 auto;padding:14px 14px 12px;text-decoration:none;color:var(--silver);
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;
  display:flex;align-items:baseline;gap:8px;border-bottom:2px solid transparent;position:relative;
  white-space:nowrap;transition:color .2s;
}
body.juntetsu-premium .section-nav-inner a .ja{font-family:var(--f-kanji-serif);font-size:13px;color:var(--kinari);letter-spacing:0.08em;text-transform:none}
body.juntetsu-premium .section-nav-inner a .cnt{font-family:var(--f-body);font-size:8px;letter-spacing:0.18em;color:var(--iron)}
body.juntetsu-premium .section-nav-inner a:hover{color:var(--kinari)}
body.juntetsu-premium .section-nav-inner a.is-active{color:var(--kin);border-bottom-color:var(--kin)}
body.juntetsu-premium .section-nav-inner a.is-active .ja{color:var(--kin)}


/* ============================================================
   Featured flagship section
   ============================================================ */

body.juntetsu-premium .flagship{
  padding:64px var(--edge) 56px;
  background:linear-gradient(180deg, #080808 0%, #0c0c0c 100%);
  position:relative;
}
body.juntetsu-premium .flagship .eyebrow{
  display:flex;align-items:baseline;gap:10px;margin-bottom:20px;flex-wrap:wrap;
  font-family:var(--f-display);font-weight:300;font-size:9px;letter-spacing:0.28em;color:var(--silver);text-transform:uppercase;
}
body.juntetsu-premium .flagship .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--a-miyabi)}
body.juntetsu-premium .flagship .eyebrow .ja{font-family:var(--f-kanji-serif);font-size:12px;letter-spacing:0.16em;color:var(--kinari);text-transform:none}

body.juntetsu-premium .flagship h2{
  font-family:var(--f-kanji-serif);font-weight:400;
  font-size:clamp(32px,8.5vw,88px);line-height:1.02;letter-spacing:0.03em;color:var(--kinari);
}
body.juntetsu-premium .flagship h2 .en-sub{
  display:block;font-family:var(--f-display);font-style:italic;font-weight:300;
  font-size:clamp(14px,3.6vw,28px);color:var(--silver);margin-top:14px;letter-spacing:0.02em;line-height:1.4;
}

body.juntetsu-premium .flagship-rule{height:1px;background:linear-gradient(90deg,var(--a-miyabi) 0, var(--a-miyabi) 56px, var(--hairline) 56px, var(--hairline) 100%);margin-top:32px}

body.juntetsu-premium .flagship-pair{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;
}
body.juntetsu-premium .flagship-card{
  display:block;text-decoration:none;color:inherit;position:relative;
}
body.juntetsu-premium .flagship-card .stage{
  position:relative;aspect-ratio:4/5;overflow:hidden;background:#0a0a0a;
  border:1px solid var(--hairline);
}
body.juntetsu-premium .flagship-card .stage img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.19,1,.22,1),filter 1.6s}
body.juntetsu-premium .flagship-card:hover .stage img{transform:scale(1.04);filter:brightness(1.08)}
body.juntetsu-premium .flagship-card .stage::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(8,8,8,0) 0%, rgba(8,8,8,0.05) 55%, rgba(8,8,8,0.7) 100%);
  pointer-events:none;
}
body.juntetsu-premium .flagship-card .stage .tate-tag{
  position:absolute;top:16px;left:16px;z-index:2;
  writing-mode:vertical-rl;font-family:var(--f-kanji-serif);font-size:13px;letter-spacing:0.2em;color:var(--a-miyabi);
  padding:10px 4px;border-left:1px solid var(--a-miyabi);
}
body.juntetsu-premium .flagship-card .stage .corner-tr{
  position:absolute;top:16px;right:16px;z-index:2;
  font-family:var(--f-display);font-weight:300;font-size:9px;letter-spacing:0.32em;color:var(--kinari);text-transform:uppercase;
  border:1px solid var(--hairline-strong);padding:5px 9px;background:rgba(10,10,10,0.4);
}
body.juntetsu-premium .flagship-card .stage .corner-bl{
  position:absolute;bottom:14px;left:16px;z-index:2;
  font-family:var(--f-display);font-weight:400;font-size:10px;letter-spacing:0.34em;color:var(--kinari);text-transform:uppercase;
  display:flex;align-items:center;gap:10px;
}
body.juntetsu-premium .flagship-card .stage .corner-bl::before{content:"";width:22px;height:1px;background:var(--kin)}

body.juntetsu-premium .flagship-card .body{
  padding-top:22px;display:flex;flex-direction:column;gap:14px;
}
body.juntetsu-premium .flagship-card .body .title{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding-bottom:14px;border-bottom:1px solid var(--hairline);
}
body.juntetsu-premium .flagship-card .body .title h3{
  font-family:var(--f-kanji-serif);font-weight:500;font-size:30px;letter-spacing:0.06em;color:var(--kinari);
}
body.juntetsu-premium .flagship-card .body .title h3 .en{
  display:block;font-family:var(--f-display);font-style:italic;font-weight:300;font-size:15px;color:var(--silver);letter-spacing:0.08em;margin-top:4px;
}
body.juntetsu-premium .flagship-card .body .title .ref{
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.3em;color:var(--iron);text-transform:uppercase;text-align:right;white-space:nowrap;
}
body.juntetsu-premium .flagship-card .body p{
  font-family:var(--f-display);font-weight:300;font-size:14px;line-height:1.7;color:var(--kinari);letter-spacing:0.01em;
}

body.juntetsu-premium .flagship-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:6px;border-top:1px solid var(--hairline)}
body.juntetsu-premium .flagship-specs > div{padding:14px 12px 14px 0;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
body.juntetsu-premium .flagship-specs > div:last-child{border-right:0}
body.juntetsu-premium .flagship-specs dt{font-family:var(--f-display);font-weight:300;font-size:8px;letter-spacing:0.32em;color:var(--silver);text-transform:uppercase}
body.juntetsu-premium .flagship-specs dd{font-family:var(--f-kanji-serif);font-weight:400;font-size:14px;color:var(--kinari);margin-top:4px;letter-spacing:0.04em}

body.juntetsu-premium .flagship-card .cta{
  display:flex;align-items:center;justify-content:space-between;
  font-family:var(--f-display);font-weight:400;font-size:11px;letter-spacing:0.3em;color:var(--kinari);text-transform:uppercase;
  padding-top:6px;
}
body.juntetsu-premium .flagship-card .cta i{font-family:var(--f-kanji-serif);font-style:normal;color:var(--kin);font-size:18px;transition:transform .4s}
body.juntetsu-premium .flagship-card:hover .cta i{transform:translateX(6px)}

body.juntetsu-premium .flagship-detail{
  margin-top:56px;display:grid;grid-template-columns:1fr;gap:24px;
  padding:28px;border:1px solid var(--hairline);background:rgba(255,255,255,0.015);
}
body.juntetsu-premium .flagship-detail .kj-h{font-family:var(--f-kanji-serif);font-weight:400;font-size:48px;color:var(--a-miyabi);letter-spacing:0.1em;line-height:1}
body.juntetsu-premium .flagship-detail h4{font-family:var(--f-kanji-serif);font-weight:500;font-size:20px;color:var(--kinari);letter-spacing:0.06em;margin-top:14px}
body.juntetsu-premium .flagship-detail h4 .en{display:block;font-family:var(--f-display);font-style:italic;font-weight:300;font-size:13px;color:var(--silver);margin-top:4px;letter-spacing:0.06em}
body.juntetsu-premium .flagship-detail p{font-family:var(--f-display);font-weight:300;font-size:14px;line-height:1.7;color:var(--kinari);margin-top:14px}
body.juntetsu-premium .flagship-detail .meta{
  display:flex;flex-wrap:wrap;gap:22px 36px;margin-top:22px;padding-top:18px;border-top:1px solid var(--hairline);
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.28em;color:var(--silver);text-transform:uppercase;
}
body.juntetsu-premium .flagship-detail .meta b{display:block;font-family:var(--f-kanji-serif);font-weight:500;font-size:15px;color:var(--kinari);letter-spacing:0.04em;margin-top:4px;text-transform:none}


/* ============================================================
   CRAFT TRIAD
   ============================================================ */

body.juntetsu-premium .triad{
  padding:72px var(--edge);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  background:
    radial-gradient(800px 300px at 0% 0%, rgba(212,175,55,0.025), transparent 50%),
    #0a0a0a;
}
body.juntetsu-premium .triad-head{
  display:flex;flex-direction:column;gap:16px;margin-bottom:48px;
}
body.juntetsu-premium .triad-head .eyebrow{
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.32em;color:var(--silver);text-transform:uppercase;
  display:flex;align-items:baseline;gap:14px;
}
body.juntetsu-premium .triad-head .eyebrow .ja{font-family:var(--f-kanji-serif);font-size:14px;letter-spacing:0.18em;color:var(--kinari);text-transform:none}
body.juntetsu-premium .triad-head h3{
  font-family:var(--f-kanji-serif);font-weight:400;font-size:clamp(28px,7vw,48px);line-height:1.1;letter-spacing:0.05em;color:var(--kinari);
}
body.juntetsu-premium .triad-head h3 .en-sub{display:block;font-family:var(--f-display);font-style:italic;font-weight:300;font-size:18px;color:var(--silver);margin-top:12px;letter-spacing:0.03em}

body.juntetsu-premium .triad-grid{display:grid;grid-template-columns:1fr;gap:40px}
body.juntetsu-premium .triad-cell{
  display:flex;flex-direction:column;gap:18px;
  padding-top:28px;border-top:1px solid var(--hairline-strong);position:relative;
}
body.juntetsu-premium .triad-cell::before{
  content:"";position:absolute;top:-1px;left:0;width:56px;height:1px;background:var(--kin);
}
body.juntetsu-premium .triad-cell .num{
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.32em;color:var(--kin);text-transform:uppercase;
}
body.juntetsu-premium .triad-cell .img{
  aspect-ratio:4/3;background:#0a0a0a;border:1px solid var(--hairline);overflow:hidden;
}
body.juntetsu-premium .triad-cell .img img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.2) contrast(1.05)}
body.juntetsu-premium .triad-cell h4{
  font-family:var(--f-kanji-serif);font-weight:500;font-size:22px;color:var(--kinari);letter-spacing:0.08em;
  display:flex;align-items:baseline;gap:14px;
}
body.juntetsu-premium .triad-cell h4 .en{font-family:var(--f-display);font-style:italic;font-weight:300;font-size:13px;color:var(--silver);letter-spacing:0.08em;text-transform:none}
body.juntetsu-premium .triad-cell p{font-family:var(--f-display);font-weight:300;font-size:14px;line-height:1.7;color:var(--kinari)}
body.juntetsu-premium .triad-cell .foot{
  padding-top:14px;border-top:1px solid var(--hairline);
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.3em;color:var(--silver);text-transform:uppercase;
}
body.juntetsu-premium .triad-cell .foot b{color:var(--kin);font-weight:400}


/* ============================================================
   SECTION — product category
   ============================================================ */

body.juntetsu-premium .cat{
  padding:96px var(--edge) 72px;border-bottom:1px solid var(--hairline);position:relative;
}
body.juntetsu-premium .cat-head{
  display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:56px;padding-bottom:24px;border-bottom:1px solid var(--hairline-strong);
}
body.juntetsu-premium .cat-head .row{
  display:flex;align-items:baseline;justify-content:space-between;gap:18px;
}
body.juntetsu-premium .cat-head .num{
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.32em;color:var(--silver);text-transform:uppercase;
  display:flex;align-items:center;gap:12px;
}
body.juntetsu-premium .cat-head .num .dot{width:6px;height:6px;border-radius:50%;background:var(--a-hajime)}
body.juntetsu-premium .cat-head .cnt{
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.32em;color:var(--iron);text-transform:uppercase;
}
body.juntetsu-premium .cat-head h2{
  font-family:var(--f-kanji-serif);font-weight:400;font-size:clamp(40px,11vw,96px);line-height:0.98;letter-spacing:0.04em;color:var(--kinari);
}
body.juntetsu-premium .cat-head h2 .en-sub{display:block;font-family:var(--f-display);font-style:italic;font-weight:300;font-size:clamp(16px,4vw,26px);color:var(--silver);margin-top:14px;letter-spacing:0.02em}
body.juntetsu-premium .cat-head p{
  max-width:620px;margin-top:14px;
  font-family:var(--f-display);font-weight:300;font-size:15px;line-height:1.7;color:var(--kinari);
}

/* product grid */
body.juntetsu-premium .prod-grid{display:grid;grid-template-columns:1fr;gap:48px 28px}

body.juntetsu-premium .prod-card{
  display:block;text-decoration:none;color:inherit;position:relative;
  --accent:var(--a-hajime);
}
body.juntetsu-premium .prod-card .stage{
  position:relative;aspect-ratio:4/5;overflow:hidden;background:#0a0a0a;
  border:1px solid var(--hairline);transition:border-color .4s;
}
body.juntetsu-premium .prod-card:hover .stage{border-color:var(--hairline-strong)}
body.juntetsu-premium .prod-card .stage img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.19,1,.22,1),filter 1.6s}
body.juntetsu-premium .prod-card:hover .stage img{transform:scale(1.045);filter:brightness(1.06)}
body.juntetsu-premium .prod-card .stage::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(8,8,8,0) 0%, rgba(8,8,8,0.02) 60%, rgba(8,8,8,0.55) 100%);
  pointer-events:none;
}
body.juntetsu-premium .prod-card .stage::after{
  content:"";position:absolute;top:0;left:0;width:0;height:1px;background:var(--kin);z-index:3;transition:width .7s cubic-bezier(.19,1,.22,1);
}
body.juntetsu-premium .prod-card:hover .stage::after{width:100%}
body.juntetsu-premium .prod-card .stage .tate-tag{
  position:absolute;top:14px;left:14px;z-index:2;
  writing-mode:vertical-rl;font-family:var(--f-kanji-serif);font-size:12px;letter-spacing:0.22em;color:var(--accent);
  padding:8px 3px;border-left:1px solid var(--accent);
}
body.juntetsu-premium .prod-card .stage .corner-tr{
  position:absolute;top:14px;right:14px;z-index:2;
  font-family:var(--f-display);font-weight:300;font-size:8.5px;letter-spacing:0.3em;color:var(--kinari);text-transform:uppercase;
  border:1px solid var(--hairline-strong);padding:4px 8px;background:rgba(10,10,10,0.5);
}
body.juntetsu-premium .prod-card .stage .seal{
  position:absolute;bottom:14px;right:14px;z-index:2;
  width:28px;height:28px;border-radius:50%;background:var(--aka);display:flex;align-items:center;justify-content:center;
  font-family:var(--f-kanji-serif);color:var(--paper);font-size:13px;font-weight:500;
  opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;
}
body.juntetsu-premium .prod-card:hover .stage .seal{opacity:1;transform:translateY(0)}

body.juntetsu-premium .prod-card .ref{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:18px 0 10px;
  font-family:var(--f-display);font-weight:300;font-size:9px;letter-spacing:0.32em;color:var(--silver);text-transform:uppercase;
  border-bottom:1px solid var(--hairline);
}
body.juntetsu-premium .prod-card .ref b{color:var(--kinari);font-weight:400;letter-spacing:0.26em}
body.juntetsu-premium .prod-card .ref .accent-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:8px;vertical-align:middle}

body.juntetsu-premium .prod-card h3{
  font-family:var(--f-kanji-serif);font-weight:500;font-size:24px;color:var(--kinari);letter-spacing:0.06em;margin-top:14px;
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
}
body.juntetsu-premium .prod-card h3 .en{font-family:var(--f-display);font-style:italic;font-weight:300;font-size:14px;color:var(--silver);letter-spacing:0.06em}
body.juntetsu-premium .prod-card p.sub{
  font-family:var(--f-display);font-weight:300;font-size:13px;line-height:1.6;color:var(--kinari);margin-top:10px;max-width:42ch;
}

body.juntetsu-premium .prod-card .specs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:20px;border-top:1px solid var(--hairline);
}
body.juntetsu-premium .prod-card .specs > div{padding:10px 8px 10px 0;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
body.juntetsu-premium .prod-card .specs > div:last-child{border-right:0}
body.juntetsu-premium .prod-card .specs dt{font-family:var(--f-display);font-weight:300;font-size:8px;letter-spacing:0.3em;color:var(--silver);text-transform:uppercase}
body.juntetsu-premium .prod-card .specs dd{font-family:var(--f-kanji-serif);font-weight:400;font-size:13px;color:var(--kinari);margin-top:3px;letter-spacing:0.03em}

body.juntetsu-premium .prod-card .cta{
  display:flex;align-items:center;justify-content:space-between;padding-top:16px;
  font-family:var(--f-display);font-weight:400;font-size:10px;letter-spacing:0.3em;color:var(--silver);text-transform:uppercase;
  transition:color .3s;
}
body.juntetsu-premium .prod-card:hover .cta{color:var(--kinari)}
body.juntetsu-premium .prod-card .cta i{font-family:var(--f-kanji-serif);font-style:normal;color:var(--kin);font-size:16px;transition:transform .4s}
body.juntetsu-premium .prod-card:hover .cta i{transform:translateX(5px)}


/* ============================================================
   Editorial plate (re-used variant)
   ============================================================ */

body.juntetsu-premium .plate{
  position:relative;overflow:hidden;
  min-height:66vh;padding:42px var(--edge) 42px;
  display:flex;flex-direction:column;justify-content:flex-end;
  border-bottom:1px solid var(--hairline);
}
body.juntetsu-premium .plate img.bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:grayscale(0.3) contrast(1.05) brightness(0.85);
}
body.juntetsu-premium .plate .veil{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(8,8,8,0.5) 0%, rgba(8,8,8,0.15) 40%, rgba(8,8,8,0.85) 100%);
}
body.juntetsu-premium .plate > .corner-tl, body.juntetsu-premium .plate > .corner-tr, body.juntetsu-premium .plate > .caption{position:relative;z-index:2}
body.juntetsu-premium .plate .corner-tl{
  position:absolute;top:28px;left:var(--edge);z-index:2;
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.38em;color:var(--kinari);text-transform:uppercase;
  display:flex;align-items:center;gap:10px;
}
body.juntetsu-premium .plate .corner-tl::after{content:"";width:36px;height:1px;background:var(--kin)}
body.juntetsu-premium .plate .corner-tr{
  position:absolute;top:28px;right:var(--edge);z-index:2;
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.38em;color:var(--silver);text-transform:uppercase;
}
body.juntetsu-premium .plate .caption{display:flex;align-items:flex-end;gap:24px}
body.juntetsu-premium .plate .caption .tate{
  writing-mode:vertical-rl;font-family:var(--f-kanji-serif);font-weight:400;font-size:16px;letter-spacing:0.28em;color:var(--kinari);
  max-height:220px;text-shadow:0 2px 20px rgba(0,0,0,.7);
}
body.juntetsu-premium .plate .caption .meta{
  font-family:var(--f-display);font-weight:300;font-size:11px;letter-spacing:0.24em;color:var(--silver);text-transform:uppercase;line-height:1.8;
}
body.juntetsu-premium .plate .caption .meta b{color:var(--kinari);font-weight:400;display:block;margin-top:4px}


/* ============================================================
   Catalogue index
   ============================================================ */

body.juntetsu-premium .index-block{
  padding:96px var(--edge) 88px;background:#060606;
}
body.juntetsu-premium .index-head{
  display:flex;flex-direction:column;gap:18px;margin-bottom:48px;
}
body.juntetsu-premium .index-head .eyebrow{font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.32em;color:var(--silver);text-transform:uppercase;display:flex;gap:12px;align-items:baseline}
body.juntetsu-premium .index-head .eyebrow .ja{font-family:var(--f-kanji-serif);font-size:14px;letter-spacing:0.18em;color:var(--kinari);text-transform:none}
body.juntetsu-premium .index-head h3{font-family:var(--f-kanji-serif);font-weight:400;font-size:clamp(32px,8vw,56px);line-height:1.05;letter-spacing:0.05em;color:var(--kinari)}
body.juntetsu-premium .index-head h3 .en-sub{display:block;font-family:var(--f-display);font-style:italic;font-weight:300;font-size:16px;color:var(--silver);margin-top:10px;letter-spacing:0.03em}

body.juntetsu-premium .index-groups{display:flex;flex-direction:column;gap:36px}
body.juntetsu-premium .index-group h4{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--hairline-strong);
  font-family:var(--f-display);font-weight:300;font-size:11px;letter-spacing:0.3em;color:var(--silver);text-transform:uppercase;
}
body.juntetsu-premium .index-group h4 .ja{font-family:var(--f-kanji-serif);font-size:18px;color:var(--kinari);letter-spacing:0.14em;text-transform:none}
body.juntetsu-premium .index-group h4 .cnt{font-family:var(--f-display);font-size:10px;letter-spacing:0.3em;color:var(--iron);text-transform:uppercase}
body.juntetsu-premium .index-group ol{list-style:none;padding:0;margin:0}
body.juntetsu-premium .index-group li a{
  display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:baseline;
  padding:12px 0;border-bottom:1px solid var(--hairline);text-decoration:none;color:var(--kinari);
  font-family:var(--f-display);font-weight:300;transition:color .2s,padding-left .3s;
}
body.juntetsu-premium .index-group li a:hover{color:var(--kin);padding-left:10px}
body.juntetsu-premium .index-group li a .ref{font-family:var(--f-body);font-size:10px;letter-spacing:0.22em;color:var(--iron);text-transform:uppercase;padding-top:3px}
body.juntetsu-premium .index-group li a .name{font-size:16px;letter-spacing:0.02em;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
body.juntetsu-premium .index-group li a .name b{font-family:var(--f-kanji-serif);font-weight:500;color:var(--kinari);font-size:18px;letter-spacing:0.04em}
body.juntetsu-premium .index-group li a .name .en{font-style:italic;color:var(--silver);font-size:13px;letter-spacing:0.06em}
body.juntetsu-premium .index-group li a .meta{font-family:var(--f-body);font-size:10px;letter-spacing:0.2em;color:var(--silver);text-transform:uppercase;text-align:right}
body.juntetsu-premium .index-group li a .arr{font-family:var(--f-kanji-serif);color:var(--iron);font-size:16px;transition:color .2s,transform .3s;padding-top:2px}
body.juntetsu-premium .index-group li a:hover .arr{color:var(--kin);transform:translateX(4px)}


/* ============================================================
   Commission CTA
   ============================================================ */

body.juntetsu-premium .commission{
  padding:96px var(--edge) 96px;border-top:1px solid var(--hairline);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(212,175,55,0.05), transparent 50%),
    #0a0a0a;
  text-align:left;
}
body.juntetsu-premium .commission .eyebrow{
  font-family:var(--f-display);font-weight:300;font-size:10px;letter-spacing:0.32em;color:var(--silver);text-transform:uppercase;
  display:flex;gap:14px;align-items:baseline;margin-bottom:26px;
}
body.juntetsu-premium .commission .eyebrow .ja{font-family:var(--f-kanji-serif);font-size:14px;letter-spacing:0.18em;color:var(--kinari);text-transform:none}
body.juntetsu-premium .commission h2{font-family:var(--f-kanji-serif);font-weight:400;font-size:clamp(36px,9vw,68px);line-height:1.05;letter-spacing:0.05em;color:var(--kinari)}
body.juntetsu-premium .commission h2 .en-sub{display:block;font-family:var(--f-display);font-style:italic;font-weight:300;font-size:clamp(16px,4vw,24px);color:var(--silver);margin-top:14px;letter-spacing:0.03em}
body.juntetsu-premium .commission p{max-width:560px;margin-top:26px;font-family:var(--f-display);font-weight:300;font-size:15px;line-height:1.75;color:var(--kinari)}
body.juntetsu-premium .commission .seal-row{display:flex;align-items:center;gap:16px;margin-top:36px}
body.juntetsu-premium .commission .seal-row .seal{width:56px;height:56px;border-radius:50%;background:var(--aka);display:flex;align-items:center;justify-content:center;font-family:var(--f-kanji-serif);color:var(--paper);font-size:22px;font-weight:500}
body.juntetsu-premium .commission .seal-row .lbl{font-family:var(--f-display);font-weight:300;font-size:11px;letter-spacing:0.3em;color:var(--silver);text-transform:uppercase;line-height:1.8}
body.juntetsu-premium .commission .seal-row .lbl b{display:block;color:var(--kinari);font-weight:400;margin-top:2px}

body.juntetsu-premium .cta-pair{display:grid;grid-template-columns:1fr;gap:0;margin-top:44px;border-top:1px solid var(--hairline)}
body.juntetsu-premium .cta-pair a{
  display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--hairline);
  text-decoration:none;color:var(--kinari);font-family:var(--f-display);font-weight:400;font-size:17px;letter-spacing:0.04em;transition:color .2s;
}
body.juntetsu-premium .cta-pair a:hover{color:var(--kin)}
body.juntetsu-premium .cta-pair a .en{display:block;font-family:var(--f-display);font-weight:300;font-size:11px;letter-spacing:0.24em;color:var(--silver);margin-top:4px;text-transform:uppercase}
body.juntetsu-premium .cta-pair a .arr{font-family:var(--f-body);font-size:13px;color:var(--iron);letter-spacing:0.2em}
body.juntetsu-premium .cta-pair a:hover .arr{color:var(--kin)}


/* ============================================================
   Scroll progress / back-to-top
   ============================================================ */

body.juntetsu-premium .scroll-bar{position:fixed;top:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--kin),var(--warm-gold));z-index:90;transition:width .1s linear;mix-blend-mode:screen}
body.juntetsu-premium .to-top{
  position:fixed;bottom:22px;right:22px;z-index:65;
  width:46px;height:46px;border-radius:50%;background:rgba(10,10,10,0.85);backdrop-filter:blur(10px);
  border:1px solid var(--hairline-strong);color:var(--kinari);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  font-family:var(--f-kanji-serif);font-size:18px;
  opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;
}
body.juntetsu-premium .to-top.show{opacity:1;transform:translateY(0)}
body.juntetsu-premium .to-top:hover{color:var(--kin);border-color:var(--kin)}


/* ============================================================
   Intersection reveals
   ============================================================ */

body.juntetsu-premium .reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.19,1,.22,1)}
body.juntetsu-premium .reveal.in{opacity:1;transform:translateY(0)}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (min-width: 700px){
  :root{--edge:56px}
  .nav .links{display:flex;gap:36px;font-family:var(--f-display);font-weight:300;font-size:13px;letter-spacing:0.32em;text-transform:uppercase}
  .nav .links a{color:var(--kinari);text-decoration:none;transition:color .2s}
  .nav .links a:hover{color:var(--kin)}
  .burger{display:none}

  .hero-stats{grid-template-columns:repeat(4,1fr)}
  .hero-stats > div{border-right:1px solid var(--hairline)}
  .hero-stats > div:nth-child(2n){padding-left:0}
  .hero-stats > div:not(:first-child){padding-left:16px}
  .hero-stats > div:last-child{border-right:0}

  .flagship-pair{grid-template-columns:1fr 1fr;gap:36px}
  .flagship-detail{grid-template-columns:96px 1fr}

  .triad-grid{grid-template-columns:repeat(3,1fr);gap:28px}
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:72px 36px}

  .cta-pair{grid-template-columns:1fr 1fr;gap:0 36px}

  .footer{flex-direction:row;padding:80px 56px 48px 80px;gap:56px}
  .footer .brand-lockup{flex:0 0 220px}
  .footer-cols{flex:1;grid-template-columns:repeat(4,1fr)}
}
@media (min-width: 1100px){
  :root{--edge:120px}
  .page-hero{padding:110px var(--edge) 96px}
  .section-nav{top:65px}
  .section-nav-inner{padding:0 var(--edge)}
  .section-nav-inner a{padding:22px 22px 20px;font-size:12px}
  .section-nav-inner a .ja{font-size:17px}

  .prod-grid{grid-template-columns:repeat(3,1fr);gap:96px 44px}

  .flagship{padding:140px var(--edge) 120px}
  .triad{padding:120px var(--edge)}
  .cat{padding:140px var(--edge) 120px}
  .index-block{padding:140px var(--edge) 120px}
  .commission{padding:140px var(--edge) 140px}
  .footer{padding:100px 88px 56px var(--edge)}

  .plate{padding:72px var(--edge) 72px}
}
