.msb,.msb-sec,.msb-content,.msb-grid,.msb-side{--ink:#1A1D23;--muted:#54565c;--soft:#6B6155;--line:#e7e1d7;--blue:#2957A3;--navy:#1C3C72;--navy2:#163363;--cream:#FBFAF7;--cream2:#F6F3EE;--cream3:#F1EEE7;--onnavy:#C9D4E8;--wrap:1240px;--gut:max(20px,5vw);font-family:'Instrument Sans',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}.msb *,.msb-content *,.msb-grid *,.msb-side *{box-sizing:border-box}.msb h1,.msb h2,.msb h3,.msb p,.msb ul,.msb ol,.msb figure{margin:0;padding:0}.msb a{color:inherit}.msb a:focus-visible,.msb-content a:focus-visible,.msb-grid a:focus-visible,.msb-side a:focus-visible,.msb button:focus-visible,.msb input:focus-visible,.msb-content summary:focus-visible{outline:2px dotted var(--navy);outline-offset:3px;border-radius:2px}.msb-wrap{width:min(var(--wrap),100% - 2*var(--gut));margin-inline:auto}.msb-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.msb-eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}.msb em{font-style:italic}.msb-sec.et_pb_section,.msb-sec .et_pb_row,.msb-sec .et_pb_column{padding:0!important;margin:0!important;width:100%!important;max-width:none!important;background:none}.msb-sec .et_pb_module{margin-bottom:0!important}.msb-sec.et_pb_section{background:var(--cream)!important}.msb-crumbs .rank-math-breadcrumb p{margin:0;padding:0;font-size:13px;line-height:1.5;color:var(--muted)}.msb-crumbs .rank-math-breadcrumb a{color:var(--muted);text-decoration:none}.msb-crumbs .rank-math-breadcrumb a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px}.msb-crumbs .rank-math-breadcrumb .separator{font-size:0}.msb-crumbs .rank-math-breadcrumb .separator::before{content:"\203A";font-size:13px;margin:0 .5em;color:#9a948a}.msb-crumbs .rank-math-breadcrumb .last{color:var(--ink)}.msb-phero{background:var(--cream2);padding:clamp(28px,4vw,56px) 0 clamp(40px,5vw,72px);border-bottom:1px solid var(--line)}.msb-phero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"crumbs img" "cats img" "title img" "dek img" "meta img";grid-template-rows:auto auto auto auto 1fr;column-gap:clamp(40px,5vw,80px);align-items:start}.msb-phero .msb-crumbs{grid-area:crumbs;margin-bottom:28px}.msb-phero .msb-cats{grid-area:cats;margin-bottom:14px}.msb-cats a{text-decoration:none}.msb-cats a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:3px}.msb-phero h1{grid-area:title;font-size:clamp(32px,3.7vw,52px);line-height:1.08;font-weight:500;letter-spacing:-.02em;color:var(--ink);margin-bottom:22px;text-wrap:balance;padding:0}.msb-phero .msb-dek{grid-area:dek;font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--muted);max-width:58ch;margin-bottom:26px}.msb-meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--muted);align-items:center}.msb-meta span{display:inline-flex;align-items:center;gap:8px}.msb-meta svg{width:16px;height:16px;flex:none;stroke:var(--soft)}.msb-phero-img{grid-area:img;align-self:center;border-radius:14px;overflow:hidden;background:var(--cream3);aspect-ratio:4/3}.msb-phero-img img{display:block;width:100%;height:100%;object-fit:cover}.msb-body-sec.et_pb_section{padding:clamp(40px,5vw,72px) 0 clamp(56px,6vw,96px)!important}.msb-body-sec .msb-body-row.et_pb_row{display:grid!important;grid-template-columns:minmax(0,720px) 288px;justify-content:space-between;column-gap:clamp(40px,6vw,96px);width:min(var(--wrap),100% - 2*max(20px,5vw))!important;margin-inline:auto!important}.msb-body-row>.et_pb_column{width:auto!important;margin:0!important;min-width:0!important}.msb-body-row>.et_pb_column>.et_pb_module{min-width:0!important;max-width:100%}.msb-content{min-width:0;overflow-wrap:break-word}.msb-body-row>.et_pb_column:last-child{position:relative}.msb-content{font-size:18px;line-height:1.75;color:var(--ink)}.msb-content.et_pb_post_content p,.msb-content p{margin:0 0 1.2em;padding:0;font-size:inherit;line-height:inherit;color:inherit}.msb-content .ms-lede{font-size:clamp(19px,1.6vw,21px);line-height:1.6;color:var(--ink);margin-bottom:1.4em}.msb-content .ms-updated{font-size:14px;color:var(--soft);margin-bottom:1.2em}.msb-content h2{font-size:clamp(26px,2.5vw,33px);line-height:1.18;font-weight:500;letter-spacing:-.015em;color:var(--ink);margin:2.1em 0 .65em;padding:0;scroll-margin-top:110px;text-wrap:balance}.msb-content h3{font-size:clamp(19px,1.7vw,22px);line-height:1.3;font-weight:600;letter-spacing:-.005em;color:var(--ink);margin:1.6em 0 .5em;padding:0;scroll-margin-top:110px}.msb-content>h2:first-child,.msb-content .ms-lede+h2{margin-top:1.4em}.msb-content strong{font-weight:600;color:var(--ink)}.msb-content a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(41,87,163,.45);transition:color .15s,text-decoration-color .15s}.msb-content a:hover{color:var(--navy);text-decoration-color:var(--navy)}.msb-content ul,.msb-content ol{margin:0 0 1.4em;padding:0 0 0 1.4em;line-height:1.7}.msb-content.et_pb_post_content ul{list-style:none;padding-left:0}.msb-content ul>li{position:relative;padding-left:1.3em;margin-bottom:.55em}.msb-content ul>li::before{content:"";position:absolute;left:.1em;top:.72em;width:7px;height:7px;border-radius:2px;background:var(--blue);opacity:.75}.msb-content ol{padding-left:1.5em}.msb-content ol>li{margin-bottom:.6em;padding-left:.3em}.msb-content ol>li::marker{color:var(--navy);font-weight:600}.msb-content ul.ms-checklist>li{padding-left:2em}.msb-content ul.ms-checklist>li::before{left:0;top:.28em;width:20px;height:20px;border-radius:50%;opacity:1;background:#E6ECF6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%231C3C72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}.msb-content .ms-answer{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;padding:20px 24px;margin:0 0 1.6em;box-shadow:0 1px 0 rgba(26,29,35,.03)}.msb-content .ms-answer p{margin:0}.msb-content .ms-answer p+p{margin-top:.8em}.msb-content .ms-callout{background:var(--cream3);border-radius:12px;padding:20px 24px;margin:1.8em 0}.msb-content .ms-callout p{margin:0;font-size:17px;line-height:1.7}.msb-content .ms-callout p+p{margin-top:.7em}.msb-content .ms-callout strong:first-child{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}.msb-content .ms-table{margin:1.6em 0 2em;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:#fff}.msb-content table{width:100%;min-width:560px;border-collapse:collapse;font-size:15.5px;line-height:1.55;border:0;margin:0}.msb-content th,.msb-content td{padding:12px 16px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--line)}.msb-content thead th{background:var(--cream3);font-weight:600;color:var(--ink);font-size:14px;letter-spacing:.01em}.msb-content tbody tr:last-child td{border-bottom:0}.msb-content tbody td:first-child{font-weight:600}.msb-content figure.ms-figure{margin:2em 0;padding:0}.msb-content figure.ms-figure img{display:block;width:100%;height:auto;border-radius:12px;background:var(--cream3)}.msb-content figure.ms-figure.is-portrait img{max-height:620px;object-fit:cover;object-position:center}.msb-content figcaption{font-size:14px;line-height:1.5;color:var(--soft);margin-top:10px}.msb-content .ms-note{font-size:14.5px;line-height:1.6;color:var(--soft);border-top:1px solid var(--line);padding-top:1.1em;margin-top:2em}.msb-content .ms-close{font-size:18px;margin-top:1.6em}.msb-content hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.msb-content .ms-faqs{margin:1em 0 1.6em;border-bottom:1px solid var(--line)}.msb-content details.ms-faq{border-top:1px solid var(--line)}.msb-content details.ms-faq>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.msb-content details.ms-faq>summary::-webkit-details-marker{display:none}.msb-content details.ms-faq>summary h3{margin:0;font-size:clamp(18px,1.7vw,20px);line-height:1.35;font-weight:600}.msb-content details.ms-faq>summary::after{content:"";flex:none;width:22px;height:22px;background:linear-gradient(var(--navy),var(--navy)) center/22px 2.5px no-repeat,linear-gradient(var(--navy),var(--navy)) center/2.5px 22px no-repeat;transition:transform .2s}.msb-content details.ms-faq[open]>summary::after{background:linear-gradient(var(--navy),var(--navy)) center/22px 2.5px no-repeat}.msb-content details.ms-faq>summary:hover h3{color:var(--navy)}.msb-content .ms-faq-a{padding:0 44px 18px 0}.msb-content .ms-faq-a p{font-size:17px;color:var(--muted)}.msb-content .msb-toc-m{display:none;margin:0 0 28px;border:1px solid var(--line);border-radius:12px;background:#fff}.msb-content .msb-toc-m>summary{list-style:none;cursor:pointer;padding:14px 18px;font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.msb-content .msb-toc-m>summary::-webkit-details-marker{display:none}.msb-content .msb-toc-m>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg) translateY(-3px);transition:transform .2s}.msb-content .msb-toc-m[open]>summary::after{transform:rotate(225deg)}.msb-content .msb-toc-m ol{margin:0;padding:0 18px 16px 2.2em;font-size:15.5px;line-height:1.5}.msb-content .msb-toc-m li{margin:.45em 0}.msb-content .msb-toc-m a{text-decoration:none;color:var(--ink)}.msb-side{display:flex;flex-direction:column;gap:28px}.msb-body-row>.et_pb_column:last-child>.et_pb_module{position:sticky;top:100px}.msb-toc .msb-eyebrow{display:block;margin-bottom:14px}.msb-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.msb-toc li{margin:0;padding:0}.msb-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:14.5px;line-height:1.4;color:var(--muted);text-decoration:none;transition:color .15s,border-color .15s}.msb-toc a:hover{color:var(--ink)}.msb-toc a.is-active{color:var(--navy);border-left-color:var(--navy);font-weight:600}.msb-sidecta{background:var(--navy);color:#fff;border-radius:14px;padding:26px 24px}.msb-sidecta-title{font-size:22px;line-height:1.25;font-weight:500;letter-spacing:-.01em;color:#fff;margin:0 0 10px;padding:0}.msb-sidecta p{font-size:15px;line-height:1.6;color:var(--onnavy);margin:0 0 18px;padding:0}.msb-sidecta .msb-btn{width:100%;justify-content:center}.msb-sidecta .msb-phone{display:flex;justify-content:center;margin-top:14px;color:#fff;font-weight:600;font-size:16px;text-decoration:none}.msb-sidecta .msb-phone:hover{text-decoration:underline;text-underline-offset:3px}.msb-sidecta a:focus-visible{outline-color:#fff}.msb-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:12px 22px;border-radius:6px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:background .15s,color .15s,transform .15s}.msb-btn--light{background:#fff;color:var(--navy)}.msb-btn--light:hover{background:var(--cream2)}.msb-btn--blue{background:var(--blue);color:#fff}.msb-btn--blue:hover{background:var(--navy)}.msb-rel{background:var(--cream2);padding:clamp(56px,6vw,88px) 0;border-top:1px solid var(--line)}.msb-relhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.msb-relhead h2{font-size:clamp(28px,3vw,38px);line-height:1.1;font-weight:500;letter-spacing:-.02em;color:var(--ink);padding:0}.msb-link{font-size:15px;font-weight:500;color:var(--navy);text-decoration:none;white-space:nowrap}.msb-link:hover{text-decoration:underline;text-underline-offset:4px}.msb-rel-sec.et_pb_section{background:var(--cream2)!important;padding-bottom:clamp(56px,6vw,88px)!important}.msb-grid.et_pb_blog{width:min(var(--wrap),100% - 2*max(20px,5vw));margin-inline:auto!important}.msb-grid .et_pb_ajax_pagination_container{display:block!important}.msb-grid .et_pb_blog_posts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(24px,2.6vw,36px)!important;margin:0!important;padding:0!important;column-count:auto!important}.msb-grid article.et_pb_post{display:flex!important;flex-direction:column;margin:0!important;padding:0!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden;position:relative;width:auto!important;float:none!important;transition:transform .2s,box-shadow .2s}.msb-grid article.et_pb_post:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(28,60,114,.35)}.msb-grid .et_pb_image_container,.msb-grid .entry-featured-image-url{order:0;margin:0!important;display:block}.msb-grid .entry-featured-image-url{aspect-ratio:3/2;overflow:hidden;background:var(--cream3)}.msb-grid .entry-featured-image-url img{display:block;width:100%;height:100%!important;object-fit:cover;transition:transform .4s}.msb-grid article:hover .entry-featured-image-url img{transform:scale(1.03)}.msb-grid .et_overlay{display:none!important}.msb-grid .post-meta{order:1;margin:0!important;padding:22px 24px 0!important;font-size:12px!important;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)!important;line-height:1.6}.msb-grid .post-meta a{color:var(--soft)!important;text-decoration:none}.msb-grid .post-meta{font-size:0!important}.msb-grid .post-meta .published,.msb-grid .post-meta a:first-of-type{font-size:12px}.msb-grid .post-meta a:not(:first-of-type){display:none}.msb-grid .post-meta .published::after{content:"\00B7";margin:0 .6em}.msb-grid .post-meta a:hover{color:var(--navy)!important}.msb-grid .entry-title{order:2;margin:0!important;padding:10px 24px 0!important;font-size:clamp(19px,1.5vw,22px)!important;line-height:1.3!important;font-weight:500!important;letter-spacing:-.01em;color:var(--ink)!important}.msb-grid .entry-title a{color:var(--ink)!important;text-decoration:none}.msb-grid .entry-title a:hover{color:var(--navy)!important}.msb-grid .entry-title a::after{content:"";position:absolute;inset:0;z-index:1}.msb-grid .post-meta a,.msb-grid .entry-featured-image-url{position:relative;z-index:2}.msb-grid .post-content{order:3;padding:10px 24px 26px;font-size:15.5px;line-height:1.6;color:var(--muted)}.msb-grid .post-content p{margin:0;padding:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.msb-grid .more-link{display:none}.msb-grid article.et_pb_post:focus-within{box-shadow:0 0 0 2px var(--cream),0 0 0 4px var(--navy)}.msb-grid .pagination{display:flex!important;justify-content:center;gap:12px;padding:0!important;margin:40px 0 0!important}.msb-grid .pagination:empty,.msb-grid .pagination:not(:has(a)){display:none!important}.msb-grid .pagination .alignleft,.msb-grid .pagination .alignright{float:none}.msb-grid .pagination a{display:inline-flex;align-items:center;min-height:44px;padding:11px 20px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:14px;font-weight:500;text-decoration:none}.msb-grid .pagination a:hover{border-color:var(--navy)}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:1fr auto auto auto 1fr;grid-template-areas:"img ." "img meta" "img title" "img excerpt" "img .."}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .et_pb_image_container,body:not(.paged) .msb-grid--feat article.et_pb_post:first-child>.entry-featured-image-url{grid-area:img}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .entry-featured-image-url{aspect-ratio:auto;height:100%;min-height:360px}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .post-meta{grid-area:meta;padding:0 clamp(28px,3.5vw,56px)!important}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .entry-title{grid-area:title;padding:14px clamp(28px,3.5vw,56px) 0!important;font-size:clamp(26px,2.6vw,36px)!important;line-height:1.15!important;letter-spacing:-.02em}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .post-content{grid-area:excerpt;padding:16px clamp(28px,3.5vw,56px) 0;font-size:17px}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .post-content p{-webkit-line-clamp:4}.msb-bhero{background:var(--cream);padding:clamp(28px,4vw,56px) 0 clamp(28px,3.5vw,44px)}.msb-bhero .msb-crumbs{margin-bottom:clamp(28px,4vw,48px)}.msb-bhero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(28px,5vw,80px);align-items:end}.msb-bhero .msb-eyebrow{display:block;margin-bottom:16px}.msb-bhero h1{font-size:clamp(36px,5vw,68px);line-height:1.04;font-weight:500;letter-spacing:-.025em;color:var(--ink);max-width:15ch;padding:0;text-wrap:balance}.msb-bhero h1 em{font-style:italic}.msb-bhero-side p{font-size:17px;line-height:1.65;color:var(--muted);margin-bottom:22px}.msb-search{display:flex;gap:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;max-width:460px}.msb-search:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(41,87,163,.15)}.msb-search input[type=search]{flex:1;min-width:0;border:0;background:transparent;padding:13px 16px;font:inherit;font-size:15px;color:var(--ink);outline:none}.msb-search input[type=search]::placeholder{color:#8a8479}.msb-search button{border:0;background:var(--navy);color:#fff;font:inherit;font-size:14px;font-weight:500;padding:0 20px;min-height:46px;cursor:pointer}.msb-search button:hover{background:var(--blue)}.msb-topics{background:var(--cream);padding:0 0 clamp(28px,3.5vw,44px)}.msb-topics-in{border-top:1px solid var(--line);padding-top:clamp(20px,2.5vw,28px);display:flex;align-items:center;gap:18px}.msb-topics-in .msb-eyebrow{flex:none}.msb-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none!important;margin:0!important;padding:0!important}.msb-chips li{list-style:none!important;margin:0!important;padding:0!important;display:block}.msb-chips li::before,.msb-chips li::marker{content:none!important}.msb-chips a{display:inline-flex;align-items:center;min-height:36px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;transition:border-color .15s,background .15s,color .15s}.msb-chips a:hover{border-color:var(--navy);color:var(--navy)}.msb-chips a[aria-current=page]{background:var(--navy);border-color:var(--navy);color:#fff}.msb-list-sec.et_pb_section{padding:0 0 clamp(64px,7vw,104px)!important}.msb-listhead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px}.msb-listhead h2{font-size:clamp(22px,2vw,26px);font-weight:500;letter-spacing:-.01em;color:var(--ink);padding:0}.msb-listhead span{font-size:13px;color:var(--soft);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.msb-cta{background:var(--navy);display:grid;grid-template-columns:1fr 1fr;min-height:420px}.msb-cta-text{padding:clamp(48px,6vw,88px) var(--gut) clamp(48px,6vw,88px) max(var(--gut),calc((100vw - 1700px)/2));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.msb-cta h2{font-size:clamp(30px,3.4vw,44px);line-height:1.12;font-weight:500;letter-spacing:-.015em;color:#fff!important;max-width:15ch;padding:0;margin-bottom:18px}.msb-cta p{font-size:16px;line-height:1.7;color:var(--onnavy);max-width:44ch;margin-bottom:28px}.msb-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}.msb-cta-actions .msb-tel{color:#fff;font-size:19px;font-weight:600;text-decoration:none}.msb-cta-actions .msb-tel:hover{text-decoration:underline;text-underline-offset:4px}.msb-cta a:focus-visible{outline-color:#fff}.msb-cta-img{position:relative;min-height:280px;background:#2a3f63}.msb-cta-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}@media (max-width:1100px){.msb-grid .et_pb_blog_posts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.msb-body-sec .msb-body-row.et_pb_row{grid-template-columns:minmax(0,1fr) 260px}}@media (max-width:980px){.msb-phero-grid{grid-template-columns:1fr;grid-template-areas:"crumbs" "cats" "title" "img" "dek" "meta";grid-template-rows:auto}.msb-phero .msb-crumbs{margin-bottom:22px}.msb-phero h1{margin-bottom:22px}.msb-phero-img{aspect-ratio:3/2;margin-bottom:22px;border-radius:12px}.msb-body-sec .msb-body-row.et_pb_row{display:block!important}.msb-body-row>.et_pb_column:last-child{display:none}.msb-content .msb-toc-m{display:block}.msb-content{max-width:720px;margin-inline:auto}.msb-bhero-grid{grid-template-columns:1fr;align-items:start}.msb-topics-in{flex-direction:column;align-items:flex-start;gap:12px}.msb-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.msb-chips::-webkit-scrollbar{display:none}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child{display:flex!important}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .entry-featured-image-url{aspect-ratio:3/2;height:auto;min-height:0}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .post-meta{padding:22px 24px 0!important}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .entry-title{padding:10px 24px 0!important;font-size:clamp(23px,4vw,28px)!important}body:not(.paged) .msb-grid--feat article.et_pb_post:first-child .post-content{padding:10px 24px 26px;font-size:16px}.msb-cta{grid-template-columns:1fr}.msb-cta-text{padding:56px var(--gut)}.msb-cta-img{order:-1;min-height:0;aspect-ratio:16/9}}@media (max-width:640px){.msb-grid .et_pb_blog_posts{grid-template-columns:1fr!important}.msb-content{font-size:17px;line-height:1.72}.msb-content .ms-answer,.msb-content .ms-callout{padding:18px 18px}.msb-content .ms-faq-a{padding-right:0}.msb-relhead{flex-direction:column;align-items:flex-start;gap:10px}.msb-meta{font-size:13.5px}.msb-search{max-width:none}}@media (prefers-reduced-motion:reduce){.msb *,.msb-grid *{transition:none!important}}

Decks & Porches · Home Improvement · Permits & Planning

Deck permits in Fairfax County, VA (2026 guide)

Deck permits in Fairfax County, VA (2026 guide)

Do you need a permit for a deck in Fairfax County? When one is required, how the PLUS application works, fees, review times, and the inspections to plan for.

5 min read

Updated June 28, 2026

We build decks and screened porches across Fairfax County and the surrounding Northern Virginia towns, and we handle the permit process for our clients every week. Here is what to expect in 2026.

Do you need a permit for a deck in Fairfax County?

Short answer: yes, in almost every case. In Fairfax County, you need a building permit for a deck that is attached to your house, larger than 200 square feet, or more than 18 inches above grade, and most decks meet at least one of those. Below is the full picture: when a permit is required, how the process works, what it costs, and how long it takes.

A permit is required for a deck that meets any one of these conditions:

  • It is attached to the house (a ledger-board connection).
  • It is larger than 200 square feet.
  • Any part of it sits more than 18 inches above the ground.

Because most real decks are attached and raised, they clear that bar easily. A small, free-standing, ground-level deck under 18 inches with no railing may be exempt, but that is the exception, and it is worth confirming with the county before you build rather than assuming. Fairfax County’s “Does my project require a permit?” page lays out the thresholds.

A few things that commonly surprise homeowners:

  • Lighting or outlets on the deck usually trigger a separate electrical permit.
  • Screened porches, roofs, and enclosures always need a permit and get more review than an open deck.
  • Simple maintenance, like replacing deck boards like-for-like or re-staining, does not need a permit. The moment you touch the framing, change the footprint, or add a roof, you are back in permit territory.

Which building code applies in 2026?

Fairfax County enforces the Virginia Uniform Statewide Building Code (USBC). As of 2026, the current edition is the 2021 USBC, which took effect in January 2024 and became mandatory for all new applications in January 2025. It is based on the 2021 International Residential Code, and it governs the structural details an inspector checks: footing depth, ledger connections and flashing, beam and joist sizing, guard and railing heights, and stairs.

Who issues the permit, the county, a town, or a city?

This trips people up, because “Fairfax” can mean different jurisdictions:

  • Unincorporated Fairfax County (including McLean and Great Falls): permits go through Fairfax County Land Development Services.
  • Town of Vienna: Fairfax County acts as the building official for Vienna, so a Vienna deck permit is issued through the county too.
  • City of Fairfax and City of Falls Church: these are independent cities with their own permit offices, separate from the county.

On top of the county permit, many Fairfax County neighborhoods sit inside a homeowners association, and the HOA often requires its own architectural approval before you break ground. That is a separate approval from the building permit, and it is smart to start it early.

What is the deck permit process in Fairfax County?

The typical path looks like this:

  1. Confirm a permit is required using the county’s project-permit page.
  2. Prepare your documents. You will need a site plan (or plat) showing the deck footprint, property lines, and setbacks; structural drawings with footing sizes, beam spans, and joist spacing; and material specifications. If your deck follows the county’s Typical Deck Details, simplified plans are accepted, which speeds things up.
  3. Apply online and pay the fee through the county’s online permitting portal (PLUS). You create an account, choose the right record type, upload your documents, and pay.
  4. Zoning and building review. Zoning checks setbacks and lot coverage; a structural reviewer checks the plans against code.
  5. Permit issued. Once approved, the permit must be posted where it is visible from the street during construction.
  6. Build and pass inspections (covered below).

How much does a deck permit cost in Fairfax County?

Fairfax County sets deck permit fees based on your project’s valuation, on top of a minimum base fee (currently around $108) and a small records surcharge. In practice, most residential deck permits land somewhere in the range of a few hundred dollars, often around $150 to $600, depending on the size and value of the build. The county publishes a fee schedule and a fee estimator you can use to get a number for your specific project. Keep in mind this is the permit fee only, separate from the cost to actually build the deck.

How long does it take to get a deck permit?

For a straightforward residential deck, plan review in Fairfax County typically runs about three to six weeks. Spring and summer are the busy season, so submissions during peak months can take longer. Clean, complete applications move fastest; missing documents or plans that need corrections are the usual cause of delays. If you are hoping to enjoy the deck by a certain date, build that review window into your timeline.

What inspections does a deck need?

Fairfax County inspects a deck at a few key stages:

  • Footing inspection, before any concrete is poured.
  • Framing inspection, after the posts, beams, and joists are up but before the decking goes on.
  • Final inspection, once the deck is complete.

Inspections are requested through the county’s system, usually a day or two ahead, and the approved plans and plat need to be on site when the inspector arrives.

Setbacks, footings, and other details that catch people out

A permit is really the county’s way of confirming your deck is safe and sits where it is allowed. The details reviewers care about most:

  • Setbacks and lot coverage. Your deck has to sit a required distance from your property lines. Rear setbacks are often around 25 feet, but they vary by zoning district, and this is the single most common thing that forces a redesign.
  • Footings below the frost line. Footings must reach undisturbed soil below the frost line so the deck does not shift with the seasons.
  • Ledger flashing. Where the deck attaches to the house, proper flashing keeps water out of the wall.
  • Guards and railings. A guard is required wherever the deck is more than 30 inches above grade, at least 36 inches tall, with balusters spaced so a 4-inch sphere cannot pass through.
  • Floodplains and resource protection areas. If your lot touches one, expect additional review.

Do PVC, composite, and wood decks need the same permit?

Yes. The permit is about the structure and safety of the deck, not the surface you walk on, so a PVC deck, a composite deck, and a traditional pressure-treated wood deck all go through the same permit and the same inspections. PVC and composite boards simply have to be installed to the manufacturer’s specifications. Whichever material you choose, the framing underneath has to meet the same code.

Should you pull the permit yourself or have a contractor do it?

Homeowners are allowed to pull their own permit in Fairfax County, but the county recommends using a licensed contractor when contractor work is involved, and for good reason. A contractor who works in the county regularly knows how to prepare the plan set, how the setbacks work in your zoning district, and how to sequence the inspections, which is where do-it-yourself permits most often stall.

We are a licensed Class B contractor based in Vienna, and we manage the whole permit process for our deck and screened-porch clients, from the drawings and application through the final inspection, so you are not chasing the county on your own. We build in PVC, composite, and traditional wood, handle front and back screened porches, and back our work with a 10-year transferable labor warranty. Learn more about our decks and porches, or see the towns we serve, including Fairfax, Vienna, McLean, and Great Falls.

Fairfax County deck permit FAQs

Do I need a permit for a small ground-level deck?

Often, yes. A deck that is attached to the house or more than 18 inches above grade needs a permit even if it is small. A free-standing, ground-level deck under 18 inches with no railing may be exempt, but confirm with Fairfax County before assuming it is.

Do I need a permit to replace my deck boards?

No. Replacing deck boards like-for-like or re-staining is maintenance and does not require a permit. You only need one once you alter the framing, change the deck’s size, or add a roof or enclosure.

Do screened porches need a permit in Fairfax County?

Yes. Screened porches, and any covered or enclosed structure, always require a permit and typically get more review than an open deck because of the roof and walls.

How much is a deck permit in Fairfax County?

It is based on your project’s valuation, usually a few hundred dollars, often in the $150 to $600 range, on top of a minimum base fee. Use the county’s fee estimator for a number specific to your project.

Does the Town of Vienna issue its own deck permits?

Fairfax County acts as the building official for the Town of Vienna, so a Vienna deck permit is handled through the county rather than a separate town office.

Can my contractor pull the permit for me?

Yes, and it is usually the smoother route. A licensed contractor who knows Fairfax County can prepare the plans, submit the application, and coordinate the inspections on your behalf.

Permit rules, fees, and timelines change, and every property is different. Treat this as a general guide and confirm the current requirements for your project with Fairfax County Land Development Services before you build.

Thinking about a new deck or screened porch in Fairfax County? Request a free consultation or call 703-587-7762, and we will handle the permit for you.

Keep reading

All articles

Have a project in mind?

Tell us what you are planning and we will help you sort out the options, the budget, and the permits, with a free, no-pressure consultation.

Flagstone patio with a curved stone seating wall beside a green lawn