/* Real Sommelier — Journal（読みもの）共通スタイル
   LP本体(realsommelier-lp/index.html)と同じトークン。自己完結の静的ページ用。
   ※ public/rs/journal/journal.css にも同じものを同期すること（HTMLのみ noindex を付ける） */
:root{
  --bg:#0a1426;--bg2:#0f1d35;--gold:#c6a35a;--gold2:#e7cd8f;
  --bone:#e7ecf2;--dim:#94a1b6;--line:rgba(198,163,90,.22);
  --pf:"Playfair Display",serif;--mc:"Shippori Mincho",serif;--sans:"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--bg);color:var(--bone);font-family:var(--sans);font-weight:300;line-height:2;letter-spacing:.03em;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:760px;margin:0 auto;padding:0 28px;}
.kicker{font-family:var(--pf);font-style:italic;font-size:1rem;color:var(--gold);letter-spacing:.04em;}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);border:0;}

/* nav */
header.nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;background:rgba(10,20,38,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.brand{font-family:var(--pf);font-weight:700;font-size:1.3rem;letter-spacing:.06em;color:var(--gold2);}
.navlinks{display:flex;gap:22px;align-items:center;}
.nav a.enter{font-family:var(--pf);font-style:italic;font-size:.95rem;color:var(--bone);border-bottom:1px solid var(--gold);padding-bottom:3px;}
.nav a.enter:hover{color:var(--gold2);}
@media(max-width:520px){
  header.nav{padding:16px 18px;}
  .brand{font-size:1.05rem;letter-spacing:.03em;white-space:nowrap;}
  .navlinks{gap:16px;}
  .nav a.enter{font-size:.82rem;}
}

/* index: 見出し */
.top{padding:150px 0 10px;text-align:center;}
.top .kicker{display:block;}
.top h1{font-family:var(--mc);font-weight:600;font-size:clamp(2rem,7vw,3rem);line-height:1.4;margin:16px 0 0;}
.top p{color:var(--dim);margin:18px auto 0;max-width:520px;}
.top .rule{max-width:760px;margin:46px auto 0;}

/* index: 一覧 */
.list{padding:24px 0 70px;display:flex;flex-direction:column;}
.entry{display:flex;gap:22px;align-items:center;padding:30px 4px;border-bottom:1px solid var(--line);transition:.25s;}
.entry:first-child{border-top:1px solid var(--line);}
.entry:hover{background:rgba(198,163,90,.04);}
.entry .cover{flex:0 0 104px;height:139px;overflow:hidden;border:1px solid var(--line);}
.entry .cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.entry:hover .cover img{transform:scale(1.05);}
.entry .cover.ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#182a4a,#0f1d35);}
.entry .cover.ph span{font-size:1.5rem;color:var(--gold);opacity:.45;}
.entry .body{flex:1;min-width:0;}
@media(max-width:520px){.entry{gap:14px;}.entry .cover{flex-basis:84px;height:112px;}}
.entry .date{font-family:var(--pf);font-style:italic;color:var(--dim);font-size:.85rem;letter-spacing:.05em;}
.entry h2{font-family:var(--mc);font-weight:600;font-size:clamp(1.4rem,5vw,1.9rem);color:var(--gold2);margin:8px 0 10px;line-height:1.5;}
.entry .dek{font-family:var(--pf);font-style:italic;color:var(--gold);font-size:.95rem;margin:0 0 12px;letter-spacing:.04em;}
.entry p{color:var(--dim);}
.entry .more{display:inline-block;margin-top:14px;font-family:var(--pf);font-style:italic;color:var(--gold);}

/* プレビュー注記（本番差し替え時に削除） */
.note{max-width:760px;margin:0 auto;padding:0 28px 80px;}
.note div{border:1px dashed var(--line);padding:20px 22px;color:var(--dim);font-size:.88rem;}

/* post（記事本文） */
.post{max-width:680px;margin:0 auto;padding:150px 28px 30px;}
.post .ph{text-align:center;margin-bottom:46px;}
.post .ph .kicker{display:block;margin-bottom:14px;}
.post h1{font-family:var(--mc);font-weight:600;font-size:clamp(1.7rem,6vw,2.5rem);line-height:1.5;color:var(--bone);}
.post .lead{color:var(--gold2);font-family:var(--pf);font-style:italic;margin-top:20px;font-size:1.1rem;letter-spacing:.05em;}
.post .shot{max-width:420px;margin:38px auto;}
.post .shot img{width:100%;height:auto;display:block;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);}
.post .shot figcaption{font-family:var(--pf);font-style:italic;color:var(--dim);font-size:.82rem;text-align:center;margin-top:12px;}
.post .body{font-size:1.02rem;color:#cdd6e3;}
.post .body p.sign{margin-top:2.6em;text-align:center;color:var(--gold2);font-family:var(--mc);line-height:2;}
.post .body p.sign a{color:var(--gold2);border-bottom:1px solid var(--gold);transition:.2s;}
.post .body p.sign a:hover{color:#fff;border-color:var(--gold2);}
.post .body p{margin:0 0 1.7em;}
.post .body p.first::first-letter{font-family:var(--pf);font-size:3.2rem;float:left;line-height:.82;padding:6px 12px 0 0;color:var(--gold);}
.post .body em{font-family:var(--pf);font-style:italic;color:var(--gold2);font-weight:600;}
.post .body .sep{text-align:center;color:var(--gold);letter-spacing:.6em;margin:2.4em 0;}
.post .rule{max-width:680px;margin:10px auto 0;}
.back{text-align:center;padding:8px 28px 60px;}
.back a{font-family:var(--pf);font-style:italic;color:var(--gold);}
.back a:hover{color:var(--gold2);}

/* 記事末のCTA */
.cta{text-align:center;padding:80px 28px 90px;border-top:1px solid var(--line);}
.cta h2{font-family:var(--mc);font-weight:600;font-size:clamp(1.4rem,5vw,2rem);margin:14px 0 26px;white-space:nowrap;}
.cta .btn{display:inline-block;font-family:var(--mc);font-weight:600;font-size:.98rem;padding:15px 36px;letter-spacing:.08em;background:linear-gradient(180deg,var(--gold2),var(--gold));color:#1c1408;transition:.25s;}
.cta .btn:hover{filter:brightness(1.08);}

/* footer */
footer{border-top:1px solid var(--line);padding:50px 28px;text-align:center;color:var(--dim);}
footer .fb{font-family:var(--pf);font-size:1.4rem;color:var(--gold2);letter-spacing:.05em;}
footer .fl{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin:18px 0;font-size:.9rem;}
footer a:hover{color:var(--gold);}
footer .cp{font-family:var(--pf);letter-spacing:.2em;font-size:.75rem;margin-top:10px;opacity:.7;}
