/* Eli's entrances stay independent of the shared Maram styles. */
.eli-home-shortcut {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-height: 54px;
  margin-top: 20px;
  padding: 5px 16px 5px 6px;
  color: #31254c;
  background: #fff8e8;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 999px;
  box-shadow: 0 5px 18px rgba(18, 59, 83, .15);
  font-weight: 800;
  text-decoration: none;
}
.eli-home-shortcut img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.eli-home-shortcut:hover { background: #ffe7a3; }
.eli-home { position: relative; padding: clamp(40px, 7vw, 90px) 0; overflow: hidden; background: #eee8f1; }
.eli-home::after { content: ""; position: absolute; right: -6%; bottom: -130px; width: 55%; height: 250px; background: #dcd9df; border-radius: 55% 55% 0 0; transform: rotate(-8deg); pointer-events: none; }
.eli-home__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1.08fr; align-items: center; gap: clamp(26px, 5vw, 64px); }
.eli-entry-kicker { display: block; margin-bottom: 16px; color: #694469; font-size: .77rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.eli-home__copy h2 { margin-bottom: 22px; color: #36254c; font-size: clamp(2.3rem, 4.6vw, 4.1rem); line-height: 1.08; }
.eli-home__copy p { max-width: 470px; margin-bottom: 26px; color: #554c60; font-size: 1.05rem; line-height: 1.7; }
.eli-entry-button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 54px; padding: 15px 24px; color: #fff9ed; background: #563e64; border: 2px solid transparent; border-radius: 14px; box-shadow: 0 5px 0 #382345; font-weight: 800; text-decoration: none; transition: background 160ms ease; }
.eli-entry-button:hover { color: #fff; background: #44304f; }
.eli-home__note { display: block; margin-top: 20px; color: #6c5e72; font-size: .84rem; }
.eli-home__art { position: relative; display: block; padding: 20px 0 0; text-decoration: none; }
.eli-home__halo { position: absolute; inset: -12px 3% 4%; background: #fff7df; border-radius: 50% 50% 43% 43%; transform: rotate(-6deg); }
.eli-home__art > img { position: relative; display: block; width: 100%; height: auto; min-height: 300px; aspect-ratio: 16 / 11; object-fit: cover; object-position: 50% 32%; border: 7px solid #fffaf0; border-radius: 46% 46% 28px 28px; box-shadow: 0 20px 38px rgba(54, 37, 76, .17); }
.eli-home__seal { position: absolute; right: -14px; bottom: -18px; display: grid; align-content: center; width: 135px; height: 135px; padding: 16px; color: #503347; background: #ffdb85; border: 6px solid #eee8f1; border-radius: 50%; font-family: var(--font-title); font-size: 1.6rem; font-weight: 850; text-align: center; transform: rotate(9deg); }
.eli-home__seal strong { font-size: .91rem; line-height: 1.2; }
.page-hero__trail .eli-trail-link { color: #352044; background: #f5dda7; border-color: #f5dda7; }
.map-hotspot--monastery {
  --target-x: 4.8cqw;
  --target-y: 5.63cqw;
  --leader-length: 7.4cqw;
  --leader-angle: 50deg;
  top: 12%;
  left: 79%;
  color: #41294f;
  background: #fff6e8;
  border-color: #ad8cc2;
  text-decoration: none;
}
.map-hotspot--monastery .map-hotspot__pin { overflow: hidden; background: #f3e8f6; }
.map-hotspot--monastery .map-hotspot__pin img { display: block; width: 100%; height: 100%; object-fit: cover; }
.map-hotspot--monastery .map-hotspot__target { border-color: #ad8cc2; }
.map-hotspot--church { --target-x: 4cqw; --target-y: -2.25cqw; --leader-length: 4.6cqw; --leader-angle: -29deg; top: 37%; left: 90%; }
.eli-map-key { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; padding: 8px 10px; color: #41294f; background: #f3e8f6; border: 2px solid #ceb5dd; border-radius: 14px; font-family: var(--font-title); font-weight: 750; text-align: center; text-decoration: none; }
.eli-map-key img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.eli-map-key:hover { background: #ffdf96; }
.place-card--monastery { background: #786284; }
.place-card--monastery > img { object-position: 50% 30%; }
.place-card--monastery::after { background: linear-gradient(180deg, transparent 20%, rgba(43, 29, 57, .95) 89%); }
.place-card--monastery .eli-entry-kicker { color: #fbdc94; font-size: .7rem; }
.eli-home-shortcut:focus-visible, .eli-entry-button:focus-visible, .eli-home__art:focus-visible, .map-hotspot--monastery:focus-visible, .eli-map-key:focus-visible { outline: 4px solid #c5702a; outline-offset: 5px; }
@media (max-width: 980px) {
  .map-hotspot--monastery { top: 15%; left: 75%; }
  .map-hotspot--monastery .map-hotspot__leader, .map-hotspot--monastery .map-hotspot__target { display: none; }
  .map-hotspot--church { top: 41%; left: 89%; }
  .map-coast-labels span:last-child { display: none; }
}
@media (max-width: 760px) {
  .eli-home__inner { grid-template-columns: 1fr; gap: 36px; }
  .eli-home__copy { max-width: 520px; }
  .eli-home__art { width: min(100%, 470px); justify-self: center; margin-bottom: 42px; }
  .eli-home__art > img { min-height: 0; }
  .eli-home__seal { right: 0; bottom: -46px; width: 112px; height: 112px; font-size: 1.4rem; }
  .eli-home__note { font-size: .79rem; }
}
/* Ten equal touch targets on narrow maps; the named place key stays directly below. */
@media (max-width: 680px) {
  .maram-map__canvas .map-hotspot { min-width: 52px; min-height: 52px; }
  .maram-map__canvas .map-hotspot__pin { width: 38px; height: 38px; flex-basis: 38px; }
  .map-hotspot--lighthouse { top: 25%; left: 10%; }
  .map-hotspot--house { top: 25%; left: 30%; }
  .map-hotspot--field { top: 25%; left: 50%; }
  .map-hotspot--bridge { top: 25%; left: 70%; }
  .map-hotspot--monastery { top: 25%; left: 90%; }
  .map-hotspot--school { top: 66%; left: 10%; }
  .map-hotspot--kindergarten { top: 66%; left: 30%; }
  .map-hotspot--harbor { top: 66%; left: 50%; }
  .map-hotspot--shore { top: 66%; left: 70%; }
  .map-hotspot--church { top: 66%; left: 90%; }
}
@media (max-width: 380px) {
  .eli-home-shortcut { gap: 8px; padding-right: 12px; font-size: .92rem; }
}
@media (prefers-reduced-motion: reduce) { .eli-entry-button { transition: none; } }
