/* Public journal: independently loaded so legacy deployments render consistently. */
.blog-index { overflow: hidden; background: #fbf8f3; }
.blog-index-hero { position: relative; overflow: hidden; padding: 2rem 0 8rem; background: #171411; color: #fff; }
.blog-index-orb { position: absolute; border-radius: 50%; pointer-events: none; }
.blog-index-orb.one { width: 560px; height: 560px; top: -350px; right: -100px; background: radial-gradient(circle, rgba(223,124,76,.3), transparent 70%); }
.blog-index-orb.two { width: 480px; height: 480px; bottom: -390px; left: 12%; background: radial-gradient(circle, rgba(240,165,122,.17), transparent 70%); }
.blog-index-breadcrumb { display: flex; align-items: center; gap: .5rem; color: #8d8580; font-size: .72rem; }
.blog-index-breadcrumb a { color: #b9b0aa; text-decoration: none; }
.blog-index-breadcrumb i { font-size: .55rem; }
.blog-index-heading { max-width: 810px; margin: 3.5rem auto 0; text-align: center; }
.blog-index-kicker { display: inline-flex; align-items: center; gap: .45rem; color: #efa17a; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.blog-index-heading h1 { margin: .9rem 0 1rem; font-size: clamp(2.8rem, 6vw, 5rem); line-height: .98; letter-spacing: -.05em; text-wrap: balance; }
.blog-index-heading p { max-width: 650px; margin: 0 auto; color: #bcb3ad; font-size: 1.02rem; line-height: 1.75; }
.blog-index-topics { display: flex; justify-content: center; flex-wrap: wrap; gap: .7rem 1.4rem; margin-top: 2rem; color: #cbc2bc; font-size: .75rem; font-weight: 700; }
.blog-index-topics i { margin-right: .3rem; color: #e99066; }
.blog-index-content { position: relative; margin-top: -4.5rem; padding-bottom: 5.5rem; }
.blog-section-label { display: flex; align-items: center; gap: 1rem; margin-bottom: .85rem; color: rgba(255,255,255,.68); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.blog-section-label i { flex: 1; height: 1px; background: rgba(255,255,255,.14); }
.blog-featured-card { display: grid; grid-template-columns: 1.15fr .85fr; overflow: hidden; min-height: 470px; border: 5px solid rgba(255,255,255,.12); border-radius: 28px; background: #fff; color: inherit; box-shadow: 0 28px 75px rgba(31,21,16,.2); text-decoration: none; }
.blog-featured-media { position: relative; overflow: hidden; min-height: 420px; background: #e8ddd5; }
.blog-featured-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .6s ease; }
.blog-featured-card:hover .blog-featured-media img { transform: scale(1.035); }
.blog-featured-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 62%, rgba(20,14,11,.3)); pointer-events: none; }
.blog-featured-badge { position: absolute; left: 1.2rem; bottom: 1.2rem; z-index: 1; display: inline-flex; align-items: center; gap: .4rem; padding: .48rem .7rem; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(24,19,16,.74); backdrop-filter: blur(10px); color: #fff; font-size: .65rem; font-weight: 800; }
.blog-featured-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.8rem, 4vw, 3.5rem); }
.blog-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem .8rem; color: #938780; font-size: .65rem; font-weight: 650; }
.blog-card-meta span { display: inline-flex; align-items: center; gap: .3rem; }
.blog-card-meta .blog-card-category { padding: .38rem .58rem; border-radius: 999px; background: #f7e9e1; color: #bd5d34; font-weight: 800; }
.blog-featured-copy h2 { margin: 1rem 0 .8rem; color: #201b18; font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.08; letter-spacing: -.04em; text-wrap: balance; }
.blog-featured-copy p { display: -webkit-box; overflow: hidden; margin: 0; color: #6e645e; font-size: .9rem; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.blog-featured-copy > strong { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.4rem; color: var(--ds-orange-dark); font-size: .78rem; }
.blog-image-fallback { width: 100%; height: 100%; display: grid; place-items: center; background: linear-gradient(145deg, #eee2da, #d9cac0); color: rgba(82,62,50,.35); font-size: 2.4rem; }
.blog-latest-section { padding-top: 5rem; }
.blog-list-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.6rem; }
.blog-index-kicker.dark { color: var(--ds-orange); }
.blog-list-heading h2 { margin: .35rem 0 0; color: #201b18; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.04em; }
.blog-list-heading p { max-width: 360px; margin: 0; color: #847a73; font-size: .82rem; text-align: right; }
.blog-modern-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.blog-modern-card { overflow: hidden; border: 1px solid #e7ddd7; border-radius: 22px; background: #fff; box-shadow: 0 12px 34px rgba(35,24,18,.05); transition: transform .25s, box-shadow .25s; }
.blog-modern-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(35,24,18,.1); }
.blog-modern-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #e8ddd5; }
.blog-modern-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease; }
.blog-modern-card:hover .blog-modern-media img { transform: scale(1.045); }
.blog-card-index { position: absolute; right: .75rem; top: .75rem; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(24,19,16,.78); backdrop-filter: blur(8px); color: #fff; font-size: .65rem; font-weight: 800; }
.blog-modern-copy { padding: 1.15rem 1.2rem 1.2rem; }
.blog-modern-copy h3 { margin: .8rem 0 .55rem; font-size: 1.35rem; line-height: 1.18; letter-spacing: -.025em; }
.blog-modern-copy h3 a { color: #261f1b; text-decoration: none; }
.blog-modern-copy p { display: -webkit-box; overflow: hidden; min-height: 4.5em; margin: 0; color: #746a64; font-size: .78rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.blog-modern-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid #eee7e2; }
.blog-modern-footer time { color: #9a908a; font-size: .64rem; }
.blog-modern-footer a { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #f6ece6; color: var(--ds-orange-dark); text-decoration: none; transition: .2s; }
.blog-modern-footer a:hover { background: var(--ds-orange); color: #fff; }
.blog-index-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4.5rem; padding: 2rem 2.2rem; border-radius: 24px; background: linear-gradient(125deg, #28211d, #151210); color: #fff; box-shadow: 0 22px 48px rgba(27,19,15,.16); }
.blog-index-cta span { color: #ed9970; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.blog-index-cta h2 { margin: .3rem 0; font-size: clamp(1.65rem, 3vw, 2.3rem); }
.blog-index-cta p { margin: 0; color: #aba19b; font-size: .78rem; }
.blog-index-cta > a { display: inline-flex; align-items: center; gap: .45rem; padding: .82rem 1.1rem; border-radius: 11px; background: var(--ds-orange); color: #fff; font-size: .75rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.blog-index-empty { max-width: 620px; margin: 0 auto; padding: 4rem 1.5rem; border-radius: 28px; background: #fff; text-align: center; box-shadow: 0 25px 60px rgba(30,20,15,.12); }

.blog-detail { background: #fbf8f3; }
.blog-detail-hero { position: relative; overflow: hidden; padding: 2.2rem 0 8.5rem; background: #171411; color: #fff; }
.blog-detail-glow { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(4px); }
.blog-detail-glow-one { width: 520px; height: 520px; top: -300px; right: -100px; background: radial-gradient(circle, rgba(223,124,76,.28), transparent 68%); }
.blog-detail-glow-two { width: 440px; height: 440px; bottom: -360px; left: 8%; background: radial-gradient(circle, rgba(196,163,90,.18), transparent 70%); }
.blog-breadcrumb { display: flex; align-items: center; gap: .5rem; margin-bottom: 3.4rem; color: rgba(255,255,255,.48); font-size: .72rem; }
.blog-breadcrumb a { color: rgba(255,255,255,.68); text-decoration: none; }
.blog-breadcrumb a:hover { color: #fff; }
.blog-breadcrumb i { font-size: .55rem; }
.blog-breadcrumb span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.blog-detail-heading { max-width: 920px; margin: 0 auto; text-align: center; }
.blog-category { display: inline-flex; align-items: center; gap: .45rem; padding: .48rem .78rem; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(255,255,255,.06); color: #e9b18f; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.blog-detail-heading h1 { max-width: 900px; margin: 1.1rem auto 1rem; font-size: clamp(2.35rem, 5.5vw, 4.65rem); line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
.blog-detail-lead { max-width: 740px; margin: 0 auto; color: #c9c1bb; font-size: clamp(.98rem, 1.5vw, 1.14rem); line-height: 1.75; text-wrap: pretty; }
.blog-detail-meta { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .75rem 1rem; margin-top: 1.7rem; color: #bcb3ac; font-size: .72rem; }
.blog-author-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: #2b2420; color: #f1c3a8; font-weight: 800; }
.blog-detail-meta > div { display: flex; flex-direction: column; align-items: flex-start; padding-right: .8rem; border-right: 1px solid rgba(255,255,255,.12); }
.blog-detail-meta strong { color: #fff; font-size: .75rem; }
.blog-detail-meta small { color: #8f8781; font-size: .62rem; }
.blog-meta-item { display: inline-flex; align-items: center; gap: .38rem; }
.blog-detail-shell { position: relative; margin-top: -5.5rem; padding-bottom: 5.5rem; }
.blog-detail-cover { position: relative; overflow: hidden; aspect-ratio: 16 / 8.2; margin: 0 0 3rem; border: 6px solid rgba(255,255,255,.12); border-radius: 28px; background: #29231f; box-shadow: 0 28px 75px rgba(32,22,17,.22); }
.blog-detail-cover::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); border-radius: 22px; pointer-events: none; }
.blog-detail-cover img { width: 100%; height: 100%; display: block; object-fit: cover; }
.blog-detail-layout { display: grid; grid-template-columns: 230px minmax(0, 780px); justify-content: center; gap: 3.8rem; }
.blog-detail-aside { min-width: 0; }
.blog-toc-card { position: sticky; top: 6rem; padding: 1.15rem; border: 1px solid #e9e1db; border-radius: 18px; background: rgba(255,255,255,.78); backdrop-filter: blur(12px); }
.blog-toc-card > span, .blog-share-card > span { display: block; margin-bottom: .8rem; color: #8e7d72; font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.blog-toc-card nav { display: flex; flex-direction: column; gap: .12rem; }
.blog-toc-card a { display: block; padding: .44rem .55rem; border-left: 2px solid transparent; color: #5b514b; font-size: .72rem; font-weight: 650; line-height: 1.4; text-decoration: none; }
.blog-toc-card a:hover { border-left-color: var(--ds-orange); color: var(--ds-orange); }
.blog-toc-card a.is-sub { padding-left: 1.05rem; color: #887d76; font-size: .67rem; }
.blog-share-card { margin-top: 1rem; padding: 1rem 1.15rem; border-radius: 16px; background: #f1ebe6; }
.blog-share-card div { display: flex; gap: .45rem; }
.blog-share-card a, .blog-share-card button { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #dfd5ce; border-radius: 9px; background: #fff; color: #453c36; text-decoration: none; }
.blog-share-card button { cursor: pointer; }
.blog-share-card a:hover, .blog-share-card button:hover, .blog-share-card button.is-copied { border-color: var(--ds-orange); color: var(--ds-orange); }
.blog-reading-column { min-width: 0; }
.blog-prose { color: #38332f; font-size: 1.03rem; line-height: 1.9; }
.blog-prose > *:first-child { margin-top: 0; }
.blog-prose p { margin: 0 0 1.35rem; color: #4f4944; line-height: 1.9; }
.blog-prose h2, .blog-prose h3 { scroll-margin-top: 6.5rem; color: #1f1a17; font-family: "Fraunces", Georgia, serif; letter-spacing: -.025em; text-wrap: balance; }
.blog-prose h2 { margin: 2.8rem 0 1rem; padding-top: .2rem; font-size: clamp(1.7rem, 3vw, 2.15rem); }
.blog-prose h3 { margin: 2rem 0 .8rem; font-size: 1.35rem; }
.blog-prose ul, .blog-prose ol { margin: 0 0 1.5rem; padding-left: 1.35rem; }
.blog-prose li { margin-bottom: .55rem; padding-left: .25rem; }
.blog-prose li::marker { color: var(--ds-orange); font-weight: 800; }
.blog-prose a { color: #c45e32; text-decoration-color: rgba(196,94,50,.35); text-underline-offset: 3px; }
.blog-prose blockquote { position: relative; margin: 2rem 0; padding: 1.4rem 1.5rem 1.4rem 4rem; border: 0; border-radius: 18px; background: #f1e9e3; color: #473c35; font-family: "Fraunces", Georgia, serif; font-size: 1.2rem; line-height: 1.6; }
.blog-prose blockquote::before { content: "“"; position: absolute; top: .5rem; left: 1.15rem; color: var(--ds-orange); font-size: 3.8rem; line-height: 1; }
.blog-prose img { display: block; max-width: 100%; height: auto; margin: 2rem auto; border-radius: 18px; box-shadow: 0 15px 35px rgba(30,20,15,.09); }
.blog-prose table { width: 100%; margin: 2rem 0; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid #e7dfd9; border-radius: 14px; font-size: .86rem; }
.blog-prose th { background: #241e1a; color: #fff; }
.blog-prose th, .blog-prose td { padding: .75rem .85rem; border-bottom: 1px solid #eee7e2; }
.blog-article-cta { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem; margin-top: 3.5rem; padding: 1.5rem; border-radius: 22px; background: linear-gradient(125deg, #26201c, #161311); color: #fff; box-shadow: 0 20px 42px rgba(27,19,15,.16); }
.blog-cta-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; background: rgba(223,124,76,.15); color: #ef9e76; font-size: 1.25rem; }
.blog-article-cta span { color: #e59a76; font-size: .66rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.blog-article-cta h2 { margin: .2rem 0; font-size: 1.32rem; }
.blog-article-cta p { margin: 0; color: #a99f98; font-size: .7rem; }
.blog-article-cta > a { display: inline-flex; align-items: center; gap: .4rem; padding: .7rem .9rem; border-radius: 10px; background: var(--ds-orange); color: #fff; font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.blog-article-footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid #e6ded8; color: #948982; font-size: .7rem; }
.blog-article-footer a { color: #5a504a; font-weight: 800; text-decoration: none; }

@media (max-width: 991px) {
  .blog-detail-layout { grid-template-columns: minmax(0, 780px); gap: 1.5rem; }
  .blog-detail-aside { display: grid; grid-template-columns: 1fr auto; gap: 1rem; }
  .blog-toc-card { position: static; }
  .blog-share-card { margin-top: 0; }
  .blog-article-cta { grid-template-columns: auto 1fr; }
  .blog-article-cta > a { grid-column: 1 / -1; justify-content: center; }
}
@media (max-width: 575px) {
  .blog-detail-hero { padding: 1.35rem 0 6.5rem; }
  .blog-breadcrumb { margin-bottom: 2.3rem; }
  .blog-detail-heading h1 { font-size: 2.45rem; }
  .blog-detail-meta > div { border-right: 0; }
  .blog-detail-shell { margin-top: -3.6rem; padding-bottom: 4rem; }
  .blog-detail-cover { aspect-ratio: 4 / 3; margin-bottom: 2rem; border-width: 4px; border-radius: 20px; }
  .blog-detail-aside { grid-template-columns: 1fr; }
  .blog-prose { font-size: .96rem; line-height: 1.82; }
  .blog-prose p { line-height: 1.82; }
  .blog-prose blockquote { padding: 1.2rem 1.15rem 1.2rem 3.2rem; font-size: 1.08rem; }
  .blog-article-cta { grid-template-columns: 1fr; padding: 1.25rem; }
  .blog-article-cta > a { grid-column: auto; }
  .blog-article-footer { align-items: flex-start; flex-direction: column; }
}

/* An editorial palette: warm paper, forest green and restrained terracotta. */
.blog-index,.blog-detail{--journal-ink:#183e2e;--journal-muted:#68756c;background:#faf9f5;color:var(--journal-ink)}
.blog-index a:focus-visible,.blog-detail a:focus-visible,.blog-detail button:focus-visible{outline:3px solid #df7c4c;outline-offset:5px}
.blog-index-hero{padding:1.6rem 0 4.5rem;background:#edf1e9;color:var(--journal-ink);border-bottom:1px solid #dde5d9}
.blog-index-orb{display:none}
.blog-index-breadcrumb,.blog-breadcrumb{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.75rem;color:#7a897c}
.blog-index-breadcrumb a{color:#556b5c}
.blog-index-heading{max-width:850px;margin:2.5rem 0 0;text-align:left}
.blog-index-kicker{color:#a65a35;letter-spacing:.14em;font-size:.7rem}
.blog-index-heading h1{margin:1rem 0 1.2rem;font-size:clamp(2.7rem,4.5vw,4.6rem);line-height:1.09;letter-spacing:-.045em;color:var(--journal-ink)}
.blog-index-heading h1 em{font-weight:400;color:#668264}
.blog-index-heading p{max-width:620px;margin:0;color:#657467;font-size:1rem;line-height:1.8}
.blog-index-topics{justify-content:flex-start;gap:.6rem;margin-top:1.6rem;color:#536b58;font-size:.73rem}
.blog-index-topics>span{padding:.5rem .8rem;border:1px solid #d5dfcf;border-radius:999px;background:#f7f9f3}
.blog-index-topics i{color:#7d9273}
.blog-index-content{margin-top:0;padding-top:2.7rem;padding-bottom:4rem}
.blog-section-label{color:#718371;font-size:.7rem;margin-bottom:1rem;letter-spacing:.13em}
.blog-section-label i{background:#dce3d7}
.blog-featured-card{grid-template-columns:.95fr 1.05fr;min-height:430px;border:1px solid #e1e6da;border-radius:24px;box-shadow:0 16px 40px #24452c08;background:#fff;color:var(--journal-ink);transition:box-shadow .2s}
.blog-featured-card:hover{color:var(--journal-ink);box-shadow:0 20px 45px #24452c12}
.blog-featured-media{min-height:430px;background:#dbe5d4}
.blog-featured-media::after{display:none}
.blog-featured-badge{left:1.4rem;bottom:1.4rem;background:#ffffffeb;border:0;color:#234c35;backdrop-filter:none;font-size:.68rem}
.blog-featured-copy{padding:clamp(1.6rem,3.5vw,3rem)}
.blog-featured-copy h2{font-size:clamp(1.8rem,2.6vw,2.65rem);color:var(--journal-ink);line-height:1.16;margin:1.1rem 0;letter-spacing:-.025em}
.blog-card-meta{color:#7a857b;font-size:.7rem;gap:.7rem}
.blog-card-meta .blog-card-category{background:#edf2e8;color:#4c6c46;font-weight:700}
.blog-featured-copy p{color:#68736b;font-size:.92rem;line-height:1.8}
.blog-featured-copy>strong{align-self:flex-start;margin-top:1.5rem;color:#a65a35;border-bottom:1px solid #e5c4ad;padding-bottom:.4rem;font-size:.82rem}
.blog-image-fallback{position:absolute;inset:0;background:#214936;color:#f1f3e8;text-align:left;overflow:hidden}
.blog-image-fallback::before,.blog-image-fallback::after{content:"";position:absolute;width:75%;height:85%;border:1px solid #b0c5954d;border-radius:35%;transform:rotate(-32deg);right:-15%;bottom:-35%;background:#92a87612;pointer-events:none}
.blog-image-fallback::after{right:-35%;bottom:-5%;transform:rotate(-32deg);background:#c8b08a14}
.blog-land-art{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;position:relative;z-index:1;padding:2.8rem;width:100%}
.blog-land-art>i{display:grid;place-items:center;width:56px;height:56px;border:1px solid #b6c8a56e;border-radius:50%;font-size:1.6rem;color:#d6c29c}
.blog-land-art small{font-size:.63rem;letter-spacing:.18em;color:#b4c4ab}
.blog-land-art b{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,3vw,3.2rem);line-height:1.14;letter-spacing:-.03em}
.blog-land-art>span{font-size:.73rem;color:#c3ceb9}
.blog-latest-section{padding-top:3.5rem}
.blog-list-heading h2{color:var(--journal-ink);font-size:2.25rem}
.blog-list-heading p{color:#758073;text-align:left;font-size:.87rem}
.blog-index-kicker.dark{color:#a65a35}
.blog-modern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.blog-modern-card{border:1px solid #e1e6da;border-radius:20px;box-shadow:none}
.blog-modern-media{aspect-ratio:16/9;background:#e3e9dc}
.blog-card-index{background:#fffef2ed;color:#35513a;border-radius:50%;font-weight:500}
.blog-modern-copy{padding:1.6rem}
.blog-modern-copy h3{font-size:1.7rem;line-height:1.2;margin:1rem 0 .7rem}
.blog-modern-copy h3 a{color:var(--journal-ink)}
.blog-modern-copy p{font-size:.88rem;line-height:1.75;min-height:0;color:#68736b}
.blog-modern-footer{border-color:#e7ebdf}
.blog-modern-footer time{font-size:.72rem;color:#768273}
.blog-modern-footer a{background:#edf2e8;color:#45643c;border-radius:50%;width:40px;height:40px}
.blog-index-cta{background:#1c402f;border-radius:22px;padding:2.4rem;box-shadow:none;margin-top:3.5rem}
.blog-index-cta h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.18}
.blog-index-cta p{color:#bac9b5;font-size:.88rem;line-height:1.7}
.blog-index-cta>a,.blog-article-cta>a{padding:1rem 1.3rem;background:#df7c4c;font-size:.8rem;border-radius:12px}
.blog-detail-hero{padding:1.5rem 0 3rem;background:#1d402f;color:#fff}
.blog-detail-glow{display:none}
.blog-breadcrumb{margin-bottom:2.2rem;color:#aac0a5}
.blog-breadcrumb a{color:#d3dfc9;text-decoration:none}
.blog-breadcrumb i{font-size:.55rem}
.blog-detail-heading{max-width:960px;text-align:left;margin:0}
.blog-category{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;background:#ffffff0d;border:1px solid #bccfac33;border-radius:999px;color:#d9e4c9;font-size:.72rem;font-weight:600}
.blog-detail-heading h1{max-width:960px;margin:1.3rem 0;font-size:clamp(2.1rem,3.8vw,3.8rem);line-height:1.13;color:#faf9ef;letter-spacing:-.035em;text-wrap:balance}
.blog-detail-lead{margin:0;max-width:800px;color:#c1ceb9;font-size:1.05rem;line-height:1.8;text-wrap:pretty}
.blog-detail-meta{justify-content:flex-start;gap:1rem;margin-top:1.8rem;color:#c1ceb9;font-size:.75rem}
.blog-author-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d9e2c5;color:#25422e;font-family:Georgia,serif;font-size:1rem}
.blog-detail-meta>div{border-color:#ffffff26}.blog-detail-meta strong{color:#f5f5e9;font-size:.78rem}.blog-detail-meta small{color:#aebea5;font-size:.68rem}
.blog-meta-item{display:inline-flex;align-items:center;gap:.4rem}
.blog-detail-shell{margin-top:0;padding-top:3rem;padding-bottom:4rem}
.blog-detail-cover{aspect-ratio:16/7;margin:0 0 3rem;border:0;border-radius:22px;box-shadow:none;background:#dce5d4}
.blog-detail-layout{grid-template-columns:230px minmax(0,760px);gap:3.5rem;justify-content:start}
.blog-detail-aside{position:sticky;top:110px;align-self:start}
.blog-toc-card{position:static;padding:1.3rem;background:#f0f3eb;border:1px solid #dfe6d7;backdrop-filter:none;border-radius:16px}
.blog-toc-card[hidden]{display:none}
.blog-toc-card>span,.blog-share-card>span{font-size:.68rem;color:#7b8b73;letter-spacing:.13em}
.blog-toc-card a{font-size:.77rem;line-height:1.55;color:#486044;padding:.5rem .2rem .5rem .6rem;font-weight:500}
.blog-toc-card a.is-sub{font-size:.72rem;color:#74836b}
.blog-toc-card a:hover{color:#a65a35;border-color:#df7c4c}
.blog-share-card{background:transparent;padding:1.3rem .2rem}
.blog-share-card a,.blog-share-card button{width:40px;height:40px;border-color:#dbe3d4;color:#45643c;background:#fff;border-radius:50%}
.blog-prose{font-size:1.04rem;line-height:1.9;color:#43523f;overflow-wrap:anywhere}
.blog-prose p{color:#54604e;font-size:inherit;line-height:1.9;margin-bottom:1.4rem}
.blog-prose h2,.blog-prose h3{color:#21422e;scroll-margin-top:110px;letter-spacing:-.025em}
.blog-prose h2{font-size:clamp(1.65rem,2.4vw,2.1rem);margin:2.6rem 0 1rem;line-height:1.25}
.blog-prose h3{font-size:1.4rem;line-height:1.3}
.blog-prose a{color:#a55932;text-decoration-thickness:1px;text-underline-offset:4px}
.blog-prose blockquote{background:#eef2e7;border-left:3px solid #82936a;border-radius:0 14px 14px 0;color:#3d5839}
.blog-prose img{box-shadow:none;border-radius:16px}
.blog-prose table{display:block;max-width:100%;overflow-x:auto;border-color:#dce4d3}.blog-prose th{background:#25482f}
.blog-article-cta{grid-template-columns:auto 1fr;background:#eaf0e2;color:#29472e;box-shadow:none;padding:1.7rem;border:1px solid #dce6d0}
.blog-cta-icon{background:#dae5cd;color:#5e784f}
.blog-article-cta span{color:#7c8a68;font-size:.65rem;letter-spacing:.08em}
.blog-article-cta h2{color:#25482f;font-size:1.65rem;line-height:1.2;margin:.5rem 0}
.blog-article-cta p{color:#6c795f;font-size:.85rem;line-height:1.7}
.blog-article-cta>a{grid-column:2;justify-self:start;color:#fff}
.blog-article-footer{border-color:#dfe5d7;font-size:.73rem;color:#7a8671}.blog-article-footer a{color:#496341}
@media(min-width:992px){.blog-modern-grid:has(>.blog-modern-card:only-child){grid-template-columns:minmax(0,1fr)}.blog-modern-grid>.blog-modern-card:only-child{display:grid;grid-template-columns:1fr 1fr}.blog-modern-card:only-child .blog-modern-media{height:100%;min-height:280px}.blog-modern-card:only-child .blog-modern-copy{align-self:center;padding:2rem}}
@media(max-width:991px){.blog-featured-card{grid-template-columns:1fr 1fr}.blog-featured-media{min-height:380px}.blog-land-art{padding:1.8rem}.blog-detail-layout{grid-template-columns:1fr;gap:2rem}.blog-detail-aside{position:static;display:block}.blog-toc-card nav{max-height:210px;overflow:auto}.blog-share-card{display:flex;align-items:center;gap:1rem;padding:1rem 0 0}.blog-share-card>span{margin:0}.blog-detail-shell{padding-top:2rem}}
@media(max-width:767px){.blog-index-hero{padding:1.2rem 0 2rem}.blog-index-heading{margin-top:1.8rem}.blog-index-heading h1{font-size:2.7rem}.blog-index-heading p{font-size:.92rem}.blog-index-topics{font-size:.65rem;gap:.4rem}.blog-index-topics>span{padding:.45rem .6rem}.blog-index-content{padding-top:1.7rem;margin-top:0}.blog-featured-card{grid-template-columns:1fr;border-radius:20px}.blog-featured-media{min-height:300px}.blog-land-art{padding:2rem}.blog-land-art b{font-size:2.6rem}.blog-featured-copy{padding:1.5rem}.blog-featured-copy h2{font-size:2rem}.blog-card-meta{font-size:.65rem}.blog-list-heading{align-items:start;flex-direction:column;gap:.75rem}.blog-list-heading h2{font-size:2rem}.blog-list-heading p{text-align:left}.blog-modern-grid{grid-template-columns:1fr}.blog-modern-copy{padding:1.4rem}.blog-modern-copy h3{font-size:1.65rem}.blog-index-cta{flex-direction:column;align-items:start;padding:1.7rem;gap:1.4rem}.blog-index-cta>a{width:100%;justify-content:center;white-space:normal}.blog-detail-hero{padding:1.2rem 0 2rem}.blog-breadcrumb{font-size:.68rem;gap:.45rem;margin-bottom:1.7rem}.blog-breadcrumb>span{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blog-detail-heading h1{font-size:2.2rem;line-height:1.15}.blog-detail-lead{font-size:.95rem}.blog-detail-meta{gap:.7rem;font-size:.68rem}.blog-detail-meta>div{border:0;padding:0}.blog-detail-shell{margin-top:0;padding-bottom:2.5rem}.blog-detail-cover{aspect-ratio:4/3;border-radius:16px;margin-bottom:2rem}.blog-prose{font-size:1rem}.blog-prose p{line-height:1.85}.blog-prose h2{font-size:1.75rem}.blog-article-cta{padding:1.4rem;grid-template-columns:1fr;gap:.8rem}.blog-article-cta>a{grid-column:1;width:100%;justify-content:center}.blog-article-footer{flex-direction:column;gap:.8rem}}
@media(prefers-reduced-motion:reduce){.blog-index *,.blog-detail *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:767px){body:has(.blog-index) .contact-dock,body:has(.blog-detail) .contact-dock{display:none}.blog-index,.blog-detail{padding-bottom:1rem}}
@media(max-width:767px){.blog-featured-badge{display:none}}

/* Compact introduction keeps the articles close to the navigation. */
.blog-index-hero{padding:1.25rem 0 2rem}
.blog-index-heading{margin-top:1.4rem;max-width:900px}
.blog-index-heading h1{font-size:clamp(2rem,3.2vw,3rem);margin:.65rem 0 .8rem;line-height:1.1}
.blog-index-heading p{max-width:760px;font-size:.9rem;line-height:1.6}
.blog-index-topics{margin-top:1rem}
.blog-index-content{padding-top:1.8rem}
@media(max-width:767px){
.blog-index-hero{padding:.85rem 0 1.2rem}
.blog-index-heading{margin-top:1rem}
.blog-index-kicker{font-size:.6rem;letter-spacing:.1em}
.blog-index-heading h1{font-size:1.85rem;line-height:1.12;margin:.55rem 0 .65rem;letter-spacing:-.03em}
.blog-index-heading h1 br{display:none}
.blog-index-heading h1 em::before{content:" "}
.blog-index-heading p{font-size:.8rem;line-height:1.55}
.blog-index-topics{margin-top:.8rem;gap:.35rem}
.blog-index-topics>span{padding:.35rem .5rem;font-size:.6rem}
.blog-index-content{padding-top:1.25rem}
}
