:root{
  --pij-accent: #ECE1D0;      /* Tatami Beige */
  --pij-paper:  #FAF8F4;      /* Washi Paper */
  --pij-ink:    #1D1D1F;      /* Sumi Ink */
  --pij-muted:  #6B6B6B;      /* Warm Gray */
  --pij-border: rgba(29,29,31,.10);
  --pij-radius: 18px;
  --pij-max: 1120px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background: var(--pij-paper);
  color: var(--pij-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, system-ui,
               "Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

a{ color: inherit; text-decoration: none; }
a:hover{ text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.pij-wrap{ max-width: var(--pij-max); margin: 0 auto; padding: 0 22px; }

.pij-topbar{
  position: sticky; top:0; z-index: 40;
  background: rgba(250,248,244,.82);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--pij-border);
}

.pij-nav{
  display:flex; align-items:center; justify-content:space-between;
  height: 74px;
  gap: 14px;
}

.pij-logo img{ height: 34px; width:auto; display:block; }

.pij-menu{
  display:flex; gap: 18px; align-items:center;
  font-size: 13px;
  letter-spacing: .03em;
}
.pij-menu a{
  padding: 10px 6px;
  opacity: .9;
}
.pij-menu a:hover{
  opacity: 1;
  text-decoration: none;
}

.pij-toggle{
  display:none;
  border: 1px solid var(--pij-border);
  background: transparent;
  padding: 10px 12px;
  border-radius: 999px;
  cursor:pointer;
}

.pij-progress{
  height: 2px;
  width: 0%;
  background: var(--pij-accent);
}

.pij-hero{ padding: 44px 0 22px; }
.pij-hero h1{
  font-family: "New York", Georgia, Times, "Hiragino Mincho ProN","Yu Mincho","MS Mincho","Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
}
.pij-hero p{
  margin:0;
  color: var(--pij-muted);
  max-width: 62ch;
  font-size: 16px;
}

.pij-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
  padding: 22px 0 64px;
}

.pij-feature{
  grid-column: 1 / -1;
  border: 1px solid var(--pij-border);
  border-radius: var(--pij-radius);
  overflow:hidden;
  background: #fff;
}

.pij-feature-inner{ display:grid; grid-template-columns: 1.2fr .8fr; gap: 0; }
.pij-feature-media{ background: rgba(236,225,208,.28); min-height: 320px; }
.pij-feature-media img{ width:100%; height:100%; object-fit: cover; display:block; }

.pij-feature-body{ padding: 26px 26px 22px; }

.pij-kicker{
  display:inline-flex; align-items:center; gap: 10px;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--pij-muted);
}
.pij-kicker::before{
  content:"";
  width: 22px;
  height: 2px;
  background: var(--pij-accent);
  border-radius: 999px;
}

.pij-title{
  margin: 14px 0 10px;
  font-family: "New York", Georgia, Times, "Hiragino Mincho ProN","Yu Mincho","MS Mincho","Noto Serif JP", serif;
  font-size: 30px;
  line-height: 1.12;
  letter-spacing: -0.01em;
}
.pij-excerpt{ margin:0; color: var(--pij-muted); }

.pij-card{
  grid-column: span 4;
  border: 1px solid var(--pij-border);
  border-radius: var(--pij-radius);
  overflow:hidden;
  background: #fff;
  transition: transform .16s ease;
}
.pij-card:hover{ transform: translateY(-1px); }

.pij-card-media{ aspect-ratio: 16/10; background: rgba(236,225,208,.28); }
.pij-card-media img{ width:100%; height:100%; object-fit: cover; display:block; }

.pij-card-body{ padding: 18px 18px 16px; }
.pij-card-title{
  margin: 0 0 8px;
  font-family: "New York", Georgia, Times, "Hiragino Mincho ProN","Yu Mincho","MS Mincho","Noto Serif JP", serif;
  font-size: 20px;
  line-height: 1.22;
}
.pij-meta{ font-size: 13px; color: var(--pij-muted); }

.pij-single{ padding: 30px 0 76px; }
.pij-single h1{
  font-family: "New York", Georgia, Times, "Hiragino Mincho ProN","Yu Mincho","MS Mincho","Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.pij-single .pij-content{ max-width: 720px; }
.pij-content p{ font-size: 16px; }
.pij-content a{
  color: var(--pij-ink);
  background: linear-gradient(transparent 72%, rgba(236,225,208,.85) 72%);
}

.pij-footer{

/* Lock scroll on Clean Logo Splash page */
html:has(body.pij-splash-body){
  height: 100%;
  overflow: hidden;
}
body.pij-splash-body{
  height: 100%;
  overflow: hidden;
  position: fixed;
  inset: 0;
  width: 100%;
  overscroll-behavior: none;
}

  border-top: 1px solid var(--pij-border);
  padding: 34px 0;
  color: var(--pij-muted);
  font-size: 14px;
}

/* CLEAN SPLASH TEMPLATE (no links, no boxes) */
.pij-splash{
  min-height: 100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 28px;
  background: var(--pij-paper);
}
.pij-splash .pij-logo img{
  height: clamp(46px, 6vw, 84px);
}

@media (max-width: 980px){
  .pij-card{ grid-column: span 6; }
  .pij-feature-inner{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .pij-menu{ display:none; }
  .pij-toggle{ display:inline-flex; }
  .pij-card{ grid-column: 1 / -1; }
}