*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);overflow-x:clip}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.demo{position:fixed;z-index:99;left:10px;bottom:10px;padding:9px 13px;border:1px solid currentColor;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-radius:999px;font:600 12px/1 var(--body);letter-spacing:.08em}.demo a{text-decoration:underline;margin-left:10px}.skip{position:fixed;top:-80px;left:8px;z-index:110;background:#fff;color:#000;padding:10px}.skip:focus{top:8px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(25px);transition:.8s}.reveal.seen{opacity:1;transform:none}:focus-visible{outline:3px solid #65a7ff;outline-offset:4px}@media(max-width:720px){.demo{max-width:calc(100vw - 20px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}:root{--bg:#110e0b;--ink:#f0e6d5;--body:"IBM Plex Mono",monospace;--serif:"Cormorant Garamond",serif;--amber:#d78935}.ember-head{position:fixed;z-index:30;inset:24px 28px auto;display:flex}.ember-head>a{font:600 27px var(--serif);letter-spacing:.15em}.ember-head nav{margin-left:auto;display:flex;gap:25px;font-size:12px}.fire-hero{height:100svh;min-height:700px;position:relative}.fire-hero>img{filter:brightness(.45) sepia(.25);animation:breath 8s ease-in-out infinite}@keyframes breath{50%{transform:scale(1.04);filter:brightness(.6) sepia(.4)}}.fire-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 60%,transparent,#080604cc)}.flicker{position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 55% 70%,#e2732228,transparent 35%);animation:flicker .22s infinite alternate}@keyframes flicker{to{opacity:.55;transform:scale(1.03)}}.crest{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:374px;max-width:80vw;height:200px;border:1px solid var(--amber);display:grid;place-items:center;text-align:center}.crest:before,.crest:after{content:"";position:absolute;width:70px;height:70px;border:1px solid var(--amber);transform:rotate(45deg)}.crest:before{left:-35px}.crest:after{right:-35px}.crest b{font:600 74px/.7 var(--serif);letter-spacing:.06em}.crest i{font:12px var(--body)}.crest span,.crest small{position:absolute;font-size:12px}.crest span{top:8px}.crest small{bottom:8px}.fire-hero>p{position:absolute;z-index:3;left:50%;bottom:8vh;transform:translateX(-50%);font-size:12px}.map{position:absolute;z-index:4;right:24px;bottom:24px;width:60px;aspect-ratio:1;border:1px solid;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:12px}.bean-cast{padding:14vh 4vw}.bean-cast header{display:grid;grid-template-columns:1fr 2fr}.bean-cast h1,.roaster h2,.visit-ember h2{font:600 clamp(60px,8vw,110px)/.95 var(--serif)}.bean-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bean-grid article{aspect-ratio:1;position:relative;overflow:hidden;container-type:inline-size}.bean-grid img{filter:brightness(.55);transition:.7s}.bean-grid article:hover img{transform:scale(1.08);filter:brightness(.3)}.bean-grid article:after{content:'';position:absolute;inset:auto 0 0;height:68%;background:linear-gradient(to bottom,#0d0b0900 0%,#0d0b0980 22%,#0d0b09f2 100%);pointer-events:none}.bean-grid article>div{position:absolute;inset:auto clamp(8px,4.6cqw,15px) clamp(8px,4.6cqw,15px);z-index:2;font-size:12px}.bean-grid h2{font:600 clamp(14px,7.7cqw,25px)/1.2 var(--serif);margin:.2em 0}.bean-grid p{font-size:12px;line-height:1.4}.curve{margin-top:12px;border:1px solid var(--amber);padding:18px;color:var(--amber)}.roaster{display:grid;grid-template-columns:1fr 1fr;background:#e9dfcd;color:#17100a}.roaster figure{height:850px;margin:0}.roaster>div{padding:7vw;align-self:center}.roaster p{line-height:1.9}.roaster dl{display:grid;grid-template-columns:1fr 1fr}.roaster dd{font-size:22px;margin:8px 0}.gallery{display:grid;grid-template-columns:1fr 1fr}.gallery img{aspect-ratio:1;filter:sepia(.25)}.gallery img:nth-child(2){object-position:left}.gallery img:nth-child(3){object-position:right}.visit-ember{padding:14vh 5vw;position:relative}.visit-ember dl{display:grid;grid-template-columns:repeat(3,1fr);margin:70px 0}.visit-ember dl div{border-top:1px solid;padding:20px 0}.visit-ember a{display:inline-block;border:1px solid var(--amber);color:var(--amber);padding:16px 22px}footer{padding:28px;display:grid;grid-template-columns:1fr 1fr auto;font-size:12px;border-top:1px solid #ffffff22}@media(max-width:720px){.crest{width:260px}.crest b{font-size:52px}.bean-cast header{grid-template-columns:1fr}.bean-grid{grid-template-columns:1fr 1fr}.roaster{grid-template-columns:1fr}.roaster figure{height:600px}.visit-ember dl{grid-template-columns:1fr}.visit-ember h2{font-size:54px}footer{grid-template-columns:1fr;gap:8px}}
html,body,#main{max-width:100%;overflow-x:clip}.fire-hero{overflow:hidden;contain:paint;max-width:100vw}.flicker{overflow:hidden;transform:none!important;will-change:opacity}@keyframes flicker{from{opacity:.32}to{opacity:.62}}@media(max-width:720px){.fire-hero{width:100%;max-width:100vw}.crest{max-width:calc(100vw - 72px)}.ember-head{left:18px;right:18px}.ember-head nav{gap:14px}}
.crest b{font-size:52px}@media(max-width:720px){.crest b{font-size:38px}.ember-head>a{font-size:20px;letter-spacing:.08em}}

/*HEADING-LEADING-20260811 ── 見出しの行間の是正(オーナー指示 2026-08-11「標準的な行間に。空けすぎないこと」)。
  対象 = **実測で 2 行以上に折り返し、行間が 1.06 未満、かつ日本語を含む**見出しだけ。
  日本語は文字が全角の枠いっぱいなので 1.00 = 行と行が接する。1.00〜1.05 は実質接している。
  1.06 以上は既に隙間が見えており標準域なので触らない(= 空けすぎない)。
  欧文だけの見出しも触らない(枠いっぱいという理屈が当てはまらず、実測で他の部品と重なった)。
  セレクタは実際に描画された要素から機械で取った全長パス。共有 shared-quality.css が
  site.css の**後**に読まれて `!important` で勝つため、短いセレクタでは当たらない。
  生成 = apply_heading_leading_20260811.py / 確認 = scan_all_headings_20260811.cjs --tag after
  0.95 → 1.25 / 3行 / 一粒ごとに火の当て方を変える
  0.95 → 1.25 / 5行 / 味を足す火ではなく素材をひらく火
  0.95 → 1.25 / 3行 / 火曜と金曜焙煎を見られます
*/
html body div#main main section#beans.bean-cast header h1{line-height:1.25!important}
html body div#main main section#roast.roaster div h2{line-height:1.25!important}
html body div#main main section#visit.visit-ember div h2{line-height:1.25!important}
/*/HEADING-LEADING-20260811*/
