/* REPLACE contact-page.css in full. Core blocks; page-scoped styles. */
.im-contact-page{--im-contact-text:#242220;--im-contact-muted:#68615a;--im-contact-burgundy:#781b1c;--im-contact-burgundy-dark:#5f1415;--im-contact-gold:#8a7c5f;--im-contact-focus:rgba(120,27,28,.2);--im-contact-radius:2px;background:#faf8f4;color:var(--im-contact-text);width:100%;margin:0;font-size:16px;line-height:1.55}
.im-contact-page,.im-contact-page *{box-sizing:border-box}
.im-contact-page :where(.wp-block-group,.wp-block-image,.wp-block-buttons,p,h1,h2){margin-block:0}
.im-contact-page .im-contact-container,.im-contact-page .im-contact-hero__inner{width:calc(100% - 48px);max-width:1220px;margin-inline:auto}
.im-contact-page .im-contact-hero{background:#f2ede4;overflow:hidden}
.im-contact-page .im-contact-hero__inner{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:24px;min-height:290px}
.im-contact-page .im-contact-hero__content{padding-block:32px}
.im-contact-page .im-contact-hero__title{font-family:"EB Garamond",Georgia,serif;font-size:clamp(42px,5.5vw,72px);font-weight:500;line-height:1.08;color:#781b1c}
.im-contact-page .im-contact-hero__title:after,.im-contact-page .im-contact-section-title:after{content:"";display:block;width:44px;height:1px;background:#8a7c5f;margin-top:18px}
.im-contact-page .im-contact-hero__text{margin-top:18px;font-family:"EB Garamond",Georgia,serif;font-size:clamp(20px,2vw,26px);line-height:1.3}
.im-contact-page .im-contact-hero__art img{display:block;width:100%;height:290px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}
.im-contact-page .im-contact-container{padding-block:28px 32px}
.im-contact-page .im-contact-layout{display:grid;grid-template-columns:minmax(0,1.77fr) minmax(0,1fr);gap:24px;align-items:stretch}
.im-contact-page .im-contact-card{min-width:0;padding:26px;border:1px solid #d4cec3;border-radius:2px;background:transparent;box-shadow:none}
.im-contact-page .im-contact-section-title{font-family:"EB Garamond",Georgia,serif;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.15;color:#781b1c}
.im-contact-page .im-contact-section-title:after{width:36px;margin-top:16px;margin-bottom:18px}
.im-contact-page .im-contact-details{display:grid;gap:22px;margin-top:24px}
.im-contact-page .im-contact-detail{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:20px}
.im-contact-page .im-contact-icon{width:34px;line-height:0}
.im-contact-page .im-contact-icon img{display:block;width:100%;height:36px;object-fit:contain}
.im-contact-page .im-contact-detail p{font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.im-contact-page .im-contact-detail a{color:inherit;text-decoration:none}
.im-contact-page .im-contact-detail a:hover{text-decoration:underline;color:#781b1c}
.im-contact-page .im-contact-info-card{display:flex;flex-direction:column}
.im-contact-page .im-contact-hours{border-top:1px solid #bfb5a5;margin-top:34px;padding-top:28px}
.im-contact-page .im-contact-hours .im-contact-section-title:after{display:none}
.im-contact-page .im-contact-hours .im-contact-detail{margin-top:26px;align-items:start}
.im-contact-page .im-contact-motto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:center;border-top:1px solid #bfb5a5;margin-top:34px;padding-top:28px;flex-grow:1}
.im-contact-page .im-contact-motto__branch{max-width:156px;justify-self:center}
.im-contact-page .im-contact-motto__branch img{display:block;width:100%;height:auto}
.im-contact-page .im-contact-motto p{font-family:"EB Garamond",Georgia,serif;color:#8a7c5f;font-size:15px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}
.im-contact-page .im-contact-motto p:after{content:"";display:block;width:40px;height:1px;background:#8a7c5f;margin-top:18px}
.im-contact-page .im-contact-map{margin-top:22px;border:1px solid #d4cec3;border-radius:2px;overflow:hidden;height:clamp(260px,26vw,340px);background:#e9e4dc}
.im-contact-page .im-contact-map iframe{display:block;width:100%;height:100%;border:0}
.im-contact-page .im-contact-map-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}
.im-contact-page .im-contact-action{width:100%;min-width:0}
.im-contact-page .im-contact-action .wp-block-button__link{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;height:100%;min-height:58px;padding:12px;border:1px solid #781b1c;border-radius:2px;background:transparent;color:#781b1c;font:inherit;font-size:15px;line-height:1.4;text-decoration:none}
.im-contact-page .im-contact-action .wp-block-button__link:before{content:"";display:block;flex:none;width:30px;height:30px;background:currentColor;mask:var(--im-action-icon) center/contain no-repeat;-webkit-mask:var(--im-action-icon) center/contain no-repeat}
.im-contact-page .im-contact-action .wp-block-button__link:hover{background:#781b1c;color:white}
.im-contact-page a:focus-visible{outline:2px solid #781b1c;outline-offset:4px}
.im-contact-page .im-contact-action--pin{--im-action-icon:url("data:image/webp;base64,UklGRr4BAABXRUJQVlA4TLIBAAAvHMAIEA7IkSQpkhR36RtnD/55mFXsFxxItk1b771v27Zt27Zt2z+z7dBWZNu2bdubgdtGirx8uPiJfIKAmIYgCdJ4k4F8hLByO76A/7b2pCG6E+XMhy3Fv4z/2Eox6sUegxv53uyIR5clwGJnzCPXM2H+TFPJIWDU5O1YxeXFGsVzH1EZc4P8QINfwZmgUCJdO0LFt5IdXq/GYE+sLXpxrZHQ0hXNXrrhB0TML3H3W4N6vTslO7EDbDYKSjQJZud/vBIqzowuo6+0jRa/6AZBVZkkQv5mgcCnio0OX0iSyAF8JrplO6fEq9qNNoA2CafqnBSXVBJE3ckDxOeKWKl4aAglA21JQqyyN2wren4Jj2Xg1nN/l9kUW84btDWfJIHJU5kiumtXLPlBn8MN6rkEJtWeHcXquzFZSjkEg2V4JqSajr0gWhcwTvA6dIUtxyAHqDjR71XAZXCwrAHmO8nVlFsg5cYl8hULr46w5xqEeda9PuTUG/88CBrcy0kCw5g/FY8ODALz7jglCoBxRHkUKDq2T4qjPyeEnp5D4S7sufHN9PkplebZj+C8EFSKz2cIAQ==")}
.im-contact-page .im-contact-action--waze{--im-action-icon:url("data:image/webp;base64,UklGRnIBAABXRUJQVlA4TGUBAAAvIMAHEA5JbiNJkvRxvr4jMiK7e+bus6qK/YJC27ap7bNt/bZtW822bdtKf7ZtVttOtpX+dhS5bdvQx+75iPkZQ0x3cD5DhDtQlVlmLwmrcmTUmF1Qnmi/YbH0UZwtDByXnDt3+aczh4gqzTcGgEeYOYZdST9jCUKbS/iCyB+5AXzvazWRuRNyoK2xL/4Ld3+6PlACYR6IT9NSjpZAFGfGGeB5YCwOi6s0LorzCPtBYRoOHEdmXoRzBg88AKw3mAELx9OBXTTGevmdqYVVxg98NQv/ojVD4D55i6CUP+G0GzPl23vZ2iahP9a73xZK8eyRUyV6n0NB7eyBtM4hpMnObFSm4zED4zl5dStpFPIDZvlhfEexBB4mgeK6zAi06tMlpw0V3rSoaQSpnGN4uABVSeHEnbbiqhJ1XYrabiGYK7Y7FSqdbVzNHdJmFWy0vNlOPpWRx61P67wKAtvn0dBE/LE+iQEA")}
.im-contact-page .im-contact-action--phone{--im-action-icon:url("data:image/webp;base64,UklGRlwBAABXRUJQVlA4TE8BAAAvHsAHEB65tW2rdtP47P7TFeVbzMoUgTHiiKkDKzV0YIXbzK5ivxQAAED8////////////fxOQVRIx4CWhaN6/OWhLILDONVTPOOF9jiXMKmgUKu8WESQxWEKDnpRHktD16hrqGOplOhE+lTiGXAVMIVIlYzBXzQR6MyU9Bow95xCTfOjbDJZWWkm0ukA6Ck91J+FXDqNy0vUE1mf30Eb9740k7KsD4KC8LKUk8qtyFEq/p+CSqO8lsAmSBBYJ52pKAvTq7+M7QWG0PYG+QG5UdJLI9mBTi7N9yWrrmeICoG2UV5Iw0v9NO6kAYntaofMFvrN+TJLXX+EmCV69VTBffjiu9MyLyEQJzReYRh5pxjxHVPTrAnn49u/hm4MZlPw9z+IUrLqzIvL2BE6nvT8gv4TY8/PXrHKxV5tlnbGXHA3cbXtGO+NR09lhACNrIQA=")}
.im-contact-page .wpcf7 {
	width: 100%;
	margin: 0;
}

.im-contact-page .wpcf7-form {
	width: 100%;
	margin: 0;
}

.im-cf7 {
	display: grid;
	width: 100%;
	gap: 0.95rem;
	margin: 0;
}

.im-cf7 > p:empty,
.im-cf7 > br {
	display: none !important;
}

.im-cf7__field {
	display: grid;
	width: 100%;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
}

.im-cf7__label {
	display: block;
	margin: 0;
	color: var(--im-contact-text);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
}

.im-cf7__label > span {
	color: var(--im-contact-burgundy);
}

.im-cf7__label small {
	display: inline;
	margin-left: 0.25rem;
	color: var(--im-contact-muted);
	font-size: 0.78rem;
	font-weight: 400;
}

.im-contact-page .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	margin: 0;
}

.im-contact-page .wpcf7-form-control:not(
	.wpcf7-submit,
	.wpcf7-acceptance
) {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.78rem 0.9rem;
	border: 1px solid rgba(36, 34, 32, 0.24);
	border-radius: var(--im-contact-radius);
	outline: 0;
	background: #fff;
	color: var(--im-contact-text);
	font: inherit;
	line-height: 1.4;
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease;
}

.im-contact-page input.wpcf7-form-control,
.im-contact-page select.wpcf7-form-control {
	min-height: 3rem;
}

.im-contact-page textarea.wpcf7-form-control {
	min-height: 10rem;
	resize: vertical;
}

.im-contact-page .wpcf7-form-control:not(
	.wpcf7-submit,
	.wpcf7-acceptance
):focus {
	border-color: var(--im-contact-burgundy);
	box-shadow: 0 0 0 3px var(--im-contact-focus);
}

.im-contact-page .wpcf7-not-valid {
	border-color: #a52626 !important;
}

.im-contact-page .wpcf7-not-valid-tip {
	display: block;
	margin: 0.3rem 0 0;
	color: #8b1f20;
	font-size: 0.8rem;
}

/* Consent */

.im-cf7__consent {
	width: 100%;
	margin: 0.15rem 0 0;
}

.im-contact-page .wpcf7-acceptance {
	display: block;
	width: 100%;
}

.im-contact-page .wpcf7-acceptance .wpcf7-list-item {
	display: block;
	margin: 0;
}

.im-contact-page .wpcf7-acceptance label {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 0.7rem;
	margin: 0;
	cursor: pointer;
}

.im-contact-page .wpcf7-acceptance input {
	width: 1.125rem;
	height: 1.125rem;
	margin: 0.15rem 0 0;
	accent-color: var(--im-contact-burgundy);
}

.im-contact-page .wpcf7-acceptance a {
	color: var(--im-contact-burgundy);
	text-underline-offset: 0.18em;
}

/* Full-width submit */

.im-cf7__submit,
.im-cf7__submit > p {
	display: block;
	width: 100%;
	margin: 0;
}

.im-contact-page input.wpcf7-submit {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-height: 3.4rem;
	margin: 0;
	padding: 0.9rem 1.5rem;
	border: 1px solid var(--im-contact-burgundy);
	border-radius: var(--im-contact-radius);
	background: var(--im-contact-burgundy);
	color: #fff;
	font: inherit;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.im-contact-page input.wpcf7-submit:hover {
	border-color: var(--im-contact-burgundy-dark);
	background: var(--im-contact-burgundy-dark);
}

.im-contact-page input.wpcf7-submit:active {
	transform: translateY(1px);
}

.im-contact-page input.wpcf7-submit:focus-visible {
	outline: 3px solid var(--im-contact-focus);
	outline-offset: 3px;
}

.im-contact-page .wpcf7-spinner {
	display: block;
	margin: 0.75rem auto 0;
}

.im-contact-page .wpcf7-response-output {
	margin: 1rem 0 0 !important;
	padding: 0.85rem 1rem !important;
	border-width: 1px !important;
	border-radius: var(--im-contact-radius);
	font-size: 0.9rem;
	line-height: 1.6;
}


/* Compact form sizing from the reference. Works with existing im-cf7 classes. */
.im-contact-page .wpcf7-form p{margin:0 0 14px}
.im-contact-page .wpcf7-form label{font-size:14px;line-height:1.4}
.im-contact-page input.wpcf7-form-control:not(.wpcf7-submit),.im-contact-page select.wpcf7-form-control{min-height:40px;padding:8px 12px}
.im-contact-page textarea.wpcf7-form-control{min-height:130px;height:130px;padding:10px 12px}
.im-contact-page .im-cf7{gap:14px}
.im-contact-page .im-cf7__field{gap:5px}
.im-contact-page input.wpcf7-submit{min-height:54px;font-weight:500}
.im-contact-page .wpcf7-spinner{position:absolute;margin:8px 0 0}
.im-contact-page .wpcf7-response-output{position:relative}
@media(min-width:1400px){.im-contact-page .im-contact-card{padding:30px}.im-contact-page .im-contact-details{gap:26px}}
@media(max-width:1024px){.im-contact-page .im-contact-container,.im-contact-page .im-contact-hero__inner{width:calc(100% - 48px)}.im-contact-page .im-contact-card{padding:22px}.im-contact-page .im-contact-detail{gap:14px;grid-template-columns:32px minmax(0,1fr)}.im-contact-page .im-contact-detail p{font-size:14px}.im-contact-page .im-contact-motto{gap:12px}.im-contact-page .im-contact-motto p{font-size:12px}}
@media(max-width:800px){.im-contact-page .im-contact-layout{grid-template-columns:1fr}.im-contact-page .im-contact-hero__inner{grid-template-columns:1.2fr 1fr;min-height:240px;gap:12px}.im-contact-page .im-contact-hero__art img{height:230px}.im-contact-page .im-contact-hero__text br{display:none}.im-contact-page .im-contact-motto{grid-template-columns:132px minmax(0,1fr);justify-content:start;gap:24px}.im-contact-page .im-contact-motto p{font-size:15px}.im-contact-page .im-contact-detail p{font-size:16px}.im-contact-page .im-contact-map-actions{gap:10px}.im-contact-page .im-contact-action .wp-block-button__link{gap:8px;font-size:13px}}
@media(max-width:540px){.im-contact-page .im-contact-container,.im-contact-page .im-contact-hero__inner{width:calc(100% - 32px)}.im-contact-page .im-contact-hero__inner{display:flex;flex-direction:column;gap:0;align-items:stretch}.im-contact-page .im-contact-hero__content{padding-block:28px 8px}.im-contact-page .im-contact-hero__art img{height:160px;object-position:right center}.im-contact-page .im-contact-container{padding-top:18px}.im-contact-page .im-contact-card{padding:20px}.im-contact-page .im-contact-section-title{font-size:30px}.im-contact-page .im-contact-map-actions{grid-template-columns:1fr}.im-contact-page .im-contact-action .wp-block-button__link{font-size:15px}.im-contact-page .im-contact-motto{grid-template-columns:112px minmax(0,1fr);gap:16px}.im-contact-page .im-contact-motto p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.im-contact-page *{transition:none!important}}

/* Let Gutenberg Group children use the intended page layout. */
.im-contact-page .wp-block-group__inner-container {
	display: contents;
}

.im-contact-page .im-contact-hero__art img {
  display: block;
  max-width: 100%;
  height: auto;
  opacity: 0.55;

  /* Smoothly feather all 4 rectangular borders into full transparency */
  -webkit-mask-image: 
    linear-gradient(to right, transparent 0%, black 25%, black 75%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
  -webkit-mask-composite: source-in;

  mask-image: 
    linear-gradient(to right, transparent 0%, black 25%, black 75%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
  mask-composite: intersect;

  /* Optional: soften the sketch contrast to blend even further */
  mix-blend-mode: multiply;
}