.seo-page { background:#fffefb; color:#23392d; }
.seo-shell { width:calc(100% - 80px); max-width:1180px; margin-inline:auto; }
.seo-header { border-bottom:1px solid #d9ddd1; background:#f7f5ef; }
.seo-header-inner { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:26px; padding-block:20px; }
.seo-brand { display:inline-flex; flex-direction:column; font-size:23px; font-weight:700; text-decoration:none; line-height:1.2; flex-shrink:0; }
.seo-brand span { font-size:11px; font-weight:400; margin-top:7px; }
.seo-header nav,.seo-footer nav { display:flex; gap:20px; flex-wrap:wrap; font-size:14px; }
.seo-header nav a { text-decoration:none; padding-block:8px; }
.seo-header nav a:hover { text-decoration:underline; }
.seo-header-phone { display:flex; flex-direction:column; gap:6px; }
.seo-header-phone>span { font-size:11px; color:#626a60; }
.seo-phone { font-size:19px; font-weight:600; white-space:nowrap; text-decoration:none; }
.seo-phone:hover { text-decoration:underline; }
.seo-breadcrumb { padding-top:24px; font-size:12px; color:#626a60; }
.seo-breadcrumb ol { display:flex; flex-wrap:wrap; list-style:none; margin:0; padding:0; gap:8px 12px; }
.seo-breadcrumb li { overflow-wrap:anywhere; }
.seo-breadcrumb li+li::before { content:'/'; padding-right:12px; color:#72796e; }
.seo-intro { max-width:940px; padding:36px 0 38px; }
.seo-eyebrow { margin:0 0 18px; color:#536348; font-size:12px; font-weight:600; letter-spacing:0; }
.seo-page h1 { font-size:44px; line-height:1.14; letter-spacing:0; margin:0 0 24px; overflow-wrap:anywhere; }
.seo-description { font-size:21px; line-height:1.55; max-width:820px; margin-bottom:20px; }
.seo-answer { border-left:3px solid #8b9b65; padding-left:20px; font-size:16px; line-height:1.65; max-width:790px; color:#52634a; margin-bottom:0; }
.seo-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:64px; padding-top:28px; border-top:1px solid #d9ddd1; align-items:start; }
.seo-content { min-width:0; max-width:810px; }
.seo-wide>.seo-content { max-width:none; }
.seo-sidebar { min-width:0; align-self:stretch; }
.seo-sidebar-inner { position:sticky; top:24px; padding-bottom:20px; }
.seo-toc summary { font-size:14px; font-weight:600; cursor:pointer; }
.seo-toc ol { list-style:none; padding:0; margin:16px 0 0; counter-reset:contents; }
.seo-toc li { counter-increment:contents; display:grid; grid-template-columns:20px 1fr; gap:8px; margin-bottom:12px; font-size:13px; line-height:1.5; }
.seo-toc li::before { content:counter(contents,decimal-leading-zero); color:#697761; font-size:11px; padding-top:2px; }
.seo-toc a { text-decoration:none; }
.seo-toc a:hover { text-decoration:underline; }
.seo-preparation { margin:28px 0 20px; padding-top:22px; border-top:1px solid #d9ddd1; }
.seo-preparation h2 { font-size:16px!important; line-height:1.4!important; margin:0 0 12px!important; }
.seo-preparation ul { padding-left:18px; font-size:13px; line-height:1.55; }
.seo-preparation li { padding:0 0 8px 2px; }
.seo-preparation>a,.seo-conditions-link { font-size:13px; }
.seo-section { margin:0 0 44px; scroll-margin-top:24px; }
.seo-page h2,.seo-home-guide h2,.seo-directory h2 { font-size:28px; line-height:1.25; letter-spacing:0; margin:0 0 20px; }
.seo-content p { font-size:17px; line-height:1.8; margin-bottom:18px; }
.seo-bullets { padding-left:22px; margin:20px 0; }
.seo-bullets li { padding-left:5px; margin-bottom:12px; font-size:16px; line-height:1.7; }
.seo-table { width:100%; table-layout:fixed; border-collapse:collapse; margin:26px 0; font-size:15px; line-height:1.65; }
.seo-table caption { text-align:left; font-size:13px; color:#596451; padding-bottom:12px; }
.seo-table th,.seo-table td { vertical-align:top; padding:15px 18px; text-align:left; border-bottom:1px solid #d9ddd1; overflow-wrap:anywhere; }
.seo-table thead th { font-size:12px; font-weight:600; background:#edf0e7; color:#42513a; }
.seo-table th:first-child { width:31%; }
.seo-table tbody th { font-weight:600; background:#fafbf7; }
.seo-cell-label { display:none; }
.seo-note { padding:18px 20px; border-left:3px solid #b55b3b; background:#fbf3ed; margin:24px 0; font-size:15px; line-height:1.65; }
.seo-figure { margin:0 0 36px; border-block:1px solid #d9ddd1; padding:20px 0; }
.seo-figure img { max-height:320px; width:100%; object-fit:contain; }
.seo-figure figcaption { color:#626a60; font-size:12px; line-height:1.6; max-width:650px; margin-top:16px; }
.seo-questions { margin:40px 0; }
.seo-questions details { border-bottom:1px solid #d9ddd1; padding:18px 0; }
.seo-questions summary { font-size:16px; font-weight:600; cursor:pointer; padding-right:14px; }
.seo-questions details p { padding-top:16px; margin-bottom:0; font-size:16px; }
.seo-sources { margin:32px 0; padding-top:22px; border-top:1px solid #d9ddd1; }
.seo-sources h2 { font-size:16px; margin-bottom:14px; }
.seo-sources ul { padding-left:20px; font-size:13px; line-height:1.7; }
.seo-sources li { padding-bottom:8px; overflow-wrap:anywhere; }
.seo-links { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:40px; }
.seo-links li { border-top:1px solid #d9ddd1; padding:24px 0; min-width:0; }
.seo-links a { font-size:21px; font-weight:500; line-height:1.3; overflow-wrap:anywhere; }
.seo-links p { font-size:14px; line-height:1.6; margin:12px 0 0; color:#596451; max-width:490px; }
.seo-links-compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.seo-links-compact li { padding:18px 0; }
.seo-links-compact a { font-size:18px; }
.seo-cta { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:50px; border-block:1px solid #c3ccb5; padding:36px 0; margin:48px 0; }
.seo-cta h2 { font-size:30px; margin-bottom:18px; }
.seo-cta p { max-width:620px; font-size:16px; line-height:1.65; }
.seo-cta .seo-small { font-size:13px; color:#626a60; margin-bottom:0; }
.seo-cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; justify-content:center; }
.seo-cta-actions>a:last-child { font-size:13px; }
.seo-page .btn { border-radius:6px; }
.seo-related { margin:0 0 60px; }
.seo-related h2 { font-size:24px; }
.seo-related .seo-links a { font-size:19px; }
.seo-footer { border-top:1px solid #d9ddd1; background:#f7f5ef; padding:32px 0 26px; }
.seo-footer-top { display:flex; justify-content:space-between; gap:40px; }
.seo-footer p { font-size:13px; line-height:1.6; margin:14px 0 0; }
.seo-footer nav { max-width:440px; margin-top:22px; gap:12px 20px; }
.seo-footer .seo-footer-note { margin-top:28px; padding-top:20px; border-top:1px solid #d9ddd1; font-size:11px; color:#626a60; }
.seo-home-guide { padding:12px 0 64px; }
.seo-home-guide .seo-section { margin-bottom:24px; }
.seo-home-guide .seo-section>p { max-width:800px; font-size:17px; line-height:1.7; }
.seo-home-guide .seo-table { max-width:1000px; }
.seo-home-next { display:flex; flex-wrap:wrap; gap:16px 32px; font-size:15px; }
.seo-directory { border-top:1px solid #d9ddd1; padding:44px 0; }
.seo-directory .seo-eyebrow { margin-bottom:12px; }
.seo-directory>div>p:last-child { margin:22px 0 0; font-size:14px; }
[data-page] .footer-links { flex-wrap:wrap; }
@media (max-width:1050px) {
  .seo-header-inner { flex-wrap:wrap; gap:18px; }
  .seo-header nav { order:3; width:100%; }
  .seo-layout { grid-template-columns:210px minmax(0,1fr); gap:32px; }
  .seo-cta { gap:30px; }
}
@media (max-width:760px) {
  .seo-shell { width:calc(100% - 40px); }
  .seo-header-inner { padding-block:20px; gap:20px 12px; }
  .seo-brand { font-size:21px; }
  .seo-brand span { font-size:10px; }
  .seo-header-phone .seo-phone { font-size:15px; }
  .seo-header-phone>span { display:none; }
  .seo-header nav { gap:8px 20px; font-size:13px; }
  .seo-breadcrumb { font-size:11px; }
  .seo-intro { padding:28px 0; }
  .seo-page h1 { font-size:32px; line-height:1.2; margin-bottom:20px; }
  .seo-description { font-size:18px; line-height:1.6; }
  .seo-answer { font-size:14px; padding-left:14px; }
  .seo-layout { display:flex; flex-direction:column; gap:28px; padding-top:24px; }
  .seo-sidebar { width:100%; }
  .seo-sidebar-inner { position:static; padding-bottom:0; }
  .seo-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
  .seo-preparation { display:none; }
  .seo-conditions-link { display:inline-block; margin-top:12px; }
  .seo-page h2,.seo-home-guide h2,.seo-directory h2 { font-size:24px; }
  .seo-content p { font-size:16px; line-height:1.75; }
  .seo-section { margin-bottom:34px; }
  .seo-table { font-size:14px; }
  .seo-table th,.seo-table td { padding:12px 9px; }
  .seo-table th:first-child { width:40%; }
  .seo-note { padding:14px 16px; font-size:14px; }
  .seo-links { column-gap:24px; }
  .seo-links a { font-size:19px; }
  .seo-links-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seo-links-compact a { font-size:16px; }
  .seo-cta { display:block; margin:32px 0; padding:28px 0; }
  .seo-cta-actions { margin-top:24px; }
  .seo-footer-top { display:block; }
  .seo-footer-top>div+div { margin-top:24px; }
  .seo-home-guide { padding-bottom:40px; }
  .seo-home-guide .seo-section>p { font-size:15px; }
  .seo-directory { padding:32px 0; }
}
@media (max-width:480px) {
  .seo-table-wide,.seo-table-wide tbody { display:block; }
  .seo-table-wide caption { display:block; width:100%; }
  .seo-table-wide thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .seo-table-wide tr { display:grid; grid-template-columns:1fr; border-bottom:1px solid #c3ccb5; }
  .seo-table-wide th,.seo-table-wide td { display:block; width:100%!important; border-bottom:0; padding:10px 12px; }
  .seo-table-wide .seo-cell-label { display:block; font-size:11px; color:#626a60; padding-bottom:4px; }
  .seo-links:not(.seo-links-compact) { grid-template-columns:1fr; }
  .seo-toc ol { display:block; }
  .seo-header nav { justify-content:space-between; gap:8px 12px; }
  .seo-header nav a { font-size:12px; }
  .seo-header-inner { justify-content:flex-start; }
  .seo-header-phone { margin-left:auto; }
}
@media print {
  .seo-header,.seo-sidebar,.seo-cta,.seo-footer,.seo-related { display:none; }
  .seo-layout { display:block; border:0; }
  .seo-shell { width:100%; }
  .seo-page h1 { font-size:30px; }
  .seo-content { max-width:none; }
  .seo-section { break-inside:avoid; }
  .seo-questions details p { display:block; }
}
