/* estate-cards base: shared by all four sites. The site skin follows it. */
.ec-card { cursor: pointer; isolation: isolate; }
.ec-card:not(.ec-pos), .ec-quiet:not(.ec-pos) { position: relative; }
.ec-card .ec-primary { text-decoration: none; }
.ec-card .ec-primary::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ec-card .ec-raise { position: relative; z-index: 2; }
.ec-card .ec-primary:focus-visible { outline: none; }
.ec-card:has(.ec-primary:focus-visible) { outline: 3px solid var(--ec-focus, #0b6c9b); outline-offset: 3px; }
.ec-card:not(.ec-plain)::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s ease; }
.ec-arrow { display: inline-block; margin-left: .4em; opacity: 0; transform: translateX(-.4em); transition: opacity .25s ease, transform .25s ease; }
.ec-card:hover .ec-arrow, .ec-card:focus-within .ec-arrow { opacity: 1; transform: none; }
.ec-arrowhead::after { content: "92"; display: inline-block; margin-left: .4em; color: var(--ec-arrow, currentColor); opacity: 0; transform: translateX(-.4em); transition: opacity .25s ease, transform .25s ease; }
.ec-arrowhead--down::after { content: "93"; }
.ec-card:hover .ec-arrowhead::after, .ec-card:focus-within .ec-arrowhead::after, .ec-card:focus-visible .ec-arrowhead::after { opacity: 1; transform: none; }
.ec-tier-card:focus-visible { outline: 3px solid var(--ec-focus, #0b6c9b); outline-offset: 3px; }
@media (hover: none) { .ec-arrow, .ec-arrowhead::after { opacity: .7; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .ec-card, .ec-card *, .ec-card:not(.ec-plain)::before, .ec-card:not(.ec-plain)::after { transition-duration: .01ms !important; animation: none !important; }
  .ec-card:hover, .ec-card:focus-within { transform: none !important; }
}

/* Quiet boxes: no destination, so no pointer cursor, no arrow, no lift. */
.ec-quiet { isolation: isolate; }
.ec-quiet:not(.ec-plain)::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .35s ease; }
@media (prefers-reduced-motion: reduce) { .ec-quiet, .ec-quiet:not(.ec-plain)::before, .ec-quiet:not(.ec-plain)::after { transition-duration: .01ms !important; } }

/* centerforpsychology.me skin "Signal": the card lifts, the border turns brand blue,
 * a cyan glow follows the cursor and the brand yellow bar wipes along the foot. */
.ec-card { --ec-focus: #00719A; transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease, border-color .25s ease; overflow: hidden; }
.ec-card:not(.ec-plain)::before { background: radial-gradient(420px circle at var(--ec-x, 50%) var(--ec-y, 50%), rgba(0,153,205,.10), transparent 60%); }
.ec-card:not(.ec-plain)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: #F0FF1F; box-shadow: inset 0 -1px 0 rgba(0,113,154,.35); transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.2,.7,.2,1); pointer-events: none; z-index: 3; }
.ec-card:hover, .ec-card:focus-within { transform: translateY(-3px); border-color: #0099CD !important; box-shadow: 0 12px 28px rgba(8,28,38,.12); }
.ec-card:not(.ec-plain):hover::before, .ec-card:not(.ec-plain):focus-within::before { opacity: 1; }
.ec-card:not(.ec-plain):hover::after, .ec-card:not(.ec-plain):focus-within::after { transform: scaleX(1); }
.ec-card:hover :is(h2,h3,h4) , .ec-card:focus-within :is(h2,h3,h4) { color: #00719A; }
.ec-arrow { color: #0099CD; }

/* Quiet: the border turns brand blue and a faint cyan glow follows the cursor; no lift, no bar. */
.ec-quiet { transition: border-color .3s ease, box-shadow .3s ease; }
.ec-quiet:not(.ec-plain)::before { background: radial-gradient(360px circle at var(--ec-x, 50%) var(--ec-y, 50%), rgba(0,153,205,.06), transparent 60%); }
.ec-quiet:hover { border-color: #0099CD !important; box-shadow: 0 4px 14px rgba(8,28,38,.06); }
.ec-quiet:not(.ec-plain):hover::before { opacity: 1; }
