/* Contact-only editorial bands; shared WordPress tokens, no global overrides. */
.senthero-contact-intro {
 padding: clamp(3rem,7vw,6rem) clamp(1.25rem,4vw,3rem) clamp(2.5rem,5vw,4.5rem);
 background: var(--wp--preset--color--ivory); color: var(--wp--preset--color--ink);
}
.senthero-contact-intro .senthero-eyebrow { color: var(--senthero-accent); }
.senthero-contact-title { max-width: 100%; font-size: clamp(2.5rem,5.5vw,5rem); line-height: 1.08; letter-spacing: -.045em; margin-block: 1rem 1.5rem; }
.senthero-contact-intro .wp-block-buttons { margin-top: 2rem; }
.senthero-contact-editorial { padding-block: 0 clamp(3rem,7vw,6rem); }
.senthero-contact-band {
 display: grid; grid-template-columns: minmax(0,3fr) minmax(0,2fr);
 grid-template-areas: 'visual heading' 'visual details' 'visual actions' 'visual map';
 column-gap: clamp(1.5rem,3.5vw,3.5rem); row-gap: 1.4rem;
 padding-block: clamp(2.5rem,5vw,5rem); border-top: 1px solid color-mix(in srgb,var(--senthero-accent) 24%,transparent);
 scroll-margin-top: calc(var(--senthero-header-height,100px) + var(--senthero-sticky-offset,0px) + 1rem);
}
.senthero-contact-band--reverse { grid-template-columns: minmax(0,2fr) minmax(0,3fr); grid-template-areas: 'heading visual' 'details visual' 'actions visual' 'map visual'; }
.senthero-contact-band > * { min-width: 0; margin-block: 0 !important; }
.senthero-contact-heading { grid-area: heading; }
.senthero-contact-heading .senthero-eyebrow { color: var(--senthero-accent); font-size: .68rem; letter-spacing: .12em; margin-bottom: .8rem; }
.senthero-contact-name { font-size: clamp(2rem,3.1vw,3rem); line-height: 1.15; letter-spacing: -.04em; overflow-wrap: normal; margin: 0; }
.senthero-contact-visual { grid-area: visual; position: relative; min-height: 35rem; border-radius: var(--wp--custom--radius--small); overflow: hidden; background: var(--wp--preset--color--surface); }
.senthero-contact-mask { position: absolute; inset: 0; margin: 0 !important; overflow: hidden; }
.senthero-contact-mask .senthero-contact-photo { margin: 0; width: 100%; height: 100%; }
.senthero-contact-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.2,.6,.3,1); }
.senthero-contact-details { grid-area: details; font-size: .9rem; line-height: 1.75; }
.senthero-contact-details p { margin: 0; }
.senthero-contact-address { font-size: 1rem; }
.senthero-contact-phone a { display: inline-flex; align-items: center; min-height: 44px; color: var(--senthero-accent); font-weight: 600; }
.senthero-contact-label { padding-top: .65rem; font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; }
.senthero-contact-hours strong { font-weight: 600; white-space: nowrap; }
.senthero-contact-buttons { grid-area: actions; display: flex; flex-wrap: wrap; gap: .65rem; }
.senthero-contact-buttons > .wp-block-buttons { margin: 0 !important; }
.senthero-contact-buttons .wp-element-button { padding: .85rem 1rem; font-size: .72rem; letter-spacing: .025em; }
.senthero-location-map { grid-area: map; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; height: 250px; padding: 1.5rem; border: 1px solid color-mix(in srgb,var(--senthero-accent) 20%,transparent); border-radius: var(--wp--custom--radius--small); background: var(--wp--preset--color--surface); }
.senthero-map-notice { max-width: 30ch; margin: 0 !important; font-size: .78rem; line-height: 1.6; text-align: center; }
.senthero-location-map .wp-block-buttons { margin: 0 !important; }
.senthero-location-map .wp-element-button { font-size: .7rem; padding: .7rem .9rem; }
.senthero-location-map iframe { display: block; margin: 0 !important; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: inherit; }
.senthero-map-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
 .senthero-contact-visual:hover .senthero-contact-photo img { transform: scale(1.025); }
}
@media (max-width: 900px) {
 .senthero-contact-band, .senthero-contact-band--reverse { grid-template-columns: minmax(0,1fr); grid-template-areas: 'heading' 'visual' 'details' 'actions' 'map'; row-gap: 1.5rem; }
 .senthero-contact-visual { min-height: 0; aspect-ratio: 4 / 3; }
 .senthero-contact-name { font-size: clamp(2rem,7vw,3rem); }
 .senthero-contact-buttons .wp-element-button { min-height: 48px; }
 .senthero-location-map { height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
 .senthero-contact-photo img { transition: none; }
}
/* Keep native Image controls available in the editor canvas. */
.editor-styles-wrapper .senthero-contact-mask .block-editor-block-list__layout { height: 100%; }
