.planning-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.planning-heading { padding-block: 28px 40px; }
.planning-breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; margin-bottom: 32px; color: var(--muted); }
.planning-breadcrumbs a { text-underline-offset: 4px; }
.planning-heading h1 { max-width: 920px; font-family: Arial, Helvetica, sans-serif; font-size: 48px; line-height: 1.12; text-transform: none; letter-spacing: 0; }
.planning-deck { max-width: 780px; font-size: 19px; line-height: 1.6; color: var(--muted); margin-bottom: 20px; }
.planning-byline { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: var(--muted); margin: 0; }
.planning-surface { background: #f7f8fa; color: #24272d; }
.planning-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; padding-block: 48px 64px; align-items: start; }
.planning-toc { position: sticky; top: 132px; display: grid; gap: 12px; padding: 0 20px 0 0; border-right: 1px solid #d4d8dc; font-size: 15px; }
.planning-toc p { font-weight: 800; margin-bottom: 4px; }
.planning-toc a { text-decoration: none; line-height: 1.5; padding-block: 5px; }
.planning-toc a:hover { text-decoration: underline; }
.planning-toc .planning-toc-contact { color: #99400d; font-weight: 700; border-top: 1px solid #d4d8dc; margin-top: 8px; padding-top: 16px; }
.planning-copy { min-width: 0; max-width: 820px; font-size: 17px; line-height: 1.8; }
.planning-copy section { scroll-margin-top: 140px; margin-bottom: 42px; }
.planning-copy h2, .planning-copy h3, .planning-blog-card h2, .planning-teaser h2 { font-family: Arial, Helvetica, sans-serif; text-transform: none; letter-spacing: 0; }
.planning-copy h2 { font-size: 29px; line-height: 1.25; margin-bottom: 20px; }
.planning-copy h3 { font-size: 21px; line-height: 1.35; margin-top: 28px; margin-bottom: 10px; }
.planning-copy p { margin-bottom: 20px; }
.planning-copy a { color: #91400f; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.planning-copy a:hover { color: #5e2708; }
.planning-copy ul, .planning-copy ol { padding-left: 25px; }
.planning-copy li { padding-left: 5px; margin-bottom: 14px; }
.planning-copy .planning-factors { padding-left: 28px; }
.planning-factors li { margin-bottom: 24px; }
.planning-factors li::marker { color: #99400d; font-weight: 700; }
.planning-factors h3 { margin-top: 0; }
.planning-table-wrap { margin-block: 28px 12px; width: 100%; }
.planning-table-wrap table { width: 100%; border-collapse: collapse; font-size: 16px; }
.planning-table-wrap caption { text-align: left; font-size: 14px; font-weight: 700; margin-bottom: 12px; }
.planning-table-wrap th, .planning-table-wrap td { padding: 16px; text-align: left; border-bottom: 1px solid #ccd0d4; vertical-align: top; }
.planning-table-wrap thead { background: #24272d; color: #fff; }
.planning-table-wrap tbody th { font-weight: 400; }
.planning-table-wrap td { white-space: nowrap; font-weight: 700; }
.planning-copy .planning-source-note { font-size: 13px; line-height: 1.6; color: #545a61; }
.planning-inline-action { margin-top: 24px; font-weight: 700; }
.planning-photo { margin: 32px 0 44px; }
.planning-photo img { width: 100%; height: auto; }
.planning-photo figcaption { font-size: 14px; line-height: 1.65; color: #545a61; margin-top: 12px; }
.planning-faq details { border-top: 1px solid #ccd0d4; padding: 20px 0; }
.planning-faq details:last-child { border-bottom: 1px solid #ccd0d4; }
.planning-faq summary { cursor: pointer; font-weight: 700; font-size: 18px; line-height: 1.5; padding-right: 8px; }
.planning-faq details p { margin: 16px 0 0; }
.planning-copy .planning-about { border-top: 1px solid #ccd0d4; padding-top: 28px; margin-bottom: 0; font-size: 15px; }
.planning-about h2 { font-size: 22px; }
.planning-about p:last-child { margin-bottom: 0; }
.planning-cta h2 { text-transform: none; font-family: Arial, Helvetica, sans-serif; font-size: 32px; }
.planning-cta-actions { display: flex; flex-direction: column; flex: 0 0 220px; gap: 12px; }
.planning-blog-list { padding-block: 48px 64px; }
.planning-blog-card { display: grid; grid-template-columns: minmax(240px, 360px) minmax(0, 1fr); gap: 32px; padding: 0 0 32px; border-bottom: 1px solid #ccd0d4; align-items: center; }
.planning-blog-card figure { margin: 0; }
.planning-blog-card img { width: 100%; height: auto; }
.planning-blog-card h2 { font-size: 29px; line-height: 1.25; }
.planning-blog-card h2 a { text-decoration: none; }
.planning-blog-card p { color: #444b52; max-width: 640px; }
.planning-blog-card .eyebrow { color: #99400d; font-size: 14px; }
.planning-blog-card .planning-read-link { color: #91400f; font-weight: 700; text-underline-offset: 4px; }
.planning-teaser { border-top: 1px solid var(--line); }
.planning-teaser h2 { max-width: 720px; font-size: 32px; line-height: 1.2; }
.planning-teaser p { max-width: 720px; color: var(--muted); }
.planning-teaser a:not(.button) { text-underline-offset: 4px; }
.planning-footer-links { display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 18px 0 0; font-size: 15px; }
.planning-related { border-top: 1px solid var(--line); }
.planning-related p { max-width: 760px; color: var(--muted); }
.planning-related a { text-underline-offset: 4px; }
.planning-article a:focus-visible, .planning-blog-list a:focus-visible, .planning-faq summary:focus-visible { outline: 2px solid #b44f13; outline-offset: 4px; }
@media (max-width: 1050px) {
  .planning-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 32px; }
  .planning-toc { top: 110px; }
  .planning-heading h1 { font-size: 42px; }
}
@media (max-width: 760px) {
  .planning-container { width: calc(100% - 32px); }
  .planning-heading { padding-block: 24px 32px; }
  .planning-heading h1 { font-size: 34px; line-height: 1.15; }
  .planning-breadcrumbs { font-size: 12px; margin-bottom: 24px; gap: 8px; }
  .planning-deck { font-size: 17px; }
  .planning-byline { font-size: 12px; gap: 7px; }
  .planning-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 28px; padding-bottom: 40px; }
  .planning-toc { position: static; border-right: 0; border-bottom: 1px solid #ccd0d4; padding: 0 0 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; font-size: 14px; }
  .planning-toc p { grid-column: 1 / -1; }
  .planning-toc .planning-toc-contact { grid-column: 1 / -1; padding-top: 10px; margin-top: 6px; }
  .planning-copy { font-size: 16px; line-height: 1.8; }
  .planning-copy h2 { font-size: 26px; }
  .planning-copy h3 { font-size: 20px; }
  .planning-copy section { scroll-margin-top: 95px; margin-bottom: 32px; }
  .planning-table-wrap th, .planning-table-wrap td { padding: 12px 9px; font-size: 14px; }
  .planning-photo { margin-block: 24px 32px; }
  .planning-blog-card { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .planning-blog-card figure { max-width: 480px; }
  .planning-blog-card h2 { font-size: 27px; }
  .planning-cta { align-items: stretch; flex-direction: column; }
  .planning-cta h2, .planning-teaser h2 { font-size: 28px; }
  .planning-cta-actions { flex-basis: auto; }
}
