/* Venant planning library: one strong title, practical tools, quiet reading pages. */
.blog-page [hidden]{display:none!important}
.blog-main{padding-bottom:clamp(3rem,6vw,6rem)}
.blog-main :where(a,button,input,select,summary):focus-visible{outline:3px solid var(--forest);outline-offset:4px}
.blog-main :where(h1,h2,h3,p,li,a){overflow-wrap:break-word}
.blog-main h1{line-height:1.12;text-wrap:balance}
.blog-breadcrumbs{padding-top:1.75rem;font-size:.84rem;color:var(--forest-65)}
.blog-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.4rem .65rem;list-style:none}
.blog-breadcrumbs li{display:flex;gap:.65rem;align-items:baseline;min-width:0}
.blog-breadcrumbs li+li::before{content:'/';color:var(--forest-65)}
.blog-breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.blog-breadcrumbs li[aria-current]{color:var(--forest)}
.blog-eyebrow{font-size:.9rem;font-weight:500;margin-bottom:1rem;color:var(--forest)}
.blog-index-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end;padding-block:clamp(2.5rem,5vw,4.75rem) 2.5rem}
.blog-index-head h1{font-size:clamp(3.15rem,6.4vw,6.7rem);max-width:15ch}
.blog-index-intro{max-width:42ch;padding-bottom:.35rem;font-size:1.12rem;line-height:1.6}
.blog-index-image,.blog-article-image{margin:0;max-width:1090px}
.blog-index-image img,.blog-article-image img{display:block;width:100%;height:auto;object-fit:contain;border-radius:var(--r-card)}
.blog-index-image figcaption,.blog-article-image figcaption{margin-top:.55rem;color:var(--forest-65);font-size:.78rem;line-height:1.45}
.blog-library-size{margin-block:1.2rem .75rem;font-size:.87rem;font-weight:700}
.blog-disclosure{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;font-size:.82rem;line-height:1.5;color:var(--forest-65);padding-bottom:1.5rem}
.blog-draft{display:inline-flex;align-items:center;border:1px solid var(--forest);border-radius:6px;padding:4px 9px;color:var(--forest);font-weight:700;white-space:nowrap}
.blog-search{background:var(--forest);color:var(--chalk);border-radius:var(--r-card);padding:clamp(1.25rem,3vw,2.5rem)}
.blog-search h2{font-family:var(--sans);color:var(--chalk);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;text-transform:none;letter-spacing:-.02em;line-height:1.15}
.blog-search-heading p{margin-top:.5rem;color:var(--chalk);font-size:.96rem;max-width:65ch}
.blog-search-form{margin-top:1.75rem}
.blog-search-form fieldset{border:0;min-width:0}
.blog-search-form label{display:block;color:var(--chalk);font-size:.9rem;font-weight:500;margin-bottom:.5rem}
.blog-query-row{display:flex;gap:.7rem;align-items:stretch}
.blog-search-form input,.blog-search-form select{background:var(--chalk);color:var(--forest);border:2px solid transparent;border-radius:var(--r-btn);width:100%;min-width:0;min-height:52px;padding:11px 14px;font:inherit;font-size:1rem}
.blog-search-form input::placeholder{color:rgba(0,82,45,.75);opacity:1}
.blog-query-row .btn{flex-shrink:0}
.blog-search-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:1rem;align-items:end;margin-top:1rem}
.blog-search :where(input,select,button,a):focus-visible{outline-color:var(--chalk)}
.blog-search input:focus-visible,.blog-search select:focus-visible{border-color:var(--forest)}
.blog-reset,.blog-print{border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:.9rem;padding:10px 0;cursor:pointer;min-height:44px}
.blog-search .blog-reset{padding-inline:.4rem;margin-bottom:4px}
.blog-search-status{font-size:.9rem;margin-top:1rem;min-height:1.5em;color:var(--chalk)}
.blog-search [data-blog-search-retry]{margin-top:1rem}
.blog-no-script{border-top:1px solid rgba(254,250,243,.4);padding-top:1rem;margin-top:1rem;font-size:.9rem}
.blog-search-results,.blog-featured,.blog-browse-columns,.blog-related{margin-top:clamp(3rem,6vw,5rem)}
.blog-search-results{scroll-margin-top:110px}
.blog-section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:1.5rem}
.blog-section-head p{font-size:.96rem;max-width:38ch;color:var(--forest-65)}
.blog-search-results>h2,.blog-section-head h2,.blog-browse>h2{font-family:var(--sans);font-size:clamp(1.55rem,2.5vw,2.2rem);line-height:1.2;letter-spacing:-.025em;text-transform:none;font-weight:700;color:var(--forest)}
.blog-search-results>h2{margin-bottom:1.5rem}
.blog-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem 1.8rem;list-style:none}
.blog-card{border-top:2px solid var(--forest);padding:1.25rem .25rem 1.5rem;display:flex;flex-direction:column;align-items:start;min-width:0}
.blog-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;margin-bottom:1.1rem;border-radius:var(--r-card)}
.blog-card :is(h2,h3){font-family:var(--sans);font-size:1.27rem;line-height:1.3;letter-spacing:-.015em;text-transform:none;color:var(--forest);font-weight:700;text-wrap:pretty}
.blog-card :is(h2,h3) a:hover{text-decoration:underline;text-decoration-color:var(--amber-btn);text-underline-offset:4px}
.blog-card p{font-size:.93rem;color:var(--forest-65);line-height:1.55;margin-top:.75rem;margin-bottom:.8rem}
.blog-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500;min-height:44px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--amber-btn)}
.blog-browse-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}
.blog-browse>h2{margin-bottom:1.2rem}
.blog-browse-group{border-bottom:1px solid var(--sand)}
.blog-browse-group summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;cursor:pointer;list-style:none;font-size:1.02rem;font-weight:700;line-height:1.4}
.blog-browse-group summary::-webkit-details-marker{display:none}
.blog-browse-group summary>span{font-size:.83rem;min-width:46px;text-align:right;font-weight:400;white-space:nowrap}
.blog-browse-group summary>span::after{content:' +';font-size:1.2rem;font-weight:500;margin-left:.4rem}
.blog-browse-group[open] summary>span::after{content:' −'}
.blog-browse-group ul{list-style:none;padding:0 0 1rem}
.blog-browse-group li a{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;min-height:44px;padding:10px 12px;border-radius:6px;font-size:.92rem;line-height:1.4}
.blog-browse-group li a:hover{background:var(--peach)}
.blog-browse-count{font-size:.78rem;flex-shrink:0;color:var(--forest-65)}
.blog-listing-head{padding-block:clamp(2.25rem,5vw,4rem) 2rem;max-width:1020px}
.blog-listing-head h1{font-size:clamp(3rem,5.8vw,6rem);max-width:21ch}
.blog-lede{font-size:clamp(1.07rem,1.5vw,1.23rem);line-height:1.65;max-width:65ch;margin-top:1.5rem}
.blog-context{display:flex;flex-wrap:wrap;gap:.65rem 1rem;padding:0 0 2.5rem}
.blog-context a{font-size:.91rem;display:inline-flex;align-items:center;min-height:44px;padding:.4rem .9rem;border:1px solid var(--sand);border-radius:var(--r-btn);line-height:1.35}
.blog-context a:hover{background:var(--peach)}
.blog-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.blog-pagination :is(a,button,.blog-page-current){display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;min-width:44px;min-height:44px;border:1px solid var(--sand);border-radius:var(--r-btn);font-size:.95rem;color:var(--forest);background:transparent;text-align:center;line-height:1.35}
.blog-pagination button{cursor:pointer}
.blog-pagination :is(a,button):hover{background:var(--peach)}
.blog-pagination .blog-page-current{background:var(--forest);color:var(--chalk);border-color:var(--forest)}
.blog-pagination button:disabled{opacity:.45;cursor:default}
.blog-page-summary{font-size:.88rem;padding-inline:.5rem}
.blog-project{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--peach);border-radius:var(--r-card);padding:clamp(1.5rem,3.5vw,3rem);margin-top:clamp(3rem,6vw,5rem)}
.blog-project h2{font-family:var(--sans);font-size:clamp(1.6rem,2.6vw,2.25rem);font-weight:700;text-transform:none;color:var(--forest);letter-spacing:-.025em;line-height:1.18;max-width:23ch}
.blog-project p{font-size:1rem;margin-top:.75rem;max-width:48ch;line-height:1.55}
.blog-actions{display:flex;flex-direction:column;align-items:start;gap:1rem;flex-shrink:0}
.blog-article-head{max-width:1090px;padding-block:clamp(2.25rem,4.8vw,4rem) 1.25rem}
.blog-article-head h1{font-size:clamp(2.7rem,5.4vw,5.7rem);max-width:25ch}
.blog-article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.3rem;font-size:.86rem;color:var(--forest-65)}
.blog-print{color:var(--forest)}
.blog-reading-layout{display:grid;grid-template-columns:minmax(170px,230px) minmax(0,740px);gap:clamp(2rem,6vw,6rem);align-items:start;border-top:1px solid var(--sand);padding-top:2.5rem}
.blog-rail{position:sticky;top:100px;max-height:calc(100vh - 125px);overflow:auto;padding:3px 5px 8px 3px}
.blog-toc h2{font-family:var(--sans);font-size:.94rem;font-weight:700;line-height:1.3;color:var(--forest);text-transform:none;letter-spacing:0;margin-bottom:.8rem}
.blog-toc ol{list-style:none}
.blog-toc a{display:block;padding:8px 0;color:var(--forest-65);font-size:.88rem;line-height:1.45;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--sand)}
.blog-toc a:hover{color:var(--forest);text-decoration-color:var(--forest)}
.blog-library-back{display:block;border-top:1px solid var(--sand);padding-top:1rem;margin-top:1rem;font-size:.85rem;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.blog-prose{min-width:0;max-width:68ch;font-size:1.05rem;line-height:1.7}
.blog-prose h2{font-family:var(--sans);font-size:clamp(1.6rem,2.25vw,2rem);font-weight:700;line-height:1.25;text-transform:none;letter-spacing:-.025em;color:var(--forest);text-wrap:pretty;margin-bottom:1rem}
.blog-prose h3{font-size:1.5rem;line-height:1.35}
.blog-prose p+p{margin-top:1rem}
.blog-prose ul{padding-left:1.3rem;margin-top:1rem}
.blog-prose li+li{margin-top:.65rem}
.blog-prose-section{margin-top:3rem;scroll-margin-top:105px}
.blog-takeaway{border-left:4px solid var(--amber-btn);padding:.3rem 0 .3rem 1.4rem}
.blog-takeaway h2{font-size:1rem;margin-bottom:.6rem;letter-spacing:0}
.blog-takeaway p{font-size:1.17rem;line-height:1.6}
.blog-example{background:var(--peach);border-radius:var(--r-card);padding:clamp(1.35rem,3vw,2rem);margin-top:1.3rem}
.blog-example .blog-example-label{font-size:.8rem;margin-bottom:1rem;color:var(--forest-65)}
.blog-example h3{font-size:1.65rem;line-height:1.2;margin-bottom:1rem}
.blog-example-cta{display:inline-block;border-bottom:2px solid var(--forest);padding-bottom:.2rem;margin-top:1.2rem;font-size:.95rem;font-weight:700}
.blog-example .blog-example-note{font-size:.8rem;line-height:1.5;color:var(--forest-65);margin-top:1.25rem}
.blog-checklist{margin-top:3rem;padding:1.5rem 0;border-block:2px solid var(--forest);scroll-margin-top:105px}
.blog-checklist-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.blog-checklist-head h2{margin:0}
.blog-checklist>p{font-size:.88rem;line-height:1.5;margin-top:.8rem;color:var(--forest-65)}
.blog-checklist-progress{display:flex;align-items:center;gap:1rem;margin-top:1.2rem}
.blog-checklist progress{appearance:none;width:100%;height:8px;border:0;background:var(--sand);border-radius:8px;overflow:hidden;accent-color:var(--forest)}
.blog-checklist progress::-webkit-progress-bar{background:var(--sand);border-radius:8px}
.blog-checklist progress::-webkit-progress-value{background:var(--forest);border-radius:8px}
.blog-checklist progress::-moz-progress-bar{background:var(--forest);border-radius:8px}
.blog-checklist output{font-size:.82rem;white-space:nowrap}
.blog-checklist ul{list-style:none;padding:0;margin-top:1rem}
.blog-checklist li+li{margin-top:0}
.blog-checklist label{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 0;cursor:pointer;line-height:1.55;font-size:1rem}
.blog-checklist input{flex-shrink:0;width:21px;height:21px;margin-top:3px;accent-color:var(--forest);cursor:pointer}
.blog-checklist input:checked+span{color:var(--forest-65)}
.blog-faq details{border-top:1px solid var(--sand);padding:1rem 0}
.blog-faq details:last-child{border-bottom:1px solid var(--sand)}
.blog-faq summary{cursor:pointer;font-size:1.02rem;font-weight:700;line-height:1.5;padding-right:.5rem}
.blog-faq details p{margin-top:.8rem;font-size:1rem}
.blog-sources p{font-size:.95rem}
.blog-sources ul{font-size:.94rem;line-height:1.6}
.blog-sources a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.blog-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-project{align-items:start;flex-direction:column}.blog-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.blog-reading-layout{grid-template-columns:190px minmax(0,1fr);gap:2rem}}
@media(max-width:760px){.blog-index-head{grid-template-columns:1fr;gap:1.5rem}.blog-index-head h1{max-width:18ch}.blog-index-intro{max-width:58ch}.blog-search-filters{grid-template-columns:1fr 1fr}.blog-search .blog-reset{justify-self:start;margin:0;padding-inline:0}.blog-browse-columns{grid-template-columns:1fr;gap:2.75rem}.blog-reading-layout{grid-template-columns:1fr;padding-top:1.5rem;gap:2rem}.blog-rail{position:static;max-height:none;overflow:visible;padding:0}.blog-toc ol{columns:2;column-gap:1.5rem}.blog-toc li{break-inside:avoid}.blog-library-back{display:none}.blog-prose{max-width:none}.blog-article-head h1{font-size:clamp(2.7rem,8vw,4rem)}.blog-section-head{align-items:start;flex-direction:column}}
@media(max-width:500px){.blog-query-row{flex-direction:column}.blog-query-row .btn{min-height:50px}.blog-search-filters{grid-template-columns:1fr;gap:.9rem}.blog-search .blog-reset{margin-top:-.3rem}.blog-cards{grid-template-columns:1fr;gap:.4rem}.blog-browse-group li a{padding-inline:0}.blog-browse-count{font-size:.75rem}.blog-checklist-head{align-items:start;flex-direction:column;gap:.2rem}.blog-checklist-progress{gap:.7rem}.blog-toc ol{columns:1}.blog-project .btn{white-space:normal;text-align:center}.blog-article-meta{gap:.3rem 1rem}.blog-breadcrumbs{font-size:.78rem}.blog-card{padding-bottom:1rem}}
@media print{.blog-page{color:#000;background:#fff;font-size:11pt}.blog-page .hdr,.blog-page .ftr,.blog-page .skip,.blog-breadcrumbs,.blog-rail,.blog-print,.blog-project,.blog-related,.blog-search,.blog-context,.blog-pagination,.blog-reset,.blog-checklist-progress{display:none!important}.blog-page .wrap{width:100%;max-width:none}.blog-main{padding:0}.blog-article-head{padding:0 0 1rem;max-width:none}.blog-article-head h1{font-size:28pt;color:#000;max-width:none}.blog-disclosure{font-size:9pt;padding-bottom:1rem}.blog-draft{color:#000;border-color:#000}.blog-reading-layout{display:block;border:0;padding:0}.blog-prose{max-width:none;font-size:11pt;line-height:1.5}.blog-prose h2{font-size:17pt;color:#000}.blog-prose h3{font-size:14pt;color:#000}.blog-prose-section,.blog-checklist{margin-top:1.5rem}.blog-example{border:1px solid #aaa;background:none;padding:1rem;break-inside:avoid}.blog-example-cta{border-color:#000}.blog-prose h2,.blog-prose h3{break-after:avoid}.blog-checklist label{break-inside:avoid}.blog-faq details p{display:block!important}.blog-faq details::details-content{content-visibility:visible;display:block}.blog-prose a{color:#000}.blog-sources a::after{content:' (' attr(href) ')';font-size:9pt;overflow-wrap:anywhere}.blog-page [data-rv]{opacity:1!important;transform:none!important;animation:none!important}}

/* Preserve the complete phone-photo framing and give the opening room to breathe. */
.blog-article-image{margin-top:1.5rem;max-width:900px}
@media print{.blog-article-image,.blog-card img{display:none}}
/* 2026-10-09 conversion: author byline, a call to action mid-guide, and a phone call bar */
.blog-author{display:inline-flex;align-items:center;gap:.6rem;color:var(--forest);text-decoration:none}
.blog-author img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.blog-author span{display:flex;flex-direction:column;line-height:1.25}
.blog-author b{font-weight:700;font-size:.92rem}
.blog-author small{font-size:.8rem;color:var(--forest-65)}
.blog-prose .blog-inline-cta{margin-top:3rem;padding:clamp(1.35rem,3vw,2rem);border-radius:var(--r-card);background:var(--forest);color:var(--chalk)}
.blog-prose .blog-inline-cta p{margin:0;color:rgba(254,250,243,.85);font-size:1rem;line-height:1.55}
.blog-prose .blog-inline-cta .blog-inline-kicker{margin-bottom:.4rem;color:var(--apricot);font-size:.85rem;font-weight:500}
.blog-prose .blog-inline-cta .blog-inline-title{margin-bottom:.7rem;font-family:var(--display);text-transform:uppercase;color:var(--chalk);font-size:clamp(1.6rem,3.6vw,2.1rem);line-height:1.05}
.blog-inline-cta .blog-actions{flex-direction:row;flex-wrap:wrap;align-items:center;margin-top:1.2rem}
.blog-inline-cta .tlink{color:var(--apricot)}
.blog-sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;display:flex;align-items:center;gap:.6rem;padding:.55rem .55rem .55rem 1rem;border-radius:16px;background:var(--chalk);border:1px solid var(--sand);box-shadow:0 10px 30px rgba(0,40,20,.18)}
.blog-sticky[hidden]{display:none}
.blog-sticky p{flex:1;margin:0;font-size:.88rem;font-weight:500;line-height:1.3;color:var(--forest)}
.blog-sticky .btn{white-space:nowrap;padding:.6rem 1rem;font-size:.9rem}
.blog-sticky-close{background:none;border:0;color:var(--forest);font-size:1.5rem;line-height:1;padding:.2rem .45rem;cursor:pointer}
@media(min-width:861px){.blog-sticky{display:none!important}}
@media print{.blog-inline-cta,.blog-sticky{display:none!important}}
