/* A shorter visual opening gets visitors to the full treatment library sooner. */
.crystal-services-hero { box-sizing: border-box; margin-top: 0; padding: calc(var(--crystal-header-height) + 2.25rem) clamp(1.1rem,4vw,2.5rem) 2.5rem; background: #173e51; }
.crystal-services-hero .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(100deg,rgba(10,33,48,.94),rgba(15,47,65,.82) 43%,rgba(16,48,66,.22)) !important; }
.crystal-services-hero .wp-block-cover__image-background { object-position: 73% 40%; }
.crystal-services-hero-inner { width: 100%; max-width: 1240px; margin-inline: auto; }
.crystal-services-hero-copy { max-width: 700px; }
.crystal-services-hero .crystal-eyebrow { color: #c1e4f0; }
.crystal-services-hero .crystal-eyebrow::before { background: #a0d2e4; }
.crystal-services-hero-title { margin: 1rem 0; font-size: clamp(2.7rem,4.5vw,4.35rem); line-height: 1.02; font-weight: 500; letter-spacing: -.05em; color: #fff !important; }
.crystal-services-hero-lead { max-width: 47ch; font-size: 1.03rem; line-height: 1.65; color: #e0edf3; }
.crystal-services-hero .wp-block-buttons { gap: .8rem; margin-top: 1.35rem; }
.crystal-services-hero .wp-block-button__link { min-height: 46px; padding: .8rem 1.15rem; font-size: .95rem; color: #173e51; background: #d4edf7; border: 1px solid #bce0ee; border-radius: .8rem; }
.crystal-services-hero .wp-block-button + .wp-block-button .wp-block-button__link { color: #fff; border-color: #accddc; background: #ffffff0a; }
.crystal-services-hero .wp-block-button__link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.crystal-services-directory { padding-block: 2.5rem 3rem; background: #f1f6f9; }
.crystal-services-directory h2 { margin: 0; font-size: clamp(1.75rem,2.5vw,2.2rem); }
.crystal-directory-intro { margin-top: .5rem; color: #516b78; font-size: .98rem; }
.crystal-service-directory-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.crystal-service-directory-grid > .crystal-service-directory-card { position: relative; min-width: 0; height: auto; margin: 0; padding: 0 0 1rem; border-radius: 1rem; overflow: hidden; box-shadow: 0 4px 16px #163d4c07; transition: box-shadow 160ms ease,transform 160ms ease; }
.crystal-service-directory-grid .crystal-service-image { aspect-ratio: 16 / 8.5; }
.crystal-service-directory-grid .crystal-card > :not(.crystal-service-image) { padding-inline: 1rem; }
.crystal-service-directory-grid .crystal-service-category { margin: .85rem 0 0; color: #4b6b7b; font-size: .69rem; font-weight: 650; letter-spacing: .055em; text-transform: uppercase; }
.crystal-service-directory-grid .crystal-card h3 { margin: .4rem 0 0; font-size: 1.13rem; font-weight: 650; line-height: 1.3; }
.crystal-service-directory-grid .crystal-card h3 a { color: #173e51; text-decoration: none; }
/* One native link per card: a generous click target without duplicate tab stops. */
.crystal-service-directory-grid h3 a::after { content: ''; position: absolute; inset: 0; border-radius: 1rem; }
.crystal-service-directory-grid .crystal-service-summary { margin: .55rem 0 0; font-size: .91rem; line-height: 1.5; color: #466371; }
.crystal-service-directory-grid .crystal-card:focus-within { outline: 3px solid #2b708e; outline-offset: 3px; }
@media (hover:hover) { .crystal-service-directory-grid .crystal-card:hover { transform: translateY(-2px); box-shadow: 0 10px 22px #173e5114; } }
@media (max-width: 1100px) { .crystal-service-directory-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 782px) {
 .crystal-services-hero { min-height: 0 !important; padding-top: calc(var(--crystal-header-height) + 1.75rem); padding-bottom: 2rem; }
 .crystal-services-hero-title { font-size: clamp(2.5rem,8vw,3.7rem); }
 .crystal-services-hero .wp-block-cover__background { background: linear-gradient(110deg,rgba(10,33,48,.95),rgba(15,47,65,.73)) !important; }
 .crystal-services-hero-lead { font-size: 1rem; }
 .crystal-services-hero .wp-block-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
 .crystal-services-hero .wp-block-button__link { display: flex; align-items: center; justify-content: center; height: 100%; padding: .8rem .65rem; font-size: .89rem; line-height: 1.3; }
 .crystal-services-directory { padding-block: 1.8rem 2.25rem; }
 .crystal-service-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
 .crystal-service-directory-grid .crystal-card > :not(.crystal-service-image) { padding-inline: .8rem; }
 .crystal-service-directory-grid .crystal-card h3 { font-size: 1rem; line-height: 1.35; }
 .crystal-service-directory-grid .crystal-service-summary { font-size: .85rem; }
 .crystal-service-directory-grid .crystal-service-category { font-size: .6rem; letter-spacing: .025em; line-height: 1.5; }
}
@media (max-width: 359px) { .crystal-service-directory-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion:reduce) { .crystal-service-directory-grid > .crystal-service-directory-card { transition: none; } }
