/* Information architecture additions; existing branding, images and CTA colours remain. */
.crystal-structure-page > .wp-block-post-content { margin-top: 0; }
.crystal-structure-section { margin-top: 0; padding: clamp(3rem, 5vw, 5rem) clamp(1.1rem, 4vw, 2.5rem); }
.crystal-structure-inner { max-width: 1240px; margin-inline: auto; }
.crystal-structure-intro { padding-top: calc(var(--crystal-header-height) + 3.5rem); background: linear-gradient(125deg,#f6fbfd,#d9eaf1); }
.crystal-structure-intro h1 { max-width: 22ch; font-size: clamp(2.7rem,5vw,4.7rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 550; }
/* The practice introduction shares the homepage photograph, without its full-screen height. */
.crystal-practice-hero { box-sizing: border-box; margin-top: 0; padding: calc(var(--crystal-header-height) + 2.5rem) clamp(1.1rem,4vw,2.5rem) 3.5rem; background: #102c3b; color: #fff; }
.crystal-practice-hero .wp-block-cover__image-background { object-position: 70% 52%; }
.crystal-practice-hero .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(90deg,rgba(8,31,44,.88),rgba(12,42,57,.76) 45%,rgba(17,49,65,.2)) !important; }
.crystal-practice-hero .crystal-structure-inner { width: 100%; max-width: 1240px; margin-inline: auto; }
.crystal-practice-hero h1 { max-width: 18ch; margin-block: 1rem 1.25rem; font-size: clamp(2.7rem,5vw,4.7rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 550; color: #fff !important; }
.crystal-practice-hero .crystal-structure-lead { max-width: 57ch; color: #edf6fa; }
.crystal-practice-hero .crystal-eyebrow,
.crystal-practice-hero .crystal-breadcrumb a { color: #ceeaf4; }
.crystal-practice-hero .crystal-breadcrumb { margin-top: 0; }
.crystal-practice-hero .crystal-breadcrumb a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.crystal-emergency-service-hero .wp-block-cover__image-background { object-position: center 56%; }
.crystal-emergency-service-hero .wp-block-cover__background { background: linear-gradient(92deg,rgba(7,29,40,.94) 0%,rgba(10,38,50,.84) 43%,rgba(13,45,59,.38) 72%,rgba(13,45,59,.18) 100%) !important; }
.crystal-emergency-contact { padding-top: clamp(2rem,4vw,3rem); padding-bottom: 1rem; }
.crystal-emergency-contact .crystal-structure-inner { padding: clamp(1.5rem,3vw,2.5rem); box-sizing: border-box; border: 1px solid #cadde5; border-radius: 1.4rem; background: linear-gradient(130deg,#edf7fa,#dcecf2); box-shadow: 0 14px 36px rgba(14,48,62,.08); }
.crystal-emergency-contact-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(18rem,.65fr); gap: clamp(1.5rem,4vw,3.5rem); align-items: center; }
.crystal-emergency-contact-copy h2 { margin-block: .65rem 1rem; }
.crystal-emergency-contact-copy > :last-child { max-width: 45rem; }
.crystal-emergency-contact-actions { margin: 0; padding: 1.25rem; border-radius: 1rem; background: #fff; box-shadow: 0 8px 24px rgba(14,48,62,.08); }
.crystal-emergency-contact-actions .crystal-office-actions { display: grid; grid-template-columns: 1fr; gap: .7rem; margin-top: 0; }
.crystal-emergency-contact-actions .wp-block-button,
.crystal-emergency-contact-actions .wp-block-button__link { width: 100%; }
.crystal-emergency-call-note { margin: 1rem 0 0; color: #435f6b; font-size: .88rem; line-height: 1.55; }
.crystal-emergency-guidance { padding-top: 1rem; padding-bottom: clamp(2.25rem,4vw,3.75rem); }
.crystal-emergency-guidance-grid { display: grid; grid-template-columns: minmax(18rem,.9fr) minmax(0,1.1fr); gap: clamp(2rem,5vw,4.5rem); align-items: center; }
.crystal-emergency-feature-image { margin: 0; overflow: hidden; border-radius: 1.25rem; box-shadow: 0 16px 42px rgba(14,48,62,.12); }
.crystal-emergency-feature-image img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.crystal-emergency-guidance-copy h2 { margin-block: .75rem 1.2rem; }
.crystal-emergency-safety-note { margin-top: 1.5rem; padding: 1.15rem 1.25rem; border-left: 4px solid #2f798e; border-radius: 0 .8rem .8rem 0; background: #e8f2f5; }
.crystal-emergency-safety-note h3,
.crystal-emergency-safety-note p { margin-block: 0; }
.crystal-emergency-safety-note p { margin-top: .45rem; font-size: .94rem; }
.crystal-emergency-first { background: linear-gradient(135deg,#173f50,#245f74); color: #e4f0f4; }
.crystal-emergency-first h2 { color: #fff; }
.crystal-structure-section.crystal-emergency-first .crystal-eyebrow { color: #c2e7f2; }
.crystal-structure-section.crystal-emergency-first .crystal-eyebrow::before { background: #8bc8dc; }
.crystal-emergency-first-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(17rem,.6fr); gap: clamp(1.5rem,4vw,3.5rem); align-items: center; }
.crystal-emergency-first-grid .wp-block-buttons { justify-content: flex-end; }
.crystal-emergency-first-grid .wp-block-button__link { background: #f5fbfd; color: #143b4b; }
.crystal-emergency-faq .crystal-structure-inner { max-width: 900px; }
.crystal-emergency-faq .crystal-faq-item { max-width: none; }
.crystal-emergency-resource-note { margin-top: 1.5rem; color: #4b6874; font-size: .9rem; }
.crystal-first-visit-plan { padding-block: clamp(2.25rem,4vw,3.5rem); background: #fff; }
.crystal-first-visit-plan h2 { margin-bottom: 0; }
.crystal-first-visit-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,2vw,1.5rem); margin-top: 1.5rem; }
.crystal-first-visit-step { display: grid; grid-template-columns: 1.8rem minmax(0,1fr) 3.5rem; align-items: center; align-content: start; gap: .85rem .6rem; min-width: 0; margin: 0; padding: clamp(1.1rem,1.6vw,1.4rem); border: 1px solid #d2e1e7; border-radius: 1rem; background: #f8fbfc; }
/* Number on the left, title in the middle, decorative illustration on the right. */
.crystal-first-visit-step::before { content: ""; grid-column: 3; grid-row: 1; width: 3.5rem; height: 3.5rem; background: var(--crystal-first-visit-art) center / contain no-repeat; pointer-events: none; }
.crystal-first-visit-step:nth-child(1) { --crystal-first-visit-art: url('../images/first-visit-calendar.svg'); }
.crystal-first-visit-step:nth-child(2) { --crystal-first-visit-art: url('../images/first-visit-essentials.svg'); }
.crystal-first-visit-step:nth-child(3) { --crystal-first-visit-art: url('../images/first-visit-records.svg'); }
.crystal-first-visit-plan .crystal-first-visit-step h2 { grid-column: 2; grid-row: 1; min-width: 0; margin: 0; font-size: clamp(1.25rem,1.6vw,1.45rem); line-height: 1.2; letter-spacing: -.025em; }
.crystal-first-visit-step > :last-child { grid-column: 1 / -1; grid-row: 2; margin: 0; color: #465f6a; font-size: .96rem; line-height: 1.65; }
.crystal-first-visit-step > .crystal-first-visit-number { grid-column: 1; grid-row: 1; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; margin: 0; border-radius: 999px; background: #245f74; color: #fff; font-size: .68rem; font-weight: 750; letter-spacing: .04em; }
@supports (grid-template-rows: subgrid) {
 .crystal-first-visit-steps { row-gap: .85rem; }
 .crystal-first-visit-step { grid-row: span 2; grid-template-rows: subgrid; }
}
@media (max-width: 900px) {
 .crystal-first-visit-steps { grid-template-columns: 1fr; gap: .85rem; }
}
.crystal-payment-policy { padding-block: clamp(2.5rem,4vw,4rem); background: linear-gradient(145deg,#f7fbfc,#eaf3f6); }
.crystal-payment-grid { margin-top: 1.5rem; }
.crystal-payment-grid .crystal-card { padding: clamp(1.25rem,2vw,1.7rem); border: 1px solid #d0e0e6; border-radius: 1rem; background: #fff; box-shadow: 0 10px 28px rgba(20,57,72,.06); }
.crystal-payment-grid .crystal-card h3 { margin-top: 0; }
.crystal-payment-grid .crystal-card > :last-child { margin-bottom: 0; }
/* Insurance: a welcoming image, then a clear visual path through billing. */
.crystal-cdcp-callout.crystal-cdcp-visual { grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); align-items: stretch; gap: 0; padding: 0; overflow: hidden; }
.crystal-cdcp-visual .crystal-cdcp-copy { padding: clamp(1.5rem,3.4vw,2.75rem); max-width: none; }
.crystal-cdcp-visual .crystal-cdcp-actions { max-width: none; margin-top: 1.4rem; }
.crystal-cdcp-visual .crystal-cdcp-actions .wp-block-buttons { display: block; }
.crystal-cdcp-visual .crystal-cdcp-actions .wp-block-button { width: 100%; }
.crystal-cdcp-visual .crystal-cdcp-actions .wp-block-button__link { display: block; box-sizing: border-box; width: 100%; padding: 1.1rem 1.5rem; font-size: clamp(1.1rem,1.6vw,1.25rem); font-weight: 700; line-height: 1.3; text-align: center; }
.crystal-cdcp-visual .crystal-cdcp-actions > p { margin-block: .75rem 0; }
.crystal-cdcp-visual .crystal-cdcp-photo { position: relative; min-width: 0; min-height: 20rem; margin: 0; }
.crystal-cdcp-visual .crystal-cdcp-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.crystal-insurance-visual .crystal-insurance-panel { margin-top: clamp(1.5rem,3vw,2.5rem); }
.crystal-insurance-visual .crystal-insurance-panel > .wp-block-columns { max-width: none; gap: clamp(2rem,4vw,4rem); }
.crystal-insurance-visual .crystal-insurance-panel .crystal-section-heading { max-width: 14ch; font-size: clamp(2.3rem,3.8vw,3.25rem) !important; line-height: 1.08; }
.crystal-insurance-visual .crystal-insurance-panel .wp-block-column:last-child { counter-reset: billing-step; }
.crystal-insurance-visual .crystal-insurance-point { position: relative; padding: 1.1rem 1.1rem 1.1rem 4rem; border: 1px solid #cddfe6; border-radius: .85rem; background: rgba(255,255,255,.8); }
.crystal-insurance-visual .crystal-insurance-point + .crystal-insurance-point { margin-top: .75rem; }
.crystal-insurance-visual .crystal-insurance-point::before { counter-increment: billing-step; content: counter(billing-step,decimal-leading-zero); position: absolute; top: 1.1rem; left: 1rem; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #245f74; color: #fff; font-size: .75rem; font-weight: 700; }
.crystal-insurance-visual .crystal-insurance-point h3 { margin-block: 0 .45rem; }
.crystal-insurance-visual .crystal-insurance-point p { margin: 0; font-size: .95rem; line-height: 1.6; }
.crystal-payment-grid .crystal-card::before { content: ""; display: block; width: 7rem; height: 4.3rem; margin-bottom: .7rem; background: var(--crystal-payment-art) left center / contain no-repeat; }
.crystal-payment-grid .crystal-card:nth-child(1) { --crystal-payment-art: url('../images/payment-estimate.svg'); }
.crystal-payment-grid .crystal-card:nth-child(2) { --crystal-payment-art: url('../images/payment-balance.svg'); }
.crystal-payment-grid .crystal-card:nth-child(3) { --crystal-payment-art: url('../images/payment-methods.svg'); }
.crystal-practice-hero.crystal-insurance-hero:has(+ #insurance) { min-height: clamp(28rem,40vw,34rem) !important; }
.crystal-insurance-hero .wp-block-cover__image-background { object-position: 68% top; }
.crystal-insurance-hero .wp-block-cover__background { background: linear-gradient(90deg,rgba(8,31,44,.86),rgba(12,42,57,.72) 42%,rgba(17,49,65,.12) 78%) !important; }
@media (min-width: 783px) and (max-width: 1000px) {
 .crystal-cdcp-callout.crystal-cdcp-visual { grid-template-columns: 1fr; }
 .crystal-cdcp-visual .crystal-cdcp-photo { min-height: 0; aspect-ratio: 3/2; }
}
@media (max-width: 782px) {
 .crystal-insurance-hero .wp-block-cover__image-background { object-position: 74% center; }
 .crystal-insurance-hero .wp-block-cover__background { background: linear-gradient(115deg,rgba(8,31,44,.86),rgba(12,42,57,.64)) !important; }
 .crystal-cdcp-callout.crystal-cdcp-visual { grid-template-columns: 1fr; }
 .crystal-cdcp-visual .crystal-cdcp-photo { min-height: 0; aspect-ratio: 3/2; }
 .crystal-insurance-visual .crystal-insurance-panel { padding: 1.35rem !important; }
 .crystal-insurance-visual .crystal-insurance-panel > .wp-block-columns { gap: 1.5rem; }
 .crystal-payment-grid { grid-template-columns: 1fr; gap: .9rem; }
 .crystal-payment-grid .crystal-card::before { width: 6rem; height: 3.7rem; }
}
/* Bring the next section closer without changing the homepage's spacing. */
.crystal-practice-hero + .crystal-team-section,
.crystal-practice-hero + #insurance { margin-block-start: 0; padding-top: clamp(1.5rem,3vw,2.5rem); }
.crystal-practice-hero:has(+ .crystal-team-section),
.crystal-practice-hero:has(+ #insurance) { min-height: 0 !important; padding-bottom: 2rem; }
.crystal-practice-hero .crystal-breadcrumb { color: #ceeaf4; }
@media (max-width: 700px) {
 .crystal-practice-hero { min-height: 0 !important; padding-top: calc(var(--crystal-header-height) + 1.8rem); padding-bottom: 2.5rem; }
 .crystal-practice-hero .wp-block-cover__background { background: linear-gradient(120deg,rgba(8,31,44,.9),rgba(12,42,57,.72)) !important; }
 .crystal-practice-hero h1 { font-size: clamp(2.5rem,10vw,3.7rem); }
 .crystal-emergency-service-hero .wp-block-cover__image-background { object-position: 72% center; }
 .crystal-emergency-service-hero .wp-block-cover__background { background: linear-gradient(115deg,rgba(8,31,44,.90),rgba(12,42,57,.74)) !important; }
 .crystal-emergency-contact-grid,
 .crystal-emergency-guidance-grid,
 .crystal-emergency-first-grid { grid-template-columns: 1fr; }
 .crystal-emergency-contact-actions { padding: 1rem; }
 .crystal-emergency-first-grid .wp-block-buttons { justify-content: stretch; }
 .crystal-emergency-first-grid .wp-block-button,
 .crystal-emergency-first-grid .wp-block-button__link { width: 100%; }
}
.crystal-structure-section h2 { font-size: clamp(1.9rem,3vw,2.8rem); font-weight: 550; letter-spacing: -.035em; line-height: 1.18; }
.crystal-structure-section h3 { font-size: 1.25rem; font-weight: 650; }
.crystal-structure-section h2 a, .crystal-structure-section h3 a { color: inherit; }
.crystal-structure-section a:hover { text-decoration: underline; text-underline-offset: .2em; }
.crystal-structure-section .crystal-eyebrow { color: #356275; }
.crystal-structure-section .crystal-eyebrow::before { background: #669aad; }
.crystal-structure-lead { max-width: 46rem; font-size: 1.1rem; color: #425f6b; }
.crystal-breadcrumb { font-size: .85rem; margin-bottom: 2rem; color: #526a70; }
.crystal-structure-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin-top: 2rem; }
.crystal-structure-two-up { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.crystal-structure-grid > *, .crystal-structure-two-up > * { margin-block: 0; }
.crystal-structure-grid .crystal-card { display: flex; flex-direction: column; min-width: 0; }
.crystal-structure-card-link { margin-top: auto; padding-top: 1rem; font-size: .9rem; font-weight: 650; }
.crystal-structure-grid .crystal-service-image { margin: 0; }
.crystal-structure-grid.crystal-card-grid .crystal-card h3 { font-weight: 550; }
.crystal-structure-tint { background: #edf4f7; }
.crystal-structure-compact { padding-block: 2rem; }
.crystal-structure-compact .crystal-card h3 { font-size: 1.8rem; }
.crystal-structure-feature { max-width: 680px; margin: 0 0 2rem; }
.crystal-structure-feature img { width: 100%; border-radius: 1.25rem; aspect-ratio: 16/9; object-fit: cover; }
.crystal-editorial-note { margin-block: 1.5rem; padding: 1.1rem 1.3rem; border: 1px dashed #8ba7b3; border-radius: .8rem; background: #f3f7f9; color: #526974; font-size: .86rem; }
.crystal-editorial-note p { margin: 0; }
.crystal-office-photo-placeholder { display: grid; place-items: center; min-height: 190px; padding: 1.5rem; box-sizing: border-box; border: 1px dashed #97b0bb; border-radius: 1rem; background: #e9f0f4; color: #46616e; text-align: center; }
.crystal-office-photo-placeholder p { max-width: 26ch; margin: 0; }
.crystal-structure-cta { background: linear-gradient(130deg,#143343,#245e77); color: #e2eff4; text-align: center; }
.crystal-structure-cta h2 { color: #fff; }
.crystal-structure-cta .crystal-eyebrow { color: #b5deed; justify-content: center; }
.crystal-structure-cta .wp-block-buttons { justify-content: center; }
.crystal-structure-cta .wp-block-button__link { background: var(--crystal-cta-gradient); color: #123440; }
.crystal-structure-contact + .crystal-structure-contact { background: #edf4f7; }
.crystal-structure-section .crystal-faq-item { max-width: 850px; }
.crystal-emergency-heading a { color: inherit; }
.crystal-emergency-heading a:hover { text-decoration: underline; text-underline-offset: .12em; }

/* Home previews use one consistent CSS-owned grid. */
.crystal-home-section-heading { max-width: 780px; margin-bottom: 2rem; }
.crystal-home-section-heading h2 { max-width: 24ch; }
.crystal-home-team .crystal-doctor-grid { grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; }
.crystal-home-team .crystal-doctor-card { min-width: 0; margin-block: 0; }
.crystal-home-team .crystal-doctor-photo a { display: block; height: 100%; transform-origin: center; transition: transform 220ms ease, filter 220ms ease; }
.crystal-home-team .crystal-doctor-photo a:focus-visible { outline: 3px solid #287699; outline-offset: 4px; border-radius: inherit; }
#services .crystal-service-image a { display: block; height: 100%; transform-origin: center; transition: transform 220ms ease, filter 220ms ease; }
#services .crystal-service-image a:focus-visible { outline: 3px solid #287699; outline-offset: -4px; }
@media (hover: hover) {
 .crystal-home-team .crystal-doctor-photo a:hover,
 #services .crystal-service-image a:hover { transform: scale(1.032); filter: brightness(1.02); }
}
.crystal-home-team .crystal-doctor-copy { padding: 1.25rem; }
.crystal-home-team .crystal-doctor-copy h3 { font-size: 1.12rem !important; line-height: 1.35; min-height: 0; margin: 0 0 .35rem; overflow-wrap: anywhere; }
.crystal-home-team .crystal-doctor-role { margin: 0; font-size: .68rem; letter-spacing: .055em; line-height: 1.55; }
.crystal-home-team .crystal-doctor-copy { display: flex; flex-direction: column; gap: 0; }
.crystal-home-team-link { margin-top: 2rem; }
.crystal-home-team-link .wp-block-buttons { justify-content: center; }
.crystal-team-section:not(.crystal-home-team) .crystal-doctor-grid { align-items: stretch; }
.crystal-team-section:not(.crystal-home-team) .crystal-doctor-card { display: flex; flex-direction: column; }
.crystal-team-section:not(.crystal-home-team) .crystal-doctor-copy { display: flex; flex: 1; flex-direction: column; }
.crystal-team-section:not(.crystal-home-team) .crystal-doctor-teaser { margin-top: .8rem; color: #466471; font-size: .94rem; line-height: 1.55; }
.crystal-team-section:not(.crystal-home-team) .crystal-doctor-more { margin-top: auto; padding-top: .8rem; border-top: 1px solid #d9e7eb; }
.crystal-doctor-more summary { color: #13586d; font-weight: 650; cursor: pointer; }
.crystal-doctor-more summary:hover, .crystal-doctor-more summary:focus-visible { color: #0b3546; text-decoration: underline; text-underline-offset: .2em; }
.crystal-doctor-more[open] summary { margin-bottom: .85rem; }
.crystal-doctor-more p { font-size: .92rem; line-height: 1.6; }
.crystal-faq-topics { align-items: start; gap: 2.5rem; margin-top: 2rem; }
.crystal-faq-topic h3 { margin-top: 0; margin-bottom: 1rem; color: #234f63; }
.crystal-faq-topic .crystal-faq-item { margin-top: .7rem; }
.crystal-faq-topic .crystal-faq-item summary { padding-right: 3.5rem; font-size: 1rem; line-height: 1.5; }

/* Dedicated contact information with equal, readable office cards. */
.crystal-contact-grid { align-items: start; }
.crystal-contact-office { min-width: 0; margin: 0; padding: clamp(1.2rem,3vw,2.2rem); background: #fff; border: 1px solid #dce7ec; border-radius: 1.4rem; }
.crystal-contact-office h2 { margin-top: .6rem; }
.crystal-contact-office-photo { margin: 0 0 1.5rem; }
.crystal-contact-office-photo img { display: block; width: 100%; height: auto; border-radius: .85rem; }
.crystal-contact-address { font-size: 1.1rem; line-height: 1.65; }
.crystal-contact-phone { margin-top: 1.35rem; font-size: clamp(1.6rem,2.5vw,2.1rem); font-weight: 650; letter-spacing: -.03em; }
.crystal-contact-phone a, .crystal-contact-email a { color: #20576b; }
.crystal-contact-email { margin-top: .4rem; overflow-wrap: anywhere; }
.crystal-contact-office > h3 { margin-top: 2.3rem; }
.crystal-contact-hours { margin: .8rem 0; }
.crystal-contact-hours td { padding: .6rem 0; border: 0; border-bottom: 1px solid #e4ecef; font-size: .98rem; }
.crystal-contact-hours td:last-child { text-align: right; color: #385c6b; }
.crystal-contact-note { font-size: .88rem; color: #4a6876; line-height: 1.6; }
.wp-block-buttons + .crystal-contact-note { margin-top: 1rem; }
.crystal-contact-map { margin-block: 1.5rem; border-radius: .85rem; overflow: hidden; background: #e6eff3; }
.crystal-contact-map iframe { display: block; width: 100%; height: 260px; border: 0; }
.crystal-contact-office-link { font-size: .9rem; }
.crystal-contact-location-actions .crystal-office-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.45fr); gap: .75rem; align-items: stretch; }
.crystal-contact-location-actions .wp-block-button { display: flex; margin: 0; min-width: 0; }
.crystal-contact-location-actions .wp-block-button__link { display: flex; align-items: center; justify-content: center; width: 100%; padding: .85rem .7rem; font-size: .95rem; text-align: center; text-wrap: balance; }
.crystal-patient-faq .crystal-structure-inner { max-width: 900px; }
.crystal-patient-faq .crystal-faq-item { max-width: none; }

/* A photographic contact opening, with the office choices in the first screen. */
.crystal-contact-hero { box-sizing: border-box; min-height: 640px; margin-top: 0; padding: calc(var(--crystal-header-height) + 2.7rem) clamp(1.1rem,4vw,2.5rem) 3.5rem; background: #102c3b; }
.crystal-contact-hero .wp-block-cover__image-background { object-position: 70% 52%; }
.crystal-contact-hero .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(90deg,rgba(8,31,44,.92) 0%,rgba(12,42,57,.84) 40%,rgba(17,49,65,.26) 100%) !important; }
.crystal-contact-hero-inner { width: 100%; max-width: 1240px; margin-inline: auto; }
.crystal-contact-hero-copy { max-width: 650px; }
.crystal-contact-hero .crystal-eyebrow { color: #c8e9f3; }
.crystal-contact-hero .crystal-eyebrow::before { background: #94cee0; }
.crystal-contact-hero-title { margin: 1.2rem 0; color: #fff !important; font-size: clamp(2.8rem,5.4vw,4.9rem); font-weight: 500; line-height: 1.04; letter-spacing: -.055em; }
.crystal-contact-hero-lead { max-width: 42ch; color: #dfedf3; font-size: 1.1rem; line-height: 1.65; }
.crystal-contact-chooser { max-width: 560px; margin-top: 1.7rem; }
.crystal-contact-chooser-label { margin: 0 0 .8rem; color: #d8edf5; font-size: .82rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.crystal-contact-chooser .wp-block-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.crystal-contact-shortcut, .crystal-contact-shortcut .wp-block-button__link { width: 100%; }
.crystal-contact-shortcut .wp-block-button__link { display: block; min-height: 90px; box-sizing: border-box; padding: 1.05rem 1.25rem; border: 1px solid #b6e0ef; border-radius: .95rem; background: var(--crystal-cta-gradient); color: #143c50; font-size: .94rem; font-weight: 450; line-height: 1.45; text-align: left; text-decoration: none; box-shadow: inset 0 1px 0 #ffffffbb,0 8px 24px #061c2933; transition: transform 160ms ease,box-shadow 160ms ease; }
.crystal-contact-shortcut strong { font-size: 1.28rem; font-weight: 700; letter-spacing: -.02em; }
.crystal-contact-shortcut .wp-block-button__link:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.crystal-contact-hero-note { margin-top: 1rem; color: #c7dde7; font-size: .83rem; }
@media (hover:hover) {
 .crystal-contact-shortcut .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 #fff,0 12px 28px #061c2944; }
}

/* Desktop keeps two small dropdowns. Services is a single page link. */
@media (min-width: 783px) {
 .crystal-site-header .wp-block-navigation__container { flex-wrap: nowrap !important; gap: .55rem !important; }
 .crystal-site-header .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before { margin-right: .55rem; }
 .crystal-site-header .wp-block-navigation-item__content { white-space: nowrap; }
 .crystal-site-header .crystal-header-actions { gap: 1.1rem; }
 .crystal-site-header li.crystal-patients-nav > .wp-block-navigation__submenu-container { min-width: 13rem; padding: .45rem; border: 1px solid #d4e2e8; border-radius: .85rem; background: #fff; color: #173b49; box-shadow: 0 14px 36px #0e2b3229; }
 .crystal-site-header li.crystal-patients-nav > .wp-block-navigation__submenu-container a { display: flex; align-items: center; min-height: 44px; padding: .65rem .8rem; font-size: .85rem; line-height: 1.35; border-radius: .45rem; }
 .crystal-site-header li.crystal-patients-nav > .wp-block-navigation__submenu-container a:hover { background: #e9f5f7; }
}
/* Keep the full brand and booking action visible on smaller desktops/tablets. */
@media (min-width: 783px) and (max-width: 1200px) {
 .crystal-site-header .crystal-header-inner { flex-wrap: wrap !important; gap: .55rem; }
 .crystal-site-header .crystal-header-actions { display: contents; }
 .crystal-site-header .crystal-header-brand { order: 0; }
 .crystal-site-header .crystal-header-booking { display: flex !important; order: 1; margin-left: auto; }
 .crystal-site-header .wp-block-navigation { order: 2; flex-basis: 100%; margin: 0; }
 .crystal-site-header .wp-block-navigation__container { justify-content: center; width: 100%; gap: .6rem !important; }
 .crystal-site-header .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before { margin-right: .6rem; }
}
@media (max-width: 1050px) {
 .crystal-home-team .crystal-doctor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .crystal-home-team .crystal-doctor-photo { aspect-ratio: 1 / 1.1; }
}
@media (max-width: 900px) {
 .crystal-structure-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 782px) {
 .crystal-structure-two-up { grid-template-columns: 1fr; }
 .crystal-structure-intro { padding-top: calc(var(--crystal-header-height) + 2rem); }
 /* Services is one destination; both office links are always visible under Locations. */
 .crystal-site-header .wp-block-navigation__responsive-container.is-menu-open li:not(.crystal-location-nav) > .wp-block-navigation__submenu-container,
 .crystal-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
 .crystal-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu { padding-bottom: 0; }
 .crystal-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { min-height: 48px; display: flex; align-items: center; justify-content: center; }
 .crystal-site-header .wp-block-navigation__responsive-dialog { padding-bottom: 2.25rem; }
 .crystal-site-header .wp-block-navigation__responsive-container-content { max-height: calc(100dvh - var(--crystal-header-height) - var(--crystal-mobile-admin-offset,0px) - 3rem); }
 .crystal-site-header .wp-block-navigation__responsive-container.is-menu-open .crystal-mobile-nav-book { margin-top: 1.2rem; }
 .crystal-contact-grid { gap: 1.5rem; }
 .crystal-site-header .wp-block-navigation__responsive-container.is-menu-open .crystal-location-nav > .wp-block-navigation__submenu-container { display: flex !important; margin-bottom: .65rem; }
 .crystal-contact-hero { min-height: 0 !important; padding-top: calc(var(--crystal-header-height) + 2.4rem); padding-bottom: 2.75rem; }
 .crystal-contact-hero .wp-block-cover__background { background: linear-gradient(120deg,rgba(8,31,44,.94),rgba(12,42,57,.78)) !important; }
 .crystal-contact-hero-title { font-size: clamp(2.75rem,10vw,4rem); }
 .crystal-contact-hero-lead { font-size: 1rem; }
 .crystal-contact-chooser .wp-block-buttons { gap: .75rem; }
 .crystal-contact-shortcut .wp-block-button__link { min-height: 86px; padding: 1rem; }
}
@media (max-width: 600px) {
 .crystal-structure-grid, .crystal-home-team .crystal-doctor-grid { grid-template-columns: 1fr; }
 .crystal-home-team .crystal-doctor-grid { max-width: 350px !important; margin-inline: auto !important; }
 .crystal-home-team .crystal-doctor-copy h3 { min-height: 0; }
 .crystal-structure-section .wp-block-buttons .wp-block-button,
 .crystal-structure-section .wp-block-buttons .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
 .crystal-contact-shortcut .wp-block-button__link { transition: none; }
}
