/* BEINGFIT blog — matches main site theme (index.html :root tokens) */
:root{
  --bg:#0c0c0c;--surface:#141414;--surface2:#1a1a1a;
  --white:#f3f0ea;--accent:#e8431a;--accent2:#f0a500;
  --muted:#5a5a5a;--muted2:#888;
  --border:rgba(243,240,234,.08);--border2:rgba(243,240,234,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--white);font-family:'Noto Sans JP',sans-serif;font-weight:400;line-height:1.9;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* header */
.bl-hdr{position:sticky;top:0;z-index:50;background:rgba(12,12,12,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.bl-hdr-in{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}
.bl-logo{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:.12em;color:var(--white)}
.bl-logo span{color:var(--accent)}
.bl-nav{display:flex;gap:26px;font-size:.82rem;letter-spacing:.14em}
.bl-nav a{color:var(--muted2);transition:color .2s}
.bl-nav a:hover,.bl-nav a.on{color:var(--white)}

/* article */
.bl-main{max-width:760px;margin:0 auto;padding:56px 24px 80px}
.bl-crumb{font-size:.75rem;color:var(--muted2);letter-spacing:.08em;margin-bottom:26px}
.bl-crumb a{color:var(--muted2)} .bl-crumb a:hover{color:var(--white)}
.bl-cat{display:inline-block;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}
h1.bl-title{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:700;line-height:1.45;letter-spacing:.02em;margin-bottom:16px}
.bl-meta{color:var(--muted2);font-size:.82rem;letter-spacing:.06em;margin-bottom:30px}
.bl-hero{border-radius:10px;overflow:hidden;margin-bottom:40px;border:1px solid var(--border)}
.bl-hero img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* body typography */
.bl-body{font-size:1rem;color:#d8d5cf}
.bl-body h2{font-size:1.4rem;margin:48px 0 18px;padding-bottom:10px;border-bottom:2px solid var(--accent);line-height:1.5}
.bl-body h3{font-size:1.15rem;margin:40px 0 14px;padding-left:12px;border-left:3px solid var(--accent);line-height:1.5}
.bl-body p{margin-bottom:20px}
.bl-body ul,.bl-body ol{margin:0 0 20px 1.4em}
.bl-body li{margin-bottom:8px}
.bl-body strong{color:var(--white)}
.bl-body img{border-radius:8px;margin:24px 0}
.bl-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem}
.bl-body th,.bl-body td{border:1px solid var(--border2);padding:10px 12px;text-align:left}
.bl-body th{background:var(--surface2)}
.bl-body blockquote{border-left:3px solid var(--accent2);padding:6px 0 6px 18px;color:var(--muted2);margin:24px 0}

/* FAQ */
.bl-faq{margin-top:56px}
.bl-faq h2{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.1em;margin-bottom:20px}
.bl-faq h2 span{color:var(--accent)}
.bl-faq details{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:0}
.bl-faq summary{cursor:pointer;padding:16px 18px;font-weight:500;list-style:none;position:relative;padding-right:40px}
.bl-faq summary::after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.2rem}
.bl-faq details[open] summary::after{content:'−'}
.bl-faq .a{padding:0 18px 16px;color:#d8d5cf;font-size:.95rem}

/* product cards */
.bl-prods{margin-top:56px}
.bl-prods h2{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.1em;margin-bottom:20px}
.bl-prods h2 span{color:var(--accent)}
.bl-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.bl-prod{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:transform .2s,border-color .2s;display:flex;flex-direction:column}
.bl-prod:hover{transform:translateY(-3px);border-color:var(--border2)}
.bl-prod img{width:100%;aspect-ratio:1;object-fit:cover}
.bl-prod .n{padding:12px 14px 2px;font-size:.88rem;font-weight:500;line-height:1.5}
.bl-prod .p{padding:0 14px 10px;color:var(--accent2);font-weight:700;font-size:.9rem}
.bl-prod .b{margin-top:auto;display:block;text-align:center;background:var(--accent);color:#fff;font-size:.8rem;font-weight:700;padding:9px;letter-spacing:.08em}

/* prev / next */
.bl-pn{display:flex;gap:14px;margin-top:56px}
.bl-pn a{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;font-size:.85rem;color:var(--muted2);transition:border-color .2s}
.bl-pn a:hover{border-color:var(--accent);color:var(--white)}
.bl-pn .lbl{display:block;font-size:.68rem;color:var(--accent);letter-spacing:.18em;margin-bottom:4px}
.bl-pn .nx{text-align:right}

/* blog index */
.bl-idx{max-width:1080px;margin:0 auto;padding:56px 24px 80px}
.bl-idx-head{text-align:center;margin-bottom:48px}
.bl-idx-head .kicker{color:var(--accent);font-size:.8rem;letter-spacing:.3em;font-weight:700}
.bl-idx-head h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,6vw,3.6rem);letter-spacing:.08em;margin-top:8px}
.bl-idx-head h1 span{color:var(--accent)}
.bl-idx-head p{color:var(--muted2);font-size:.9rem;margin-top:8px}
.bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.bc{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}
.bc:hover{transform:translateY(-4px);border-color:var(--border2)}
.bc-img{aspect-ratio:16/9;background:var(--surface2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.bc-img img{width:100%;height:100%;object-fit:cover}
.bc-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.bc-cat{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.bc-title{font-weight:700;line-height:1.55;font-size:1rem}
.bc-exc{color:var(--muted2);font-size:.85rem;line-height:1.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bc-meta{margin-top:auto;display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem;letter-spacing:.06em;padding-top:8px}
.bc-rd{color:var(--accent)}

/* footer */
.bl-ftr{border-top:1px solid var(--border);padding:40px 24px;text-align:center;color:var(--muted);font-size:.78rem;letter-spacing:.08em}
.bl-ftr .lg{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:.14em;color:var(--muted2);margin-bottom:8px}
.bl-ftr a{color:var(--muted2)}

@media(max-width:640px){
  .bl-nav{gap:16px;font-size:.76rem}
  .bl-main{padding:36px 18px 60px}
  .bl-pn{flex-direction:column}
}
