/* Shared EA photo flow. Masks affect photographs, never original information. */
.ea-site {--photo-feather:clamp(72px,10vw,144px)}
.flow-photo-surface {position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to bottom,transparent,#000 var(--photo-feather),#000 calc(100% - var(--photo-feather)),transparent)} /* taste-skill-ignore: neutral image-edge alpha mask. */
.ea-site .flow-photo-surface>img {position:absolute;inset:0;width:100%;height:100%;max-height:none;margin:0;object-fit:cover;object-position:50% 38%;z-index:0;animation:none}
.ea-site .unified-hero>.flow-photo-surface,.ea-site .service-photo-hero>.flow-photo-surface {mask-image:linear-gradient(to bottom,#000 68%,transparent 100%)} /* taste-skill-ignore: cover photographs fade into the page. */
.ea-site .unified-hero .flow-photo-surface>img {object-position:50% 45%}
.ea-site .service-photo-hero .flow-photo-surface>img {object-position:50% 64%}
.ea-site .embedded-scene {background:var(--ink)}
.ea-site .photo-story+.photo-story {margin-top:-28px}
.ea-site .photo-story:not(.service-photo-hero) .photo-inner {padding-block:72px}
.ea-site .work-photo {background:var(--ink)}
.ea-site .work-photo img {mask-image:linear-gradient(to bottom,transparent,#000 48px,#000 calc(100% - 72px),transparent)} /* taste-skill-ignore: neutral edge fade on curated photographs only. */
.ea-site .work-photo figcaption {background:linear-gradient(to bottom,transparent,var(--ink))} /* taste-skill-ignore: neutral caption contrast. */
.ea-site :is(.package-image,.story-package,.directory-photo) {background:var(--ink)}
.ea-site :is(.package-image,.story-package-visual,.directory-photo) img {mask-image:linear-gradient(to bottom,#000 62%,transparent)} /* taste-skill-ignore: photograph blends into its existing title and package information. */
.ea-site .package-image:after,.ea-site .directory-photo:after,.ea-site .story-package-visual:after {background:linear-gradient(to bottom,transparent 20%,var(--ink))} /* taste-skill-ignore: photo/title contrast, not a hover background. */
.ea-site .package-portfolio figure {background:transparent}
/* Full-size package photographs and technical diagrams are left uncropped and
   unmasked. Only the cover and presentation photographs receive the edge fade. */

/* Words-only feedback throughout: no animated panels or hover rectangles. */
.ea-site :is(a,button,summary) {transition:color 180ms ease;text-underline-offset:6px}
.ea-site :is(.collection-groups a,.notes-list>a,.part-services a,.drawer-nav a,.visit-direct a,.service-row,.brand-directory>a,.journal-item,.resource-grid a,.reading-nav a,.footer-links a,.breadcrumbs a,.hero-photo-caption):is(:hover,:focus-visible,:active) {color:var(--gold);text-shadow:none}
.ea-site :is(.collection-groups a,.notes-list>a,.part-services a,.service-row,.brand-directory>a,.journal-item,.resource-grid a,.footer-links a):is(:hover,:focus-visible,:active) :is(h2,h3,span) {color:var(--gold);transform:none}
.ea-site :is(.category-nav a,.related a,.contact-methods a):is(:hover,:focus-visible,:active) {background:var(--surface);color:var(--gold)}
.ea-site .contact-methods a:is(:hover,:focus-visible,:active) strong {color:var(--gold)}
.ea-site :is(.faq summary,.story-faq summary,.package-portfolio summary):is(:hover,:focus-visible,:active) {color:var(--gold)}
.ea-site .package-portfolio summary {background:transparent;padding-inline:0}
.ea-site .package-portfolio[open]>summary {color:var(--gold)}
.ea-site .category-nav a {background:transparent}
.ea-site .category-nav a:is(:hover,:focus-visible,:active) {background:transparent}
.ea-site :is(.text-link,.light .text-link) {color:var(--ivory);text-decoration:none}
.ea-site :is(.text-link,.light .text-link):is(:hover,:focus-visible,:active) {color:var(--gold)}
.ea-site .text-link:is(:hover,:focus-visible) span,.ea-site .collection-groups a:hover span {transform:none}
.ea-site :is(.package-card,.story-package-visual,.directory-photo):is(:hover,:focus-visible,:active) h3 {color:var(--gold)}
.ea-site .package-card:is(:hover,:focus-visible,:active) .text-link {color:var(--gold)}
.ea-site .work-photo:has(a:is(:hover,:focus-visible,:active)) figcaption span {color:var(--gold)}
.ea-site :is(.package-image h3,.story-package-visual h3,.directory-photo h3,.work-photo figcaption span) {transition:color 180ms ease}
.ea-site .button:is(:hover,:focus-visible,:active),.ea-site .archive-search button:is(:hover,:focus-visible,:active) {background:var(--ivory);color:#69522c} /* Dark gold remains readable on the existing ivory button. */
.ea-site .part-choice,.ea-site .part-choice:hover,.ea-site .part-choice[aria-pressed=true],.ea-site .part-choice[aria-pressed=true]:hover {background:transparent;box-shadow:none;color:var(--muted)}
.ea-site .part-choice:is(:hover,:focus-visible,:active),.ea-site .part-choice[aria-pressed=true] {color:var(--gold)}
.ea-site .part-choice[aria-pressed=true] {text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.ea-site .menu-close:hover {background:transparent;color:var(--gold)}
.ea-site .part-consult:is(:hover,:focus-visible),.ea-site .article a:not(.button):is(:hover,:focus-visible) {color:var(--gold);text-decoration:underline}
.ea-site .gallery-link:is(:hover,:focus-visible) {text-decoration:underline}

/* Fixed, fine-line arrows keep the same quiet proportions on every device. */
.ea-site .action-arrow {display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;line-height:0;vertical-align:middle;pointer-events:none}
.ea-site .action-arrow>svg {display:block;width:16px;height:16px;max-width:none;flex:none}

@media(min-width:761px) and (prefers-reduced-motion:no-preference) {
 @supports(animation-timeline:view()) {
  .ea-site .flow-photo-surface>img {animation:site-photo-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes site-photo-drift {from {transform:translateY(-16px) scale(1.06)} to {transform:translateY(16px) scale(1.06)}}
 }
}
@media(max-width:760px) {
 .ea-site {--photo-feather:80px}
 .ea-site .photo-story+.photo-story {margin-top:-20px}
 .ea-site .photo-story:not(.service-photo-hero) .photo-inner {padding-top:180px;padding-bottom:48px}
 .ea-site .flow-photo-surface>img {object-position:45% 22%}
 .ea-site .service-photo-hero .flow-photo-surface>img {object-position:58% 55%}
 .ea-site .unified-hero .flow-photo-surface>img {object-position:55% 35%}
}
@media(prefers-reduced-motion:reduce) {
 .ea-site :is(a,button,summary,.package-image h3,.story-package-visual h3,.directory-photo h3,.work-photo figcaption span) {transition:none}
}
