/* Conversion components: bounded reading widths, relevant proof, and clear next steps. */
.wdh-eyebrow { font-size:13px; line-height:1.5; font-weight:600; color:#a93427; letter-spacing:.06em; text-transform:uppercase; }
.homepage .wdh-human-hero { background-color:#333; background-image:linear-gradient(#0005,#0005),url('/wp-content/uploads/web-dev-bg.jpg'); background-position:center; background-size:cover; color:#fff; text-shadow:0 1px 2px #0006; text-align:left; padding:56px 0; }
.wdh-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; gap:70px; }
.homepage .wdh-hero-copy h1 { max-width:760px; }
.homepage .wdh-hero-copy p { width:auto; max-width:750px; margin:22px 0; padding:0; background:none; font-size:20px; font-weight:400; }
.homepage .wdh-hero-copy p.eyebrow { color:#fff; margin:0 0 16px; }
.homepage .wdh-hero-copy a.ctabtn { margin:0; }
.homepage .wdh-hero-copy p.hero-reassurance { font-size:15px; max-width:580px; margin:18px 0 12px; }
.homepage .wdh-hero-copy p.hero-rate { font-size:14px; margin:0; color:#fff; }
.wdh-hero-portrait img { width:260px; height:260px; object-fit:cover; border-radius:12px; display:block; }
.wdh-hero-portrait figcaption { margin-top:16px; font-size:14px; line-height:1.65; }
.wdh-hero-portrait strong,.wdh-hero-portrait span { display:block; }
.wdh-hero-portrait a { color:#fff; text-underline-offset:3px; }
.wdh-hero-portrait a:hover,.wdh-hero-portrait a:focus-visible { color:#fff; text-decoration-thickness:2px; }
.wdh-proof-card blockquote { border-left:3px solid #d94e3d; padding-left:18px; margin:4px 0 24px; }
.wdh-proof-card blockquote p { font-size:16px; margin-bottom:10px; }
.wdh-proof-card cite { font-size:14px; font-style:normal; color:#555758; }
.wdh-proof-more { margin:28px 0 0; }
.wdh-proof-grid .wdh-card { box-shadow:none; background:#f6f7f7; }
.wdh-receipt-teaser { margin-top:32px; padding:28px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; border:1px solid #d7d9da; background:white; }
.wdh-receipt-teaser h3 { margin:0 0 10px; }
.wdh-receipt-teaser p { margin:0; }
.wdh-receipt-teaser a.ctabtn { margin:0; }
.wdh-home-questions { max-width:850px; margin:36px auto 0; }
.wdh-home-questions details,.wdh-info-details { border-top:1px solid #d7d9da; padding:18px 0; }
summary { cursor:pointer; font-weight:600; font-size:18px; line-height:1.5; }
summary:focus-visible { outline:3px solid #a93427; outline-offset:5px; }
details > p { margin:16px 0 0; }
.wdh-contact-opening { padding-top:32px; padding-bottom:22px; }
.wdh-contact-opening p { margin-bottom:0; }
.page-id-46 .pagehero { padding:36px 0; }
#homeform.wdh-contact-section { padding:52px 0; color:#fff; background:#4c5153; text-align:left; }
.wdh-contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:64px; align-items:start; padding-left:24px; padding-right:24px; }
.wdh-contact-expectations h2 { font-size:32px; line-height:1.3; margin:0 0 20px; text-align:left; padding:0; }
.wdh-contact-expectations > p { font-size:17px; line-height:1.7; }
.wdh-contact-expectations .wdh-eyebrow { color:#f8d6ca; font-size:13px; margin:0 0 14px; }
.wdh-next-steps { list-style:decimal; padding-left:24px; margin:24px 0; }
.wdh-next-steps li { padding-left:5px; margin:0 0 18px; font-size:16px; line-height:1.6; }
.wdh-next-steps li::marker { color:#f8d6ca; font-weight:600; }
.wdh-next-steps strong,.wdh-next-steps span { display:block; }
.wdh-next-steps strong { margin-bottom:4px; }
.wdh-contact-expectations .wdh-contact-rate { padding-top:20px; border-top:1px solid #ffffff45; }
#homeform a { color:#a93427; }
#homeform a:hover,#homeform a:focus-visible { color:#333; }
#homeform .wdh-contact-expectations a { color:#fff; text-underline-offset:3px; }
#homeform .wdh-contact-expectations a:hover,#homeform .wdh-contact-expectations a:focus-visible { color:#f8d6ca; }
.wdh-contact-form-panel { min-width:0; padding:28px; border-top:4px solid #a93427; color:#333; background:#fff; box-shadow:0 4px 20px #00000015; }
.wdh-contact-form-panel h3 { display:block; margin:0 0 12px; font-size:25px; line-height:1.3; }
#homeform .wdh-contact-small { font-size:14px; line-height:1.65; margin-bottom:16px; }
#homeform .wdh-contact-form-panel form .wdh-form-fields,
#homeform .wdh-contact-form-panel form .flex > p { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin-bottom:16px; }
#homeform form label { color:#333; }
#homeform form input:not([type=hidden]):not([type=submit]),#homeform form textarea { border:1px solid #b9bdbd; border-radius:3px; font-size:17px; line-height:1.5; padding:11px 12px; }
#homeform form textarea { min-height:145px; height:160px; }
#homeform form .wpcf7-not-valid-tip { color:#9e271d; font-size:14px; }
#homeform form input[type=submit] { display:block; width:100%; max-width:none; padding:14px 16px; margin:0; background:#a93427; color:#fff; box-shadow:none; font-size:17px; line-height:1.5; white-space:normal; }
#homeform form input[type=submit]:hover,#homeform form input[type=submit]:focus-visible { background:#333; color:white; }
#homeform form p { margin-bottom:16px; }
#homeform .wdh-form-after { margin-top:8px; }
#homeform .form-phone { font-size:16px; margin-top:20px; }
.wdh-contact-section :focus-visible { outline:3px solid #a93427; outline-offset:3px; }
.wdh-contact-expectations :focus-visible { outline-color:#fff; }
.wdh-contact-form-panel .wpcf7-spinner { display:block; margin:4px auto; }
.wdh-contact-form-panel form:not(.submitting) .wpcf7-spinner { height:0; margin-top:0; margin-bottom:0; }
.wdh-contact-form-panel form.submitting .wpcf7-spinner { height:24px; }
.wdh-outcomes { padding:26px; border-left:4px solid #a93427; background:#f3f4f2; margin:0 0 30px; }
.readable-content .wdh-outcomes h2 { margin:0 0 18px; padding:0; font-size:26px; text-align:left; }
.wdh-outcomes .wdh-eyebrow { margin:0 0 12px; font-size:12px; }
.readable-content .wdh-outcomes ul { margin:0 0 0 20px; }
.readable-content .wdh-outcomes li { font-size:17px; line-height:1.6; margin-bottom:10px; }
.wdh-outcomes li:last-child { margin-bottom:0; }
.wdh-mobile-case-quote { display:none; }
.wdh-repair-receipt { margin:32px 0; padding:32px; border:1px solid #d0d3d1; border-top:5px solid #a93427; background:#fcfcf8; box-shadow:0 5px 22px #00000008; }
.readable-content .wdh-repair-receipt h2 { margin:0 0 12px; padding:0; font-size:30px; text-align:left; }
.readable-content .wdh-repair-receipt h3 { font-size:20px; margin-top:24px; }
.wdh-sample-label { display:inline-block; background:#fff0e8; color:#893324; padding:6px 12px; font-size:13px !important; font-weight:600; border-radius:3px; }
.wdh-receipt-facts { display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px 20px; border-top:1px solid #d7d9da; border-bottom:1px solid #d7d9da; padding:20px 0; margin:24px 0; font-size:16px; line-height:1.65; }
.wdh-receipt-facts dt { font-weight:600; }
.wdh-note { padding:18px 22px; background:#f3f4f2; border-left:3px solid #a93427; margin:24px 0; }
.wdh-note > :last-child { margin-bottom:0; }
.wdh-brief-example { white-space:pre-wrap; overflow-wrap:anywhere; padding:24px; background:#f3f4f2; border-left:3px solid #a93427; font:16px/1.7 'Open Sans',sans-serif; margin:24px 0; }
.wdh-planner { padding:28px; border:1px solid #d0d3d1; background:#f6f7f7; margin:28px 0; }
.wdh-planner label { font-size:16px; font-weight:600; margin:0 0 7px; }
.wdh-planner input,.wdh-planner textarea,.wdh-planner select { display:block; width:100%; margin:0 0 20px; background:white; color:#333; border:1px solid #aeb3b3; padding:10px 12px; font:16px/1.5 'Open Sans',sans-serif; border-radius:3px; }
.wdh-planner textarea { min-height:120px; resize:vertical; }
.wdh-planner button,.wdh-use-request { display:inline-block; max-width:100%; background:#a93427; color:#fff; border:0; padding:13px 18px; font:600 16px/1.5 'Open Sans',sans-serif; cursor:pointer; border-radius:3px; }
.wdh-planner button:hover,.wdh-use-request:hover { background:#333; color:white; }
.wdh-planner :focus-visible,.wdh-use-request:focus-visible { outline:3px solid #a93427; outline-offset:3px; }
.wdh-planner-result { margin:28px 0; }
.wdh-planner-result textarea { width:100%; min-height:340px; padding:18px; border:1px solid #aeb3b3; font:16px/1.7 'Open Sans',sans-serif; resize:vertical; }
.wdh-helper-status { font-size:15px; margin-top:16px; }
.wdh-triage label { display:flex; gap:14px; padding:16px; border:1px solid #d0d3d1; margin:12px 0; cursor:pointer; font-size:16px; line-height:1.7; }
.wdh-triage > p { margin:0; }
.wdh-triage br { display:none; }
.wdh-triage input { width:20px; height:20px; margin:4px 0 0; padding:0; flex:none; accent-color:#a93427; }
.wdh-triage legend { font-size:18px; font-weight:600; margin-bottom:12px; }
.wdh-triage-result { padding:22px; margin:20px 0; background:#f3f4f2; border-left:3px solid #a93427; }
.wdh-triage-result h3 { margin-top:0; }
.wdh-triage-result p { margin-bottom:0; }
[data-wdh-planner] [hidden],.wdh-planner-result[hidden],.wdh-triage-result[hidden] { display:none !important; }
.wdh-submenu-toggle { display:none; }
header a.logo { flex-basis:285px; }
@media(max-width:1100px) { .wdh-hero-grid { gap:32px; } .wdh-contact-grid { gap:36px; } }
@media(min-width:851px) and (max-width:1100px) {
 .site-header-inner { display:block; }
 header a.logo { display:block; width:285px; margin:0 auto 20px; }
 header #main-navigation { text-align:center; }
}
@media(max-width:980px) {
 .wdh-mobile-case-quote { display:block; margin:0 0 32px; padding:22px; border-left:3px solid #a93427; background:#f9f9f7; }
 .wdh-mobile-case-quote blockquote p { font-size:17px; margin-bottom:14px; }
 .wdh-mobile-case-quote figcaption { font-size:14px; line-height:1.6; margin-bottom:12px; }
 .wdh-mobile-case-quote > a { font-size:14px; }
}
@media(max-width:850px) {
 header #main-navigation.wdh-nav-open { display:block; }
 header #main-navigation > ul { display:flex; flex-direction:column; }
 header #main-navigation > ul > li.wdh-nav-contact { order:-1; }
 header #main-navigation.wdh-nav-ready li.menu-item-has-children > ul.sub-menu { display:none !important; }
 header #main-navigation.wdh-nav-ready li.wdh-submenu-open > ul.sub-menu { display:block !important; }
 header #main-navigation li.menu-item-has-children > a { display:inline-block; }
 .wdh-submenu-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; margin-left:4px; color:#fff; background:#333; border:1px solid #969b9b; font:24px/1 sans-serif; vertical-align:middle; cursor:pointer; }
 .wdh-submenu-toggle:hover,.wdh-submenu-toggle:focus-visible { background:#a93427; outline:2px solid white; outline-offset:2px; }
 .wdh-contact-grid { grid-template-columns:minmax(0,1fr); gap:30px; max-width:700px; }
 .wdh-contact-form-panel { padding:24px; }
 .wdh-hero-grid { grid-template-columns:minmax(0,1fr) 200px; }
 .wdh-hero-portrait img { width:200px; height:200px; }
}
@media(max-width:600px) {
 .homepage .wdh-human-hero { padding:30px 0 36px; }
 .wdh-hero-grid { grid-template-columns:minmax(0,1fr); gap:24px; padding-left:20px; padding-right:20px; }
 .wdh-hero-portrait { grid-row:1; display:flex; align-items:center; gap:16px; }
 .wdh-hero-portrait img { width:88px; height:88px; border-radius:50%; }
 .wdh-hero-portrait figcaption { margin:0; font-size:13px; }
 .homepage .wdh-hero-copy h1 { text-align:left; font-size:34px; }
 .homepage .wdh-hero-copy p { font-size:17px; margin:18px 0; }
 .homepage .wdh-hero-copy p.hero-reassurance { font-size:14px; }
 .homepage .wdh-hero-copy p.hero-rate { font-size:13px; }
 .homepage .wdh-hero-copy p.eyebrow { font-size:13px; margin-bottom:12px; }
 .wdh-receipt-teaser { grid-template-columns:minmax(0,1fr); padding:24px; }
 #homeform.wdh-contact-section { padding:36px 0; }
 .wdh-contact-grid { padding-left:20px; padding-right:20px; }
 #homeform .wdh-contact-expectations h2 { font-size:28px; text-align:left; }
 .wdh-contact-form-panel { padding:22px 18px; }
 .wdh-contact-expectations > p { font-size:16px; }
 .wdh-repair-receipt,.wdh-planner { padding:22px 18px; }
 .wdh-receipt-facts { grid-template-columns:minmax(0,1fr); gap:3px; }
 .wdh-receipt-facts dd { margin-bottom:14px; }
 .wdh-receipt-facts dd:last-child { margin-bottom:0; }
 .wdh-outcomes { padding:22px; }
 .readable-content .wdh-outcomes h2 { font-size:24px; }
}
