/* 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; } }

/* adriamont.institute skin "Sheet": the card rises like a sheet lifted off the desk,
 * with a paper shadow, and the coral band grows down its left edge (the running-head rule). */
.ec-card { --ec-focus: #c24a24; transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease; overflow: hidden; }
.ec-card:not(.ec-plain)::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #f2683c; transform: scaleY(0); transform-origin: top; transition: transform .4s cubic-bezier(.2,.7,.2,1); pointer-events: none; z-index: 3; }
.ec-card:hover, .ec-card:focus-within { transform: translateY(-2px) rotate(-.15deg); border-color: #ead9c4 !important; box-shadow: 0 1px 0 #ead9c4, 0 14px 30px -12px rgba(42,36,30,.28); }
.ec-card:not(.ec-plain):hover::after, .ec-card:not(.ec-plain):focus-within::after { transform: scaleY(1); }
.ec-arrow { color: #c24a24; }
.ec-card { --ec-arrow: #c24a24; }

/* Quiet: a thin coral band grows down the left edge; no lift, no shadow. */
.ec-quiet { overflow: hidden; }
.ec-quiet:not(.ec-plain)::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: #f2683c; transform: scaleY(0); transform-origin: top; transition: transform .45s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
.ec-quiet:not(.ec-plain):hover::after { transform: scaleY(1); }
