/* Home. */
.ea-home { padding-top: var(--site-header-height); overflow-x: clip; }
.ea-home h1 em, .ea-home h2 em { color: var(--ea-wine); font-style: italic; }

/* Parallax photos are taller than their frame so they never show an edge. */
.ea-media img[data-parallax] { position: absolute; inset: -8% 0 auto; height: 116%; }

/* Hero: the headline centred over the page, the photos and the facts underneath. */
.ea-hero { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1rem, 2.5vw, 2.75rem); max-width: var(--ea-wide-width); margin: auto; padding: clamp(3.5rem, 8vw, 7rem) var(--ea-gutter) clamp(4rem, 8vw, 7rem); }
.ea-hero__text { grid-column: 1 / -1; display: grid; justify-items: center; padding-bottom: clamp(3rem, 6vw, 5.5rem); text-align: center; }
.ea-hero h1 { max-width: none; font-size: clamp(3.5rem, 9.5vw, 9.5rem); letter-spacing: -.035em; line-height: .95; }
.ea-hero__lede { max-width: 34rem; margin: clamp(1.5rem, 3vw, 2.25rem) auto clamp(2rem, 3.5vw, 2.75rem); color: var(--ea-muted); font-size: clamp(1rem, 1.3vw, 1.125rem); line-height: 1.65; }
.ea-hero__text .ea-actions { justify-content: center; }
.ea-hero__main { grid-column: 1 / span 8; aspect-ratio: 16 / 10; }
.ea-hero__detail { grid-column: 9 / -1; align-self: end; aspect-ratio: 4 / 5; margin-top: clamp(3rem, 7vw, 7rem); }
.ea-hero__facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2.75rem); margin: clamp(2rem, 4vw, 3.5rem) 0 0; }
.ea-hero__facts div { display: grid; gap: .3rem; padding-top: .9rem; border-top: 1px solid var(--ea-line); }
.ea-hero__facts dt { color: var(--ea-muted); font-size: .8125rem; }
.ea-hero__facts dd { margin: 0; font-size: .9375rem; }

/* Marquee: the services run across a terracotta band. */
.ea-marquee { overflow: hidden; background: var(--ea-wine-deep); color: var(--ea-paper-light); }
.ea-marquee__track { display: flex; width: max-content; animation: ea-marquee 42s linear infinite; }
.ea-marquee__group { display: flex; align-items: center; gap: clamp(1.25rem, 2.5vw, 2.5rem); margin: 0; padding: clamp(1rem, 2vw, 1.5rem) clamp(.625rem, 1.25vw, 1.25rem); font-family: var(--font-display); font-size: clamp(1.75rem, 3.4vw, 3rem); font-style: italic; letter-spacing: -.02em; line-height: 1.1; white-space: nowrap; }
.ea-marquee__dot { flex: none; width: .28em; height: .28em; border-radius: 50%; background: #d08a72; }
@keyframes ea-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ea-marquee__track { animation: none; } }

/* Services index: numbered rows, a photo follows the cursor. */
.ea-index { position: relative; max-width: var(--ea-content-width); margin: auto; padding: var(--ea-section-space) var(--ea-gutter); }
.ea-index__head { display: flex; align-items: flex-end; justify-content: space-between; gap: clamp(2rem, 8vw, 10rem); margin-bottom: clamp(3rem, 6vw, 5rem); }
.ea-index__head h2 { font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.03em; line-height: 1; }
.ea-index__head p { max-width: 26rem; margin: 0; color: var(--ea-muted); line-height: 1.7; }
.ea-index__list { margin: 0; padding: 0; border-bottom: 1px solid var(--ea-line); list-style: none; }
.ea-index__row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 3rem; align-items: center; gap: clamp(1rem, 3vw, 3rem); padding: clamp(1.25rem, 2.6vw, 2.25rem) 0; border-top: 1px solid var(--ea-line); color: inherit; text-decoration: none; }
.ea-index__title { font-family: var(--font-display); font-size: clamp(1.75rem, 3.4vw, 3.25rem); letter-spacing: -.025em; line-height: 1.02; transition: transform 380ms var(--ea-ease), color 200ms ease; }
.ea-index__summary { color: var(--ea-muted); font-size: .9375rem; line-height: 1.55; }
.ea-index__go { justify-self: end; display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--ea-line); border-radius: 50%; transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease; }
.ea-index__row:hover .ea-index__title, .ea-index__row:focus-visible .ea-index__title { color: var(--ea-wine); transform: translateX(.5rem); }
.ea-index__row:hover .ea-index__go, .ea-index__row:focus-visible .ea-index__go { border-color: var(--ea-ink); background: var(--ea-ink); color: var(--ea-paper-light); }
.ea-index__preview { position: absolute; z-index: 2; top: 0; left: 0; width: clamp(12rem, 18vw, 17rem); aspect-ratio: 4 / 5; overflow: hidden; pointer-events: none; opacity: 0; visibility: hidden; translate: -50% -50%; }
.ea-index__preview img { width: 100%; height: 100%; object-fit: cover; }
@media (prefers-reduced-motion: reduce) { .ea-index__title, .ea-index__go { transition: none; } }

/* Take away: large photo, the two ways to receive it, and a strip of trays. */
.ea-takeaway { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2.75rem); max-width: var(--ea-content-width); margin: auto; padding: 0 var(--ea-gutter) var(--ea-section-space); }
.ea-takeaway__photo { grid-column: 1 / span 6; aspect-ratio: 4 / 5; }
.ea-takeaway__text { grid-column: 8 / span 5; align-self: center; }
.ea-takeaway h2 { max-width: 9ch; font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.03em; line-height: 1; }
.ea-takeaway__text > p { max-width: 30rem; margin: 1.5rem 0 0; color: var(--ea-muted); line-height: 1.7; }
.ea-takeaway__options { display: grid; margin: 2.25rem 0 2.5rem; }
.ea-takeaway__options div { padding-block: 1.1rem; border-top: 1px solid var(--ea-line); }
.ea-takeaway__options div:last-child { border-bottom: 1px solid var(--ea-line); }
.ea-takeaway__options dt { font-family: var(--font-display); font-size: clamp(1.4rem, 2vw, 1.75rem); letter-spacing: -.02em; line-height: 1.15; }
.ea-takeaway__options dd { margin: .3rem 0 0; color: var(--ea-muted); font-size: .9375rem; }
.ea-takeaway__strip { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: inherit; margin-top: clamp(1rem, 4vw, 4rem); }
.ea-takeaway__strip figure { aspect-ratio: 1; }
.ea-takeaway__strip figure:nth-child(1) { grid-column: 3 / span 3; }
.ea-takeaway__strip figure:nth-child(2) { grid-column: 6 / span 4; aspect-ratio: 4 / 3; margin-top: clamp(3rem, 7vw, 7rem); }
.ea-takeaway__strip figure:nth-child(3) { grid-column: 10 / span 3; aspect-ratio: 3 / 4; }

/* RAW-DISTRICT: the dark room of the page. */
.ea-space { background: var(--ea-ink); color: var(--ea-paper); }
.ea-space ::selection { background: var(--ea-paper); color: var(--ea-ink); }
.ea-space__inner { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2.75rem); max-width: var(--ea-content-width); margin: auto; padding: var(--ea-section-space) var(--ea-gutter); }
.ea-space__head { grid-column: 1 / -1; }
.ea-space__logo { margin: .5rem 0 clamp(1rem, 3vw, 2.5rem); line-height: 0; }
.ea-space__logo .ea-logo { width: min(100%, 64rem); }
.ea-space__text { grid-column: 1 / span 5; align-self: end; }
.ea-space__text > p { max-width: 28rem; margin: 0; color: var(--ea-paper-soft); font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.65; }
.ea-space__facts { display: grid; margin: 2.25rem 0 2.5rem; }
.ea-space__facts div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; padding-block: .8rem; border-top: 1px solid rgba(247, 245, 240, .16); }
.ea-space__facts dt { color: var(--ea-soft-text); font-size: .8125rem; }
.ea-space__facts dd { margin: 0; font-size: .9375rem; }
.ea-space a:focus-visible { outline-color: var(--ea-paper); }
.ea-space__mosaic { grid-column: 7 / -1; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: clamp(.75rem, 1.5vw, 1.25rem); margin-top: clamp(2rem, 4vw, 3rem); }
.ea-space__mosaic figure { aspect-ratio: 1; background: #26241f; }
.ea-space__tall { grid-row: 1 / span 2; aspect-ratio: auto !important; }

/* Statement about corners. */
.ea-statement { max-width: 68rem; margin: auto; padding: var(--ea-section-space) var(--ea-gutter); text-align: center; }
.ea-statement h2 { font-size: clamp(2.25rem, 4.8vw, 4.75rem); letter-spacing: -.03em; line-height: 1.04; }
.ea-statement__link { display: inline-flex; align-items: center; gap: .75rem; margin-top: clamp(2rem, 4vw, 3rem); font-size: .81rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.ea-statement__link:hover, .ea-statement__link:focus-visible { color: var(--ea-wine); }

/* Gallery mosaic. */
.ea-gallery { max-width: var(--ea-wide-width); margin: auto; padding: 0 var(--ea-gutter) var(--ea-section-space); }
.ea-gallery__head { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.ea-gallery__head h2 { font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.03em; line-height: 1; }
.ea-gallery__head a { font-size: .9375rem; font-weight: 600; text-decoration-color: var(--ea-wine); text-decoration-thickness: 1px; text-underline-offset: .3em; }
.ea-gallery__mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: clamp(8rem, 13vw, 13rem); gap: clamp(.5rem, 1vw, .875rem); }
.ea-gallery__item--1 { grid-column: span 4; grid-row: span 2; }
.ea-gallery__item--2 { grid-column: span 5; }
.ea-gallery__item--3 { grid-column: span 3; grid-row: span 2; }
.ea-gallery__item--4 { grid-column: span 5; }
.ea-gallery__item--5 { grid-column: span 3; }
.ea-gallery__item--6 { grid-column: span 5; grid-row: span 2; }
.ea-gallery__item--7 { grid-column: span 4; grid-row: span 2; }
.ea-gallery__item--8 { grid-column: span 3; }

/* Closing call. */
.ea-closing { padding: var(--ea-section-space) var(--ea-gutter); background: var(--ea-paper-light); text-align: center; }
.ea-closing h2 { font-size: clamp(3.25rem, 9vw, 8.5rem); letter-spacing: -.04em; line-height: .95; }
.ea-closing p { max-width: 30rem; margin: 1.75rem auto 2.5rem; color: var(--ea-muted); font-size: clamp(1rem, 1.3vw, 1.125rem); line-height: 1.65; }
.ea-closing .ea-actions { justify-content: center; }

@media (max-width: 900px) {
	.ea-hero { grid-template-columns: repeat(6, minmax(0, 1fr)); padding-top: 2.5rem; }
	.ea-hero__text { padding-bottom: 2.5rem; }
	.ea-hero h1 { font-size: clamp(2.5rem, 12vw, 5.5rem); }
	.ea-hero__main { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
	.ea-hero__detail { z-index: 1; grid-column: 3 / -1; margin: -3rem 0 0; border: 8px solid var(--ea-paper); aspect-ratio: 4 / 3; }
	.ea-hero__facts { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.ea-hero__facts div { grid-template-columns: 8rem minmax(0, 1fr); gap: 1rem; padding-block: .8rem; }
	.ea-index__head { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
	.ea-index__row { grid-template-columns: minmax(0, 1fr) 2.75rem; row-gap: .4rem; }
	.ea-index__summary { grid-column: 1; grid-row: 2; }
	.ea-index__go { grid-column: 2; grid-row: 1 / span 2; width: 2.75rem; height: 2.75rem; }
	.ea-index__preview { display: none; }
	.ea-takeaway__photo, .ea-takeaway__text { grid-column: 1 / -1; }
	.ea-takeaway__text { padding-top: 1.5rem; }
	.ea-takeaway__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ea-takeaway__strip figure:nth-child(n) { grid-column: auto; margin-top: 0; aspect-ratio: 4 / 5; }
	.ea-takeaway__strip figure:nth-child(2) { margin-top: 3rem; }
	.ea-takeaway__strip figure:nth-child(3) { display: none; }
	.ea-space__text, .ea-space__mosaic { grid-column: 1 / -1; }
	.ea-space__mosaic { grid-template-rows: auto; }
	.ea-space__tall { grid-row: auto; grid-column: 1 / -1; aspect-ratio: 4 / 5 !important; }
	.ea-gallery__mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 42vw; }
	.ea-gallery__item--1, .ea-gallery__item--6 { grid-column: span 2; grid-row: span 1; }
	.ea-gallery__item--2, .ea-gallery__item--3, .ea-gallery__item--4, .ea-gallery__item--5, .ea-gallery__item--7, .ea-gallery__item--8 { grid-column: span 1; grid-row: span 1; }
	.ea-gallery__head { flex-direction: column; gap: .75rem; }
}
