/* Shared editorial layout, matching the existing cream-and-gold articles.
   The site's root is 62.5%; rem sizes preserve browser text scaling. */
.bh-blog{position:relative;margin:0;background:#f2f0eb;color:#15181d;font-family:'LINE Seed',system-ui,sans-serif;line-height:1.75;overflow-wrap:anywhere;line-break:loose;-webkit-font-smoothing:antialiased}
.bh-blog *{box-sizing:border-box}
.bh-blog a{color:inherit}
.bh-blog-w{max-width:1280px;margin:0 auto;padding:0 36px}
.bh-blog-col{max-width:740px;margin:0 auto}
.bh-blog-head{position:relative;padding:132px 0 0;background:radial-gradient(ellipse at 75% 0,rgba(201,169,97,.12),transparent 55%)}
.bh-blog-crumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:1.25rem;color:#656b73;margin:0 0 22px}
.bh-blog-crumb a{text-decoration:none}
.bh-blog-cat{display:inline-flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;letter-spacing:.16em;color:#7f6227;background:#f6f1e4;border-radius:999px;padding:7px 14px;margin:0 0 18px}
.bh-blog-cat:before{content:'';width:6px;height:6px;border-radius:50%;background:#c9a961}
.bh-blog h1{font-size:clamp(2.8rem,1.7rem + 2vw,4.6rem);line-height:1.32;letter-spacing:-.028em;font-weight:800;margin:0 0 20px;text-wrap:balance}
.bh-blog-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:1.35rem;color:#656b73;margin:0 0 34px}
.bh-blog-meta b{color:#3b3f45;font-weight:700}
.bh-blog-author{display:inline-flex;align-items:center;gap:9px}
.bh-blog-author i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(150deg,#c6a75c,#e6d096);font-style:normal;font-weight:800;color:#15181d}
.bh-blog-hero{margin:0;border-radius:26px;overflow:hidden;aspect-ratio:16/8.4;background:#e6e2d8;box-shadow:0 34px 70px #15181d24}
.bh-blog-hero img{width:100%;height:100%;object-fit:cover;display:block}
.bh-blog-section{padding:64px 0}
.bh-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:64px;align-items:start;max-width:1040px;margin:0 auto}
.bh-blog-layout.bh-blog-no-toc{display:block;max-width:740px}
.bh-blog-body{min-width:0;font-size:1.65rem;line-height:2;color:#3b3f45;counter-reset:bh-section}
.bh-blog-body p{margin:22px 0 0;text-wrap:pretty}
.bh-blog-body .bh-blog-lead{position:relative;font-size:1.9rem;line-height:1.85;font-weight:700;margin:0 0 8px;padding-left:28px}
.bh-blog-lead:before{content:'\201C';position:absolute;left:-6px;top:-.22em;font-size:4.6rem;line-height:1;font-weight:800;color:#c9a961}
.bh-blog-body :is(h2,.bh-blog-heading){counter-increment:bh-section;position:relative;font-size:clamp(2.1rem,1.6rem + .8vw,2.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.45;margin:58px 0 20px;padding-left:76px;text-wrap:balance;scroll-margin-top:110px}
.bh-blog-body :is(h2,.bh-blog-heading):before{content:'';position:absolute;left:0;top:.18em;bottom:.18em;width:4px;border-radius:3px;background:linear-gradient(#e6d096,#c6a75c)}
.bh-blog-body :is(h2,.bh-blog-heading):after{content:counter(bh-section,decimal-leading-zero);position:absolute;left:20px;top:.2em;display:inline-block;font-size:1.3rem;font-weight:800;letter-spacing:.06em;color:#7f6227;background:#f6f1e4;border-radius:999px;padding:3px 10px;margin:0}
.bh-blog-body>h2:first-child{margin-top:0}
.bh-blog-body h3{font-size:clamp(1.7rem,1.45rem + .4vw,2rem);font-weight:800;letter-spacing:-.015em;color:#15181d;margin:32px 0 14px;line-height:1.5;scroll-margin-top:110px}
.bh-blog-body :is(h4,h5,h6){font-size:1.7rem;line-height:1.6;margin:28px 0 12px;scroll-margin-top:110px}
.bh-blog-body ul{list-style:none;margin:20px 0;padding:0;display:grid;gap:12px}
.bh-blog-body ul>li{position:relative;padding-left:26px;line-height:1.85}
.bh-blog-body ul>li:before{content:'';position:absolute;left:2px;top:.62em;width:7px;height:7px;border:1.5px solid #c9a961;transform:rotate(45deg)}
.bh-blog-body ol{padding-left:26px;margin:20px 0}
.bh-blog-body ol>li{padding-left:4px;margin:10px 0}
.bh-blog-body li>p:first-child{margin-top:0}
.bh-blog-body a{color:#7f6227;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.bh-blog-body :is(img,video){max-width:100%;height:auto;border-radius:20px}
.bh-blog-body figure{max-width:100%;margin:34px 0}
.bh-blog-body figcaption{font-size:1.35rem;color:#656b73;line-height:1.7;margin-top:10px}
.bh-blog-body blockquote{border-left:3px solid #c9a961;margin:28px 0;padding:4px 24px;font-size:1.9rem}
.bh-blog-body hr{border:0;height:1px;background:#e2ded4;margin:48px 0}
.bh-blog-table{max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid #e4e0d6;border-radius:16px;background:#fff}
.bh-blog-table table{border-collapse:collapse;width:100%;font-size:1.5rem;line-height:1.8}
.bh-blog-table :is(th,td){padding:14px 18px;border:1px solid #e4e0d6;min-width:130px;text-align:left;vertical-align:top}
.bh-blog-table th{background:#f6f1e4;font-weight:800;color:#15181d}
.bh-blog-table p{margin:0}
.bh-blog-side{position:sticky;top:104px;min-width:0}
.bh-blog-toc{background:#fff;border:1px solid #e4e0d6;border-radius:20px;padding:24px 26px 26px;max-height:calc(100dvh - 128px);overflow:auto;overscroll-behavior:contain}
.bh-blog-toc h2{font-size:1.2rem;font-weight:700;letter-spacing:.16em;color:#7f6227;margin:0 0 14px;line-height:1.7}
.bh-blog-toc ol{list-style:none;counter-reset:bh-toc;margin:0;padding:0;display:grid;gap:10px}
.bh-blog-toc li{counter-increment:bh-toc;font-size:1.45rem;line-height:1.6}
.bh-blog-toc a{display:flex;gap:10px;color:#3b3f45;text-decoration:none;padding:4px 0}
.bh-blog-toc a:before{content:counter(bh-toc,decimal-leading-zero);flex:none;font-size:1.2rem;font-weight:700;color:#7f6227;padding-top:1px}
.bh-blog-toc a:hover{color:#7f6227;text-decoration:underline}
.bh-blog a:focus-visible,.bh-blog-table:focus-visible{outline:3px solid #886019;outline-offset:5px}
@media(max-width:1080px){.bh-blog-layout{grid-template-columns:1fr;max-width:740px;gap:40px}.bh-blog-side{position:static;order:-1}.bh-blog-toc{max-height:360px;max-height:min(360px,50dvh)}}
@media(max-width:640px){.bh-blog-w{padding:0 20px}.bh-blog-head{padding-top:104px}.bh-blog-section{padding:48px 0}.bh-blog-hero{border-radius:20px;aspect-ratio:4/3.2}.bh-blog-body .bh-blog-lead{font-size:1.7rem}.bh-blog-body :is(h2,.bh-blog-heading){margin-top:44px}.bh-blog-toc{padding:20px}.bh-blog-toc a{min-height:44px;align-items:baseline}.bh-blog-body{font-size:1.65rem}}
@media print{.bh-blog-head{padding-top:0}.bh-blog-side{display:none}.bh-blog-layout{display:block}.bh-blog{background:#fff}.bh-blog-hero{box-shadow:none}}
