.contact-page{background:#fff}.contact-form-card .fluentform{margin:20px 0 0!important;font-family:inherit;color:var(--text)}.contact-form-card .fluentform .ff-el-group{margin:0 0 15px!important}.contact-form-card .fluentform .ff-t-container{display:flex!important;gap:15px!important;margin:0!important}.contact-form-card .fluentform .ff-t-cell{padding:0!important;flex:1 1 0!important}.contact-form-card .fluentform .ff-el-input--label{margin:0 0 6px!important}.contact-form-card .fluentform label{display:block!important;color:var(--navy)!important;font-family:inherit!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important;margin:0 0 6px!important}.contact-form-card .fluentform .ff-el-input--content{width:100%!important}.contact-form-card .fluentform .ff-el-form-control{width:100%!important;min-height:43px!important;padding:11px!important;border:1px solid var(--border)!important;border-radius:6px!important;background:#fff!important;color:var(--text)!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;line-height:1.4!important;box-shadow:none!important}.contact-form-card .fluentform textarea.ff-el-form-control{min-height:140px!important;resize:vertical}.contact-form-card .fluentform .ff-el-form-control:focus{border-color:var(--gold)!important;outline:0!important;box-shadow:0 0 0 3px rgba(201,169,97,.14)!important}.contact-form-card .fluentform .ff-btn-submit.ff-btn-submit{min-height:46px!important;padding:13px 24px!important;border:0!important;border-radius:6px!important;background:var(--gold)!important;color:var(--navy)!important;font-family:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1.3!important;box-shadow:none!important;cursor:pointer!important;transition:background .2s ease,transform .2s ease}.contact-form-card .fluentform .ff-btn-submit.ff-btn-submit:hover,.contact-form-card .fluentform .ff-btn-submit.ff-btn-submit:focus{background:var(--gold-dark)!important;color:#fff!important;transform:translateY(-1px)}.contact-form-card .fluentform .ff_submit_btn_wrapper{margin:4px 0 0!important}.contact-form-card .fluentform .ff-errors-in-stack,.contact-form-card .fluentform .error{color:#b42318!important;font-family:inherit!important;font-size:12px!important}.contact-form-card .fluentform .ff-message-success{margin:20px 0!important;padding:18px!important;border:1px solid rgba(34,139,91,.25)!important;border-radius:6px!important;background:rgba(34,139,91,.08)!important;color:var(--text)!important;font-family:inherit!important;font-size:14px!important}.contact-form-card .fluentform .ff-el-input--content input::placeholder,.contact-form-card .fluentform .ff-el-input--content textarea::placeholder{color:var(--text-light)!important;opacity:1}.contact-form-card .fluentform .ff-el-form-check-label,.contact-form-card .fluentform .ff-el-input--label label{font-family:inherit!important}
.contact-hero{padding:126px 0 72px;background:linear-gradient(90deg,rgba(13,27,42,.96),rgba(27,58,91,.78)),url('/wp-content/uploads/starveilbuild/contact/contact-hero.webp') center/cover;color:#fff}.contact-hero h1{max-width:850px;color:#fff;font-size:clamp(38px,5vw,58px);margin:14px 0}.contact-hero p{max-width:850px;color:rgba(255,255,255,.8);font-size:17px;line-height:1.75}.contact-hero .section-tag{background:transparent;color:var(--gold-light);border-color:rgba(232,213,163,.4)}.contact-hero .breadcrumb{display:flex;gap:10px;margin-top:26px;color:rgba(255,255,255,.7);font-size:13px}.contact-hero .breadcrumb a{text-decoration:underline}.contact-grid,.contact-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-panel,.service-panel,.contact-process,.contact-form-card{padding:32px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 8px 28px rgba(13,27,42,.06)}.contact-panel h2,.service-panel h2,.contact-process h2,.contact-form-card h2{font-size:25px;margin-bottom:8px}.contact-lead,.form-note{color:var(--text-mid);font-size:14px}.contact-method{padding:19px 0;border-bottom:1px solid var(--border)}.contact-method:last-of-type{border-bottom:0}.contact-method strong{display:block;color:var(--gold-dark);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.contact-method a,.contact-method b{display:block;color:var(--navy);font-size:16px}.contact-method p{color:var(--text-mid);font-size:13px;line-height:1.55;margin:6px 0 0}.contact-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.service-table-wrap{overflow-x:auto;margin-top:20px}.service-table{width:100%;min-width:570px;border-collapse:collapse;font-size:13px}.service-table th,.service-table td{padding:12px 9px;border-bottom:1px solid var(--border);text-align:left}.service-table thead th{background:var(--navy);color:#fff;font-size:11px;text-transform:uppercase}.service-table tbody th{color:var(--navy)}.service-table td{color:var(--text-mid)}.service-live{color:#228b5b;font-weight:700}.contact-info-box{margin-top:20px;padding:14px 16px;border-left:3px solid var(--gold);background:rgba(201,169,97,.09);color:var(--text-mid);font-size:13px;line-height:1.55}.contact-heading{max-width:780px;margin:0 auto 38px}.contact-heading>p{color:var(--text-mid);line-height:1.65}.contact-process{background:linear-gradient(135deg,var(--navy),var(--steel));color:#fff}.contact-process h2{color:#fff}.process-step{display:flex;gap:14px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.16)}.process-step>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:700}.process-step h3{color:#fff;font-size:16px;margin:0 0 5px}.process-step p{color:rgba(255,255,255,.72);font-size:13px;line-height:1.55;margin:0}.contact-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.contact-stats strong{padding:7px 9px;border:1px solid rgba(255,255,255,.24);border-radius:5px;color:var(--gold-light);font-size:11px}.form-note span,.required{color:#b42318}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.contact-form-card label{display:flex;flex-direction:column;gap:6px;color:var(--navy);font-size:12px;font-weight:700;margin-bottom:15px}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{width:100%;padding:11px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font:inherit;font-weight:400}.contact-form-card textarea{resize:vertical}.contact-form-card small{font-size:11px;color:var(--text-light);font-weight:400;line-height:1.4}.contact-form-card button{border:0;cursor:pointer}.auto-reply{display:flex;gap:7px;align-items:center;color:var(--text-light);font-size:12px;line-height:1.4}.form-success{padding:38px 10px;text-align:center}.form-success h2{color:var(--steel)}.form-success p{color:var(--text-mid);line-height:1.7}.contact-faq-section{background:#fff}.contact-faq{max-width:850px;margin:38px auto 0}.contact-faq details{padding:20px 0;border-bottom:1px solid var(--border)}.contact-faq summary{position:relative;padding-right:30px;cursor:pointer;list-style:none;color:var(--navy);font-weight:700}.contact-faq summary::-webkit-details-marker{display:none}.contact-faq summary:after{content:'+';position:absolute;right:0;color:var(--gold-dark);font-size:22px}.contact-faq details[open] summary:after{content:'−'}.contact-faq p{color:var(--text-mid);font-size:14px;line-height:1.7;margin:12px 28px 0 0}.contact-bottom-cta{background:var(--navy);color:#fff}.contact-bottom-cta h2{color:#fff;font-size:clamp(28px,4vw,44px)}.contact-bottom-cta p{max-width:700px;margin:12px auto 25px;color:rgba(255,255,255,.72)}
@media(max-width:850px){.contact-grid,.contact-form-layout{grid-template-columns:1fr}}@media(max-width:620px){.contact-hero{padding:106px 0 55px}.contact-panel,.service-panel,.contact-process,.contact-form-card{padding:23px 18px}.contact-form-card .fluentform .ff-t-container{display:block!important}.contact-form-card .fluentform .ff-t-cell{width:100%!important}.contact-form-card .fluentform .ff-btn-submit.ff-btn-submit{width:100%!important}.form-two{grid-template-columns:1fr}.contact-buttons .btn{flex:1;text-align:center;justify-content:center}.contact-stats strong{font-size:10px}}

/* Gutenberg hybrid flatten (Approach A) - SB 1.6.7 */
body.contact-page { padding-top: 0 !important; }
body.contact-page > main#main-content { padding-top: 0; }

body.contact-page .wp-block-group.contact-page > .wp-block-group__inner-container,
body.contact-page .contact-hero > .wp-block-group__inner-container,
body.contact-page .section > .wp-block-group__inner-container,
body.contact-page .container > .wp-block-group__inner-container,
body.contact-page .text-center > .wp-block-group__inner-container,
body.contact-page .contact-heading > .wp-block-group__inner-container,
body.contact-page .contact-form-layout > .wp-block-group__inner-container,
body.contact-page .contact-process > .wp-block-group__inner-container,
body.contact-page .contact-form-card > .wp-block-group__inner-container,
body.contact-page .contact-grid > .wp-block-group__inner-container,
body.contact-page .contact-panel > .wp-block-group__inner-container,
body.contact-page .service-panel > .wp-block-group__inner-container,
body.contact-page .contact-method > .wp-block-group__inner-container,
body.contact-page .process-step > .wp-block-group__inner-container,
body.contact-page .process-step-body > .wp-block-group__inner-container,
body.contact-page .contact-stats > .wp-block-group__inner-container,
body.contact-page .contact-buttons > .wp-block-group__inner-container,
body.contact-page .service-table-wrap > .wp-block-group__inner-container,
body.contact-page .contact-info-box > .wp-block-group__inner-container,
body.contact-page .contact-faq > .wp-block-group__inner-container,
body.contact-page .contact-direct > .wp-block-group__inner-container,
body.contact-page .contact-faq-section > .wp-block-group__inner-container {
	display: contents;
}


/* Process step number (was bare span in PHP). Gutenberg <p.process-step-num>
   must stay navy on gold; .process-step p muted rgba was painting digits invisible. */
body.contact-page .process-step-num,
body.contact-page .process-step > .process-step-num,
body.contact-page .process-step p.process-step-num,
body.contact-page .process-step .wp-block-paragraph.process-step-num {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	margin: 0;
	border-radius: 50%;
	background: var(--gold);
	color: var(--navy);
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
}
/* Body copy only — exclude step numbers */
body.contact-page .process-step > p:not(.process-step-num),
body.contact-page .process-step > .wp-block-paragraph:not(.process-step-num),
body.contact-page .process-step-body p,
body.contact-page .process-step-body .wp-block-paragraph {
	color: rgba(255, 255, 255, .72);
	font-size: 13px;
	line-height: 1.55;
	margin: 0;
}

/* Stats / buttons: paragraph flatten for strong/span (flex children) */
body.contact-page .contact-stats > .wp-block-paragraph,
body.contact-page .contact-buttons > .wp-block-paragraph,
body.contact-page .contact-info-box > .wp-block-paragraph {
	display: contents;
}

/* .contact-method label / link / note as core/paragraph under blocks */
body.contact-page .contact-method > .wp-block-paragraph { margin: 0; }
body.contact-page .contact-method > .wp-block-paragraph + .wp-block-paragraph { margin-top: 0; }
body.contact-page .contact-method a,
body.contact-page .contact-method b {
	display: block;
	color: var(--navy);
	font-size: 16px;
}
body.contact-page .contact-method p:last-child,
body.contact-page .contact-method > .wp-block-paragraph:last-child {
	color: var(--text-mid);
	font-size: 13px;
	line-height: 1.55;
	margin: 6px 0 0;
}

/* .wp-block-table wrap handle for service hours */
body.contact-page .service-table-wrap.wp-block-table,
body.contact-page .wp-block-table .service-table { margin: 0; }
body.contact-page .wp-block-table .service-table table,
body.contact-page .service-table table {
	width: 100%;
	min-width: 570px;
	border-collapse: collapse;
	font-size: 13px;
}
body.contact-page .service-table th,
body.contact-page .service-table td,
body.contact-page .wp-block-table .service-table th,
body.contact-page .wp-block-table .service-table td {
	padding: 12px 9px;
	border-bottom: 1px solid var(--border);
	text-align: left;
}
body.contact-page .service-table thead th,
body.contact-page .wp-block-table .service-table thead th {
	background: var(--navy);
	color: #fff;
	font-size: 11px;
	text-transform: uppercase;
}
body.contact-page .service-table tbody th,
body.contact-page .wp-block-table .service-table tbody th {
	color: var(--navy);
}
body.contact-page .service-table tbody td,
body.contact-page .wp-block-table .service-table tbody td {
	color: var(--text-mid);
}

/* FAQ core/details */
body.contact-page .contact-faq .wp-block-details {
	padding: 20px 0;
	border-bottom: 1px solid var(--border);
}
body.contact-page .contact-faq .wp-block-details summary {
	position: relative;
	padding-right: 30px;
	cursor: pointer;
	list-style: none;
	color: var(--navy);
	font-weight: 700;
}
body.contact-page .contact-faq .wp-block-details summary::-webkit-details-marker {
	display: none;
}
body.contact-page .contact-faq .wp-block-details summary::after {
	content: '+';
	position: absolute;
	right: 0;
	color: var(--gold-dark);
	font-size: 22px;
}
body.contact-page .contact-faq .wp-block-details[open] summary::after {
	content: '\2212';
}
body.contact-page .contact-faq .wp-block-details > .wp-block-paragraph {
	color: var(--text-mid);
	font-size: 14px;
	line-height: 1.7;
	margin: 12px 28px 0 0;
}

/* Hero breadcrumb as paragraph */
body.contact-page .contact-hero .breadcrumb {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	color: rgba(255, 255, 255, .7);
	font-size: 13px;
}
body.contact-page .contact-hero .breadcrumb a { text-decoration: underline; color: inherit; }

/* form-note asterisk */
body.contact-page .form-note span { color: #b42318; }
.sb-report-prefill-banner{background:rgba(201,169,97,0.1);border:1px solid var(--gold,#C9A961);border-radius:8px;padding:12px 16px;margin:0 0 16px;font-size:13px;color:var(--navy,#0D1B2A);line-height:1.5}.sb-report-prefill-banner strong{color:var(--navy,#0D1B2A)}
