/* New editorial sections share the existing site's blue and coral palette. */
.fw-content { background:#fff; color:#30383d; font-family:Roboto,Arial,sans-serif; font-size:17px; line-height:1.75; }
.fw-shell { width:min(1140px, calc(100% - 48px)); margin:0 auto; padding:44px 0 64px; }
.fw-content h1,.fw-content h2,.fw-content h3 { color:#183d55; line-height:1.2; font-family:Roboto,Arial,sans-serif; letter-spacing:-.025em; }
.fw-content h1 { font-size:clamp(32px,4vw,52px); max-width:880px; margin:18px 0 24px; }
.fw-content h2 { font-size:clamp(26px,3vw,34px); margin:0 0 22px; }
.fw-content h3 { font-size:23px; margin:0 0 14px; }
.fw-content p { margin:0 0 20px; }
.fw-content a { color:#1b5c86; text-decoration:underline; text-underline-offset:3px; }
.fw-content a:hover { color:#10364e; }
.fw-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 12px; font-size:13px; line-height:1.7; margin-bottom:40px; }
.fw-breadcrumb a { color:#5d6870; }
.fw-intro { max-width:900px; padding-bottom:48px; border-bottom:1px solid #dbe3e8; }
.fw-intro > p:not(.fw-kicker) { max-width:800px; font-size:20px; line-height:1.65; }
.fw-content .fw-kicker { font-size:12px; letter-spacing:.13em; font-weight:700; color:#b55231; margin-bottom:12px; }
.fw-content a.fw-button { display:inline-block; background:#1d5073; color:white; padding:13px 24px; font-size:15px; font-weight:700; text-decoration:none; border:1px solid #1d5073; }
.fw-content a.fw-button:hover { background:#12364e; }
.fw-block { margin:48px 0; }
.fw-block > p,.fw-block > ul { max-width:850px; }
.fw-block ul { padding-left:24px; }
.fw-block li { margin-bottom:10px; }
.fw-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0; }
.fw-content a.fw-card { display:flex; flex-direction:column; color:#424d54; background:#f4f6f7; border:1px solid #e2e7ea; padding:28px; text-decoration:none; }
.fw-content a.fw-card:hover { border-color:#1d5073; background:#edf2f5; }
.fw-card p { font-size:16px; }
.fw-card span { margin-top:auto; font-size:14px; color:#1d5073; font-weight:700; }
.fw-inline-links { display:flex; flex-wrap:wrap; gap:10px 28px; font-size:15px; }
.fw-service-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.fw-service-links a { padding:14px 0; border-bottom:1px solid #dbe3e8; font-weight:600; overflow-wrap:anywhere; }
@media(max-width:767px) { .fw-service-links { grid-template-columns:1fr; } }
.fw-home-problems { border-top:1px solid #e2e7ea; }
.fw-request { background:#15394f; padding:36px; margin-top:56px; color:white; scroll-margin-top:20px; }
.fw-request h2 { color:white; }
.fw-content .fw-request a.fw-button { background:white; color:#183d55; margin:4px 20px 12px 0; }
.fw-content .fw-request .fw-phone { display:inline-block; color:white; font-size:18px; }
.fw-faq details { border-bottom:1px solid #dbe3e8; padding:18px 0; }
.fw-faq summary { color:#183d55; cursor:pointer; font-size:18px; font-weight:700; padding-right:14px; }
.fw-faq details p { max-width:850px; margin:18px 0 0; }
.fw-table-wrap { overflow-x:auto; }
.fw-content table { width:100%; border-collapse:collapse; font-size:16px; }
.fw-content td,.fw-content th { text-align:left; border:1px solid #dbe3e8; padding:18px; vertical-align:top; }
.fw-content th { background:#f4f6f7; color:#183d55; }
.fw-intake-field { align-content:start; }
.elementor-form .fw-intake-field label { display:block !important; position:static !important; width:100%; height:auto; clip:auto; clip-path:none; color:inherit; font-size:14px; margin-bottom:7px; }
.elementor-form .fw-intake-field input,.elementor-form .fw-intake-field select,.elementor-form .fw-intake-field textarea { width:100%; min-width:0; min-height:44px; font:inherit; }
.elementor-form .fw-intake-field select { white-space:normal; }
.elementor-form .fw-intake-field option { color:#233943; background:white; }
.elementor-form .fw-intake-field input[type=file] { font-size:13px; padding:8px 0; height:auto; }
.elementor-form .fw-upload-help { font-size:12px; line-height:1.6; margin:8px 0 14px; color:inherit; width:100%; }
.elementor-form .fw-intake-field input::file-selector-button { border:1px solid #aec0cb; padding:8px; margin-right:8px; background:#f2f5f7; color:#183d55; font:inherit; }
.elementor-form { scroll-margin-top:28px; }
@media(max-width:767px) {
 .fw-shell { width:calc(100% - 36px); padding:28px 0 40px; }
 .fw-breadcrumb { margin-bottom:28px; }
 .fw-intro { padding-bottom:30px; }
 .fw-intro > p:not(.fw-kicker) { font-size:18px; }
 .fw-cards { grid-template-columns:1fr; gap:14px; }
 .fw-content a.fw-card { padding:23px; }
 .fw-block { margin:36px 0; }
 .fw-request { padding:24px; }
 .fw-content td,.fw-content th { padding:12px; font-size:14px; overflow-wrap:anywhere; }
 .fw-intake-field.elementor-column { width:100% !important; }
}
/* All existing contact forms sit on the site's dark blue background. */
.elementor-form .fw-intake-field label { color:#d5e4ed; letter-spacing:0; line-height:1.4; text-transform:none; font-weight:500; }
.elementor-form .fw-upload-help { color:#d5e4ed; }
.elementor-form .fw-intake-field select { white-space:nowrap; font-size:14px; padding:10px 26px 10px 12px; }
.fw-content th:first-child,.fw-content td:first-child { width:32%; min-width:110px; overflow-wrap:normal; hyphens:auto; }
@media(max-width:767px) { .fw-content th:first-child,.fw-content td:first-child { width:42%; } }
@media(min-width:1025px) and (max-width:1199px) {
 .elementor-widget-counter.elementor-absolute.elementor-hidden-tablet { display:none !important; }
 .elementor-icon-list-items.elementor-inline-items { flex-wrap:wrap; margin-inline:0 !important; max-width:100%; }
 .fw-navigation .elementor-nav-menu--main .elementor-item { padding-inline:10px !important; font-size:14px !important; }
}
