/* ==========================================================================
   The Chisholm Agency — block theme
   Rebuilt from the live Avada site's computed styles (fonts, sizes, spacing,
   colors), with Font Awesome 5 icons reproduced as SVG.
   ========================================================================== */
:root {
	--i-bars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z'/%3E%3C/svg%3E");
	--i-times: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E");
	--i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
	--i-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/%3E%3C/svg%3E");
	--i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z'/%3E%3C/svg%3E");
	--i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z'/%3E%3C/svg%3E");
	--navy: #213d65;
	--teal: var(--wp--preset--color--teal, rgba(28, 214, 195, .83));
	--btn-text: var(--wp--preset--color--button-text, rgba(255, 255, 255, .83));
	--teal-pill: var(--wp--preset--color--teal-pill, #22d7c4);
	--ink: #2d2d2d;
	--body: var(--wp--preset--color--body, #808080);
	--nav: var(--wp--preset--color--nav, #969595);
	--gray: #f9f9f9;
	--icon: #4b75ac;
	--f-head: var(--wp--preset--font-family--heading);
	--f-body: var(--wp--preset--font-family--body);
	--header-h: 92px;
}

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block: 0; }
.wp-site-blocks { overflow-x: clip; }
body .wp-block-post-content > * { margin-block: 0; }
body .chis-section > :not(.alignfull):not(.alignwide):not(.chis-h2--narrow) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
h1, h2, h3, h4 { margin-top: 0; }
a { text-decoration: none; }
.wp-block-post-content p:not([class*="chis-ptb"]) a:not(.wp-element-button) { text-decoration: underline; text-underline-offset: .15em; }
.is-centered { text-align: center; }
.wp-block-buttons.is-centered { justify-content: center; }

/* ---------- Type ---------- */
.chis-h2 { font-size: 48px; line-height: 52.8px; letter-spacing: 1px; font-weight: 300; color: var(--ink); margin: 0 0 30px; }
.chis-h2--xl { font-size: 64px; line-height: 70.4px; }
.chis-h2--narrow { max-width: 560px; margin-inline: auto !important; }
.chis-lead { max-width: 913px; margin-inline: auto !important; }

/* Separators: short navy rule (Avada separator) */
.wp-block-separator.chis-sep { border: 0; border-top: 2px solid var(--navy); width: 100px; max-width: 100px; height: 0; margin: 0 0 35px; opacity: 1; background: none; }
.wp-block-separator.chis-sep.is-centered { margin-inline: auto !important; }
.wp-block-separator.chis-sep.is-light { border-top-color: #fff; }
.wp-block-separator.chis-sep.is-short { width: 70px; border-top-width: 1px; margin: 0; }
.wp-block-separator.chis-sep.is-thin { width: 60px; border-top: 1px solid #e0dede; margin: 16px auto 22px; }
.chis-lead + .wp-block-separator.chis-sep { margin-top: 20px !important; }
.chis-h2 + .wp-block-separator.chis-sep { margin-top: 0 !important; }

/* ---------- Buttons ---------- */
.wp-block-buttons { gap: 10px; margin: 0; }
.wp-block-button__link { transition: background-color .2s, color .2s; }
.is-style-chis-pill .wp-block-button__link { background: var(--teal-pill); color: var(--btn-text); border-radius: 25px; padding: 13px 29px; font: 700 14px/17px var(--f-body); letter-spacing: 2px; text-transform: uppercase; }
.is-style-chis-bar .wp-block-button__link { display: block; width: 100%; background: var(--teal); color: var(--btn-text); border-radius: 0; padding: 5px 0; font: 400 17px/32px var(--f-body); letter-spacing: 0; text-transform: none; text-align: center; }
.is-style-chis-bar-sm .wp-block-button__link { background: var(--teal); color: var(--btn-text); border-radius: 0; padding: 6px 22px; font: 400 15px/24px var(--f-body); letter-spacing: 0; text-transform: none; }
:is(.is-style-chis-pill, .is-style-chis-bar, .is-style-chis-bar-sm) .wp-block-button__link:hover { background: var(--navy); color: #fff; }
.wp-block-button__link:focus-visible, a:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }

/* ==========================================================================
   Header: 92px, logo left, letter-spaced nav, teal Contact pill.
   Sticks on scroll and compacts (Avada sticky header).
   ========================================================================== */
.chis-header-wrap { position: sticky; top: 0; z-index: 100; }
.admin-bar .chis-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .chis-header-wrap { top: 46px; } }
.chis-header { background: #fff; padding: 0 30px; transition: box-shadow .25s; }
.is-scrolled .chis-header { box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.chis-header-bar { min-height: var(--header-h); gap: 2rem; transition: min-height .25s; }
.chis-logo-link { margin: 0 0 0 28px; flex: none; }
.chis-logo-link img { width: 226px; height: auto; display: block; transition: width .25s; }
.is-scrolled .chis-header-bar { min-height: 66px; }
.is-scrolled .chis-logo-link img { width: 170px; }

/* Desktop menu */
.chis-nav { margin-left: auto; align-self: stretch; }
.chis-nav .wp-block-navigation__container { gap: 0; align-items: stretch; height: 100%; }
.chis-nav .wp-block-navigation__container > .wp-block-navigation-item { align-items: stretch; }
.chis-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex; align-items: center; height: var(--header-h); padding: 0 28.5px; box-sizing: border-box;
	font: 500 14px/14px var(--f-body); letter-spacing: 2px; color: var(--nav); transition: color .2s, background-color .2s, height .25s;
}
.is-scrolled .chis-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { height: 66px; }
.chis-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.chis-nav-cta):hover > .wp-block-navigation-item__content,
.chis-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.chis-nav-cta):focus-within > .wp-block-navigation-item__content { background: #f7f7f7; color: var(--navy); }
.chis-nav .current-menu-item > .wp-block-navigation-item__content,
.chis-nav .current-menu-ancestor > .wp-block-navigation-item__content { background: #f7f7f7; color: var(--navy) !important; }

/* Contact pill */
.chis-nav .wp-block-navigation__container > .chis-nav-cta { align-items: center; margin-left: 28px; }
.chis-nav .wp-block-navigation__container > .chis-nav-cta > .wp-block-navigation-item__content {
	height: auto !important;
	background: var(--teal-pill) !important; color: var(--btn-text) !important; border-radius: 25px;
	padding: 13px 29px !important; height: auto; text-transform: uppercase;
}
.chis-nav .wp-block-navigation__container > .chis-nav-cta > .wp-block-navigation-item__content:hover { background: var(--navy) !important; color: #fff !important; }

/* Dropdown: 225px white panel, soft shadow, 13px items, #f7f7f7 hover */
.chis-nav .wp-block-navigation__submenu-container {
	top: 100% !important; left: 0 !important; width: 225px !important; min-width: 225px !important;
	background: #fff !important; border: 0 !important; border-radius: 0; padding: 0 !important;
	box-shadow: 1px 1px 30px rgba(0, 0, 0, .06);
}
.chis-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.chis-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block; width: 100%; padding: 12px 20px !important; font: 400 13px/32px var(--f-body); letter-spacing: 0;
	color: var(--ink) !important; background: #fff; white-space: normal; text-transform: none;
}
.chis-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.chis-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { background: #f7f7f7 !important; color: var(--ink) !important; }

/* Mobile: logo left, navy bars right, menu drops below the header as a bordered list */
.chis-nav .wp-block-navigation__responsive-container-open,
.chis-nav .wp-block-navigation__responsive-container-close { color: var(--navy); }
.chis-nav .wp-block-navigation__responsive-container-open svg,
.chis-nav .wp-block-navigation__responsive-container-close svg { display: none; }
.chis-nav .wp-block-navigation__responsive-container-open::before,
.chis-nav .wp-block-navigation__responsive-container-close::before {
	content: ""; display: block; width: 18px; height: 21px; background: var(--navy);
	-webkit-mask: var(--i-bars) center / contain no-repeat; mask: var(--i-bars) center / contain no-repeat;
}
.chis-nav .wp-block-navigation__responsive-container-close::before { -webkit-mask-image: var(--i-times); mask-image: var(--i-times); }
@media (max-width: 599px) {
	:root { --header-h: 120px; }
	.chis-header { padding: 0 30px; }
	.chis-logo-link { margin: 0; }
	.chis-logo-link img, .is-scrolled .chis-logo-link img { width: 226px; }
	.is-scrolled .chis-header-bar { min-height: 120px; }
	.chis-nav { align-self: center; }
	.chis-nav .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed; top: var(--chis-menu-top, 120px); left: 0; right: 0; bottom: auto; height: auto; max-height: calc(100vh - var(--chis-menu-top, 120px));
		overflow-y: auto; padding: 0 !important; background: #fff !important; box-shadow: 0 10px 25px rgba(0, 0, 0, .08); animation: none;
	}
	.chis-nav .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
	.chis-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin: 0 !important; }
	.chis-nav .is-menu-open .wp-block-navigation__responsive-container-close { position: fixed; top: calc(var(--chis-menu-top, 120px) - 70px); right: 30px; }
	.chis-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding: 0 !important; align-items: stretch !important; }
	.chis-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; height: auto; }
	.chis-nav .is-menu-open .wp-block-navigation-item { width: 100%; flex-direction: column; align-items: stretch !important; border-bottom: 1px solid #ebebeb; margin: 0 !important; }
	.chis-nav .is-menu-open .wp-block-navigation-item__content {
		display: flex !important; align-items: center; height: auto !important; min-height: 60px; padding: 0 12px 0 30px !important; width: 100%;
		font: 400 14px/1.4 var(--f-body) !important; letter-spacing: 0 !important; color: var(--ink) !important; background: #fff !important; border-radius: 0 !important; text-transform: none !important;
	}
	.chis-nav .is-menu-open .wp-block-navigation__submenu-container { position: static !important; width: 100% !important; box-shadow: none; padding: 0 !important; }
	.chis-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; border-top: 1px solid #ebebeb; }
	.chis-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding-left: 50px !important; min-height: 50px; }
	.chis-nav .is-menu-open .chis-nav-cta { margin: 0 !important; }
}

/* ---------- Page title bar (photo, no overlay, 500px) ---------- */
.wp-block-cover.chis-ptb { padding: 0 30px; background-color: var(--navy); }
.chis-ptb-title { font-family: var(--f-head); font-weight: 300; font-size: 72px; line-height: 100.8px; letter-spacing: 1px; text-align: center; margin: 0; }
.chis-ptb-sub { font: 400 18px/32.04px var(--f-body); text-align: center; max-width: 1170px; margin: 0 auto !important; }
.chis-ptb-sub a { text-decoration: underline; }

/* ---------- Home hero ---------- */
.wp-block-cover.chis-home-hero { padding: 300px 30px; }
.chis-hero-title { font-family: var(--f-head); font-weight: 300; font-size: 72px; line-height: 86.4px; letter-spacing: -.72px; text-transform: capitalize; text-align: center; margin: 0; }

/* ---------- Sections ---------- */
.chis-section { padding-block: 100px 70px; }
.chis-bg-white { background: #fff; }
.chis-bg-gray { background: var(--gray); }
.chis-center-head > * { margin-inline: auto; }

/* Home: text + photo */
.chis-sec-intro { padding-inline: max(30px, 10%) !important; }
.wp-block-columns.chis-intro { align-items: center !important; gap: 58px; margin: 0; }
.chis-intro p:not([class]), .chis-detail p:not([class]), .chis-two-text p:not([class]) { margin-block: 0 20px; }
.chis-photo { margin: 0; }
.chis-photo img { border-radius: 10px; width: 100%; height: auto; display: block; }
.chis-sec-intro .wp-block-buttons { margin-top: 15px; }

/* Home: services heading + content boxes */
.chis-sec-svc-head { padding-block: 100px 85px; }
.chis-sec-svc-head .chis-center-head > :last-child { margin-bottom: 0; }
.chis-sec-boxes { padding-block: 0 100px; margin-top: -46px !important; background: linear-gradient(to bottom, var(--gray) 0, var(--gray) 46px, #fff 46px); }
.chis-box { background: #fff; padding: 35px 35px 0; text-align: center; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.chis-box:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, .06); }
.chis-box > * { margin: 0; }
.chis-box-img { margin: 0 0 25px; }
.chis-box-img img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.chis-box-title { font-size: 26px; line-height: 28.6px; letter-spacing: 1px; margin-bottom: 20px !important; }
.chis-box-title a { color: var(--ink); }
.chis-box-text { padding-bottom: 50px; margin-bottom: auto !important; }
.chis-box-btn { margin: 0 -35px !important; }
.chis-box-btn .wp-block-button { width: 100%; }

/* CTA band (photo, no overlay) */
.wp-block-cover.chis-cta { padding: 110px 30px; }
.chis-cta .chis-h2 { max-width: 764px; margin-inline: auto !important; }
.chis-cta-text { font: 300 22px/33px var(--f-head); max-width: 764px; margin: 0 auto 20px !important; }
.chis-cta .wp-block-buttons { margin-top: 10px; }

/* About / Contact: two text columns */
.chis-sec-text { padding-block: 100px 50px; }
.chis-two-text { gap: 46px; margin: 0; }

/* Services page: tall white rows, 150px blue icon over the title */
.chis-sec-rows { padding-block: 100px; }
.chis-rows { display: grid; gap: 75px; }
.chis-rows > * { margin: 0 !important; }
.chis-row { background: #fff; padding: 65px 65px 35px; min-height: 397px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; }
.chis-row > .wp-block-columns { margin: 0; gap: 42px; align-items: stretch !important; }
.chis-row .chis-row-head { display: flex; flex-direction: column; justify-content: flex-end; }
.chis-row .chis-row-head > * { margin-block: 0; }
.chis-row-icon { margin: 0 0 22px !important; }
.chis-row-icon img { height: 150px; width: auto; max-width: 160px; display: block; }
.chis-row-title { font-size: 36px; line-height: 46.8px; margin: 0 0 30px !important; }
.chis-row-title a { color: var(--ink); text-decoration: none !important; }
.chis-row-title a:hover { color: var(--navy); }
.chis-row > .wp-block-columns > .wp-block-column:last-child { display: flex; flex-direction: column; justify-content: center; }
.chis-row p { margin: 0 0 30px; }
.chis-sec-cta-plain { padding-block: 120px 140px; }
.chis-sec-cta-plain .chis-h2 { margin-bottom: 30px; }

/* Service detail: photo + copy + teal check list */
.chis-sec-detail { padding-block: 100px 60px; }
.chis-detail { gap: 6%; align-items: flex-start; margin: 0; }
.chis-detail-img { margin: 0; }
.chis-detail-img img { width: 100%; height: auto; display: block; }
.chis-checklist { list-style: none; padding: 0; margin: 10px 0 0; font-size: 14px; line-height: 23.8px; }
.chis-checklist li { display: flex; align-items: center; gap: 10px; padding-bottom: 5px; margin: 0; }
.chis-checklist li::before { content: ""; flex: none; width: 24px; height: 14px; background: var(--teal); -webkit-mask: var(--i-check) left center / 14px 14px no-repeat; mask: var(--i-check) left center / 14px 14px no-repeat; }

/* Services strip: 5 alternating columns */
.chis-strip { gap: 0 !important; }
.chis-strip > * { margin: 0 !important; }
.chis-strip-col { background: #fff; padding: 80px 30px 50px; text-align: center; transition: transform .25s, box-shadow .25s; }
.chis-strip-col.is-alt { background: var(--gray); }
.chis-strip-col:hover { transform: translateY(-4px); box-shadow: 0 6px 18px rgba(0, 0, 0, .06); }
.chis-strip-col > * { margin: 0; }
.chis-strip-title { font-size: 26px; line-height: 28.6px; }

/* Carriers */
.chis-sec-carriers { padding-block: 60px 20px; }
.chis-sec-carriers .chis-h2 { margin-bottom: 60px; }
.chis-carriers { row-gap: 40px !important; }
.chis-carrier { display: flex; align-items: center; justify-content: center; min-height: 100px; }
.chis-carrier > * { margin: 0; }
.chis-carrier-img img { max-width: 200px; max-height: 90px; width: auto; height: auto; display: block; }

/* Contact info boxes with 70px Font Awesome icons */
.chis-infos { margin-top: 55px !important; padding: 0 60px; }
.chis-info { background: #fff; padding: 35px; text-align: center; }
.chis-info > * { margin: 0; }
.chis-info p { margin-top: 15px; }
.chis-info-title { font-size: 26px; line-height: 28.6px; }
.chis-info-title::before { content: ""; display: block; width: 80px; height: 70px; margin: 0 auto 25px; background: var(--icon); -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.chis-icon--home { --ic: var(--i-home); }
.chis-icon--phone { --ic: var(--i-phone); }
.chis-icon--mail { --ic: var(--i-mail); }

/* ==========================================================================
   Contact form band: photo, 764px form, dark translucent 60px fields with
   placeholders and no visible labels, teal pill submit (matches the live CF7).
   WPForms' own CSS is switched off by the theme, so these rules are the look.
   ========================================================================== */
.wp-block-cover.chis-form-band { padding: 100px 30px 90px; }
.chis-form-inner { max-width: 764px; margin-inline: auto !important; }
.chis-form { text-align: left; }
.chis-form .wpforms-container { margin: 0 !important; padding: 0 !important; }
.chis-form .wpforms-form { margin: 0; }
.chis-form .wpforms-field-container { display: block; }
.chis-form .wpforms-field { padding: 0 !important; margin: 0 0 20px !important; border: 0; }
.chis-form .wpforms-field-label,
.chis-form .wpforms-field-sublabel,
.chis-form .wpforms-field-description { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.chis-form .wpforms-field :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], select, textarea) {
	display: block; box-sizing: border-box; width: 100% !important; max-width: 100% !important; height: 60px !important; margin: 0;
	padding: 0 15px !important; border: 1px solid rgba(46, 80, 125, 0) !important; border-radius: 0 !important;
	background: rgba(21, 41, 68, .79) !important; color: #f9f9f9 !important; box-shadow: none !important;
	font: 400 13px/1.4 var(--f-body) !important; -webkit-appearance: none; appearance: none;
}
.chis-form .wpforms-field textarea.wpforms-field-large, .chis-form .wpforms-field textarea { height: 150px !important; min-height: 150px; padding: 12px 15px !important; resize: vertical; }
.chis-form .wpforms-field-textarea textarea { height: 150px !important; }
.chis-form .wpforms-field ::placeholder { color: rgba(249, 249, 249, .7) !important; opacity: 1; }
.chis-form .wpforms-field :is(input, textarea, select):focus { outline: none; border-color: rgba(28, 214, 195, .9) !important; background: rgba(21, 41, 68, .9) !important; }
.chis-form .wpforms-field :is(input, textarea).wpforms-error { border-color: #ff8a7a !important; }
.chis-form :is(label.wpforms-error, em.wpforms-error) { display: block; margin-top: 6px; color: #ffb4a8 !important; font: 400 13px/1.4 var(--f-body); }
.chis-form .wpforms-submit-container { padding: 0 !important; margin: 0 !important; }
.chis-form button.wpforms-submit {
	display: inline-block; height: auto !important; margin: 0; padding: 13px 29px !important; border: 0 !important; border-radius: 25px !important;
	background: var(--teal-pill) !important; color: var(--btn-text) !important; box-shadow: none !important; cursor: pointer;
	font: 700 14px/17px var(--f-body) !important; letter-spacing: 2px; text-transform: uppercase; transition: background-color .2s, color .2s;
}
.chis-form button.wpforms-submit:hover { background: var(--navy) !important; color: #fff !important; }
.chis-form .wpforms-submit-spinner { vertical-align: middle; margin-left: 10px; }
.chis-form .wpforms-confirmation-container-full,
.chis-form .wpforms-confirmation-container { background: rgba(21, 41, 68, .79); border: 0; color: #fff; padding: 20px 25px; margin: 0; }
.chis-form .wpforms-confirmation-container-full p { margin: 0; color: #fff !important; }
.chis-form .wpforms-error-container { color: #ffb4a8 !important; margin-bottom: 15px; }
.chis-form noscript { color: #fff; }

/* ---------- Banner text is always white ---------- */
body .wp-block-cover,
body .wp-block-cover.is-light .wp-block-cover__inner-container,
body .wp-block-cover .wp-block-cover__inner-container :is(h1, h2, h3, h4, p, li) { color: #fff !important; }
body .wp-block-cover .chis-cta-text { color: #eaeaea !important; }
body .wp-block-cover .wp-block-cover__inner-container a:not(.wp-element-button) { color: #fff !important; }

/* ---------- Footer: copyright bar ---------- */
.chis-footer { background: #121316; border-top: 1px solid #4b4c4d; padding-block: 30px; }
.chis-copy { margin: 0; text-align: center; font: 400 13px/32px var(--f-body); color: var(--wp--preset--color--footer-text, #787878); }

/* ---------- Simple pages (legal, 404) ---------- */
.chis-page-hero--plain { background: var(--navy); padding: 150px 30px !important; text-align: center; }
body .chis-page-hero--plain :is(h1, p) { color: #fff !important; }
.chis-page-hero--plain .chis-hero-title { font-size: 64px; line-height: 1.2; }
.chis-page-hero--plain .wp-block-buttons { justify-content: center; margin-top: 30px; }
.chis-prose h2 { font-size: 36px; margin: 2.5rem 0 1rem; }
.chis-notice { background: #fff8e1; border-left: 4px solid #d3a122; padding: 1rem 1.25rem; color: var(--ink); }

/* ---------- Responsive ---------- */
@media (min-width: 782px) {
	.chis-intro > .wp-block-column:first-child { flex-basis: 46% !important; }
	.chis-intro > .wp-block-column:last-child { flex-basis: 48% !important; }
	.chis-detail > .wp-block-column:first-child { flex-basis: 47% !important; }
	.chis-detail > .wp-block-column:last-child { flex-basis: 47% !important; }
}
@media (max-width: 1100px) {
	.chis-ptb-title, .chis-hero-title { font-size: 56px; line-height: 1.25; }
	.chis-h2--xl { font-size: 52px; line-height: 1.1; }
	.chis-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 0 16px; letter-spacing: 1px; }
	.chis-logo-link { margin-left: 0; }
}
@media (max-width: 800px) {
	.wp-block-cover.chis-ptb { min-height: 360px !important; }
	.chis-ptb-title, .chis-hero-title { font-size: 42px; line-height: 1.2; }
	.chis-h2, .chis-h2--xl { font-size: 34px; line-height: 1.15; }
	.chis-section { padding-block: 60px 50px; }
	.chis-sec-intro { padding-inline: 30px !important; }
	.chis-photo-col { order: -1; }
	.chis-row { padding: 40px 30px 20px; }
	.chis-row > .wp-block-columns { gap: 0; }
	.chis-row-icon img { height: 100px; }
	.chis-row-title { font-size: 30px; line-height: 1.25; margin-bottom: 20px !important; }
	.chis-row .chis-sep { margin-bottom: 20px !important; }
	.chis-rows { gap: 40px; }
	.chis-infos { padding: 0; }
	.chis-strip-col { padding: 40px 30px 30px; }
}

/* ---------- Editor ---------- */
.editor-styles-wrapper .wp-block-cover.has-parallax { background-attachment: scroll; }
.editor-styles-wrapper .chis-header-wrap { position: static; }

/* Home ends with 100px of white before the footer, as on the live site */
.wp-block-cover.chis-cta--home { margin-bottom: 100px !important; }
.chis-h2 strong { font-weight: 500; }

/* Mobile menu: one toggle button (bars/close in the same spot), plain rows, collapsible Services */
@media (max-width: 599px) {
	.chis-nav:has(.is-menu-open) > .wp-block-navigation__responsive-container-open { visibility: hidden; }
	.chis-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: calc(var(--chis-menu-top, 120px) / 2 - 10px - var(--chis-admin, 0px) / 2 + var(--chis-admin, 0px)); }
	.chis-nav .is-menu-open .chis-nav-cta > .wp-block-navigation-item__content { background: #fff !important; color: var(--ink) !important; min-height: 60px !important; padding: 0 12px 0 30px !important; border-radius: 0 !important; text-transform: none !important; height: auto !important; }
	.chis-nav .is-menu-open li.wp-block-navigation-submenu { position: relative; }
	.chis-nav .is-menu-open li.wp-block-navigation-submenu > .wp-block-navigation__submenu-container { display: none !important; }
	.chis-nav .is-menu-open li.wp-block-navigation-submenu.is-expanded > .wp-block-navigation__submenu-container { display: block !important; }
	.chis-sub-toggle { position: absolute; z-index: 2; top: 0; right: 0; width: 60px; height: 60px; border: 0; background: none; cursor: pointer; }
	.chis-sub-toggle::before { content: ""; position: absolute; inset: 0; margin: auto; width: 9px; height: 9px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: translateY(-3px) rotate(45deg); transition: transform .2s; }
	.is-expanded > .chis-sub-toggle::before { transform: translateY(2px) rotate(-135deg); }
}
@media (min-width: 600px) { .chis-sub-toggle { display: none; } }
