.blog-page{max-width:none;width:min(60%,1040px);margin:0 auto;padding-left:0;padding-right:0}
.blog-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:clamp(28px,3vw,40px);align-items:stretch}
@media (min-width:640px){
  .blog-grid{grid-template-columns:repeat(2,1fr);gap:24px}
}
@media (min-width:1024px){
  .blog-grid{grid-template-columns:repeat(3,1fr);gap:32px}
}
@media (min-width:1440px){
  .blog-grid{grid-template-columns:repeat(4,1fr);gap:32px}
}
.blog-card{background:#FFFFFF;border:1px solid #DEDED8;border-radius:16px;overflow:hidden;transition:box-shadow .2s ease}
.blog-card:hover{box-shadow:0 14px 32px -14px rgba(30,28,22,.26)}
.blog-card:focus-within{outline:2px solid var(--ink-deep);outline-offset:2px}
.legal-page .blog-card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.blog-card-link:focus-visible{outline:none}
.blog-card-cover{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.blog-card-body{flex:1 1 auto;min-width:0;padding:24px;display:flex;flex-direction:column}
.blog-card-tag{display:inline-block;align-self:flex-start;margin-bottom:6px;padding:3px 9px;border-radius:10px;background:var(--ink-deep);font-family:var(--font-label);font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:10px;color:#6B6A62}
.blog-card-body h2{margin:0 0 6px;font-family:var(--font-display);font-weight:700;font-size:clamp(17px,1.6vw,19px);line-height:1.25;color:var(--ink-deep);text-decoration:none;transition:color .15s ease;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-link:hover h2,.blog-card-link:focus-visible h2{color:#5B5B54}
.legal-page p.blog-card-byline{margin:0;font-size:12px;line-height:1.4;color:var(--ink);opacity:.65;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blog-card-body .blog-card-byline{margin-top:auto}
.blog-cover{width:100%;height:auto;border-radius:16px;display:block;margin:0 0 40px}
.legal-page h3{margin:clamp(28px,3vw,36px) 0 10px;font-family:var(--font-display);font-weight:400;font-size:clamp(17px,1.6vw,20px);color:var(--ink-deep)}
.legal-page ol{margin:0 0 16px;padding-left:20px}
.legal-page ol li{font-size:15px;line-height:1.75;margin-bottom:6px}
.blog-article [id]{scroll-margin-top:90px}
.blog-byline{margin:clamp(12px,1.6vw,18px) 0 clamp(20px,3vw,28px);font-size:13px;line-height:1.6;color:var(--ink);opacity:.65}
.blog-body > p{font-size:clamp(19px,2vw,20px);line-height:1.65}
.blog-body > ul > li,.blog-body > ol > li{font-size:clamp(19px,2vw,20px);line-height:1.65}
.blog-body h2,.blog-body h3{font-weight:700}
.blog-bar{margin:0 0 clamp(28px,3vw,40px);padding-bottom:24px;border-bottom:1px solid #DEDED8;color:#5F5E57}
.blog-bar-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.blog-bar--noaudio .blog-bar-row{justify-content:flex-end}
.blog-listen{display:flex;align-items:center;gap:16px;min-width:0}
.blog-listen-text{font-family:var(--font-body);font-size:clamp(19px,2vw,20px);line-height:1.2;font-weight:400;white-space:nowrap;cursor:pointer;font-variant-numeric:tabular-nums;color:#5F5E57}
.blog-actions{position:relative;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.legal-page .blog-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;width:44px;height:44px;padding:0;margin:0;border:1px solid #DEDED8;border-radius:10px;background:transparent;color:#5F5E57;font:inherit;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.legal-page .blog-btn:hover{border-color:#5F5E57}
.legal-page .blog-btn:focus-visible{outline:2px solid #5F5E57;outline-offset:2px}
.legal-page .blog-pill{width:auto;padding:0 18px 0 14px;font-family:var(--font-body);font-size:15px;white-space:nowrap}
.blog-btn svg{display:block;flex:0 0 auto}
.blog-play .blog-ico-pause{display:none}
.blog-play.is-playing .blog-ico-play{display:none}
.blog-play.is-playing .blog-ico-pause{display:block}
.blog-toast{position:absolute;right:0;top:100%;margin-top:6px;font-family:var(--font-body);font-size:13px;white-space:nowrap;color:#5F5E57;opacity:0;transition:opacity .2s ease;pointer-events:none}
.blog-toast.is-on{opacity:1}
.legal-page p.blog-audio-ai{margin:12px 0 0;font-family:var(--font-label);font-weight:400;font-size:11px;line-height:1.4;color:#5F5E57}
@media (max-width:639px){
  .legal-page .blog-pill{width:44px;padding:0}
  .blog-pill-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .blog-listen{gap:8px}
  .blog-listen-text{font-size:15px}
  .blog-actions{gap:6px}
}
@media (max-width:359px){
  .blog-listen-text{font-size:13px}
}
.blog-toc{margin:0 0 clamp(28px,3vw,40px);padding:16px 20px;border:1px solid var(--hairline);background:var(--silver)}
.blog-toc-label{margin:0 0 8px;font-family:var(--font-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:11px;color:var(--ink);opacity:.7}
.blog-toc ol{margin:0;padding-left:20px}
.blog-toc li{font-size:14px;line-height:1.6;margin-bottom:4px}
.blog-img{width:100%;height:auto;border-radius:16px;display:block;margin:40px 0}
.blog-img-row{display:grid;gap:24px;margin:40px 0}
.blog-img-row .blog-img{margin:0}
.blog-img-row--2{grid-template-columns:repeat(2,1fr)}
.blog-img-row--3{grid-template-columns:repeat(3,1fr)}
.blog-related{margin-top:clamp(96px,8vw,128px);padding-top:clamp(28px,3vw,36px);border-top:1px solid var(--hairline)}
.blog-related h2{margin:0 0 12px}
.blog-related ul{margin:0;padding-left:20px}
.blog-related li{font-size:15px;line-height:1.75;margin-bottom:6px}
.legal-page p.blog-contact-link{margin-top:clamp(96px,8vw,128px);padding-top:clamp(28px,3vw,36px);border-top:1px solid var(--hairline);font-size:15px}
.blog-index.blog-page{width:90%;margin:0 auto;padding-left:0;padding-right:0}
.blog-intro{max-width:760px;margin:0 auto clamp(40px,5vw,56px);text-align:center}
.blog-intro h1{margin:0 0 12px;font-family:var(--font-display);font-weight:300;font-size:clamp(26px,4vw,40px);line-height:1.15;color:var(--ink-deep)}
.blog-intro p{margin:0;font-size:clamp(16px,1.8vw,18px);line-height:1.6;color:var(--ink)}
@media (max-width:900px){
  .blog-page{width:100%;margin:0;padding-left:20px;padding-right:20px}
  .blog-img-row--2,.blog-img-row--3{grid-template-columns:1fr}
}
@media (max-width:639px){
  .blog-index.blog-page{width:auto;margin:0;padding-left:16px;padding-right:16px}
}
