/* Sliding live tiles. Every panel occupies the complete tile. */
.ecosystem-mosaic{position:relative;border-radius:16px;isolation:isolate}
.ecosystem-tiles{
  --tile-height:290px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:0;
  padding:1px;
  list-style:none;
  background:#d2d8c8;
  border-radius:16px;
  overflow:hidden;
}
.ecosystem-tile{--tile-paper:#f0f0e3;height:var(--tile-height);min-width:0;background:var(--tile-paper)}
.ecosystem-tile:nth-child(3n+1){--tile-paper:#e9edde}
.ecosystem-tile:nth-child(3n){--tile-paper:#f5f3e7}
.ecosystem-tile-link{position:relative;display:block;width:100%;height:100%;overflow:hidden;isolation:isolate}
.ecosystem-tile-link:focus-visible{outline:3px solid #839957;outline-offset:-5px;z-index:3}
.ecosystem-tile-turner{position:relative;width:100%;height:100%;transform:translateY(0);transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.ecosystem-tile[data-flipped="true"] .ecosystem-tile-turner{transform:translateY(-100%)}
.ecosystem-tile-face{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden}
.ecosystem-tile-info{padding:28px 32px;color:#263f2c;background:var(--tile-paper)}
.ecosystem-tile-photo{top:100%;color:#fffdf3;background:#213c2a}
.ecosystem-tile-focus{top:200%;background-color:#e9edde;background-repeat:no-repeat}
.ecosystem-tile-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;height:51px;margin-bottom:21px}
.ecosystem-tile-number{display:flex;align-items:center;gap:14px;color:#9b7660;font:21px/1 Georgia,'Times New Roman',serif}
.ecosystem-tile-number>span{display:block;width:31px;height:1px;background:currentColor;opacity:.65}
.ecosystem-tile-icon{display:grid;place-items:center;width:53px;height:53px;background:#dfe6d4b3;border-radius:50%;color:#345239}
.ecosystem-tile-icon>svg{width:34px;height:34px}
.ecosystem-tile .ecosystem-tile-title{position:relative;z-index:1;display:block;margin:0 0 12px;color:inherit;font:normal 30px/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.04em}
.ecosystem-tile .ecosystem-tile-copy{position:relative;z-index:1;max-width:245px;margin:0;color:#53624c;font-size:14px;line-height:1.65}
.ecosystem-botanical{position:absolute;right:-49px;bottom:-45px;width:188px;height:267px;color:#617455;opacity:.24;pointer-events:none;transform:rotate(-12deg)}
.ecosystem-tile:nth-child(2n) .ecosystem-botanical{right:-41px;bottom:-35px;transform:rotate(9deg);opacity:.28}
.ecosystem-tile-arrow{position:absolute;z-index:2;right:30px;bottom:22px;font-size:22px;font-weight:400;line-height:1;opacity:.7;transition:translate .2s,opacity .2s}
.ecosystem-tile-link:hover .ecosystem-tile-arrow{translate:3px -3px;opacity:1}
.ecosystem-tile-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
.ecosystem-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0b21153d 0%,#0b211508 25%,#0b21154d 48%,#0b2115ed 100%)}
.ecosystem-tile-photo>.ecosystem-tile-number{position:absolute;z-index:1;left:32px;top:33px;color:#fffdf3}
.ecosystem-photo-caption{position:absolute;z-index:1;left:32px;right:42px;bottom:32px}
.ecosystem-tile-photo .ecosystem-tile-copy{color:#f8f8ec;max-width:270px;font-size:14px;line-height:1.6}
.ecosystem-tile-photo .ecosystem-tile-title{margin-bottom:10px}
.ecosystem-tile-photo .ecosystem-tile-arrow{right:24px;bottom:25px;color:#fffdf3}
.ecosystem-mosaic[data-spotlight="true"] .ecosystem-tile-turner{transform:translateY(-200%)}
.ecosystem-mosaic[data-spotlight="true"] .ecosystem-tile:nth-child(2n) .ecosystem-tile-turner{transition-delay:45ms}
.ecosystem-spotlight{position:absolute;z-index:4;inset:0;display:flex;align-items:flex-end;overflow:hidden;border-radius:inherit;padding:38px 44px;color:#fffdf3;background:linear-gradient(180deg,#10291c1a 0%,transparent 35%,#10291c99 100%);opacity:0;transition:opacity .25s ease .6s}
.ecosystem-mosaic[data-spotlight="true"] .ecosystem-spotlight{opacity:1}
.ecosystem-spotlight-number{position:absolute;left:44px;top:36px;font:24px/1 Georgia,'Times New Roman',serif;letter-spacing:.05em}
.ecosystem-spotlight-number:after{content:'';display:inline-block;vertical-align:middle;width:40px;height:1px;background:currentColor;margin-left:17px;opacity:.75}
.ecosystem-spotlight-title{display:block;color:inherit;font:46px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.04em;margin-bottom:12px}
.ecosystem-spotlight-copy{max-width:400px;color:inherit;font-size:16px;line-height:1.7;margin:0}
.ecosystem-spotlight-hint{display:flex;align-items:center;gap:30px;margin-top:22px;font:10px/1.5 'Courier New',monospace;letter-spacing:.05em}
.ecosystem-spotlight-hint>span{font:24px/1 Arial,sans-serif}
@media(min-width:1500px){.ecosystem-tiles{--tile-height:306px}.ecosystem-tile-info{padding:32px 36px}.ecosystem-tile .ecosystem-tile-title{font-size:32px}.ecosystem-tile .ecosystem-tile-copy{max-width:270px}.ecosystem-tile-photo>.ecosystem-tile-number{left:36px}.ecosystem-photo-caption{left:36px}}
@media(max-width:1100px) and (min-width:741px){.ecosystem-tiles{--tile-height:280px}.ecosystem-tile-info{padding:24px}.ecosystem-tile .ecosystem-tile-title{font-size:27px}.ecosystem-tile .ecosystem-tile-copy{font-size:13px;max-width:220px}.ecosystem-tile-meta{margin-bottom:18px}.ecosystem-tile-icon{width:46px;height:46px}.ecosystem-photo-caption{left:24px;right:34px;bottom:28px}.ecosystem-tile-photo>.ecosystem-tile-number{left:24px;top:31px}}
@media(max-width:900px){.ecosystem-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .ecosystem-tiles{--tile-height:270px;grid-template-columns:1fr;border-radius:13px}
  .ecosystem-tile-info{padding:25px 28px}
  .ecosystem-tile-meta{margin-bottom:17px}
  .ecosystem-tile .ecosystem-tile-title{font-size:30px}
  .ecosystem-tile .ecosystem-tile-copy{font-size:14px;max-width:240px}
  .ecosystem-tile-photo>.ecosystem-tile-number{left:28px;top:29px}
  .ecosystem-photo-caption{left:28px;right:38px;bottom:30px}
}
@media(prefers-reduced-motion:reduce){.ecosystem-tile-turner{transition:none}.ecosystem-tile-arrow{transition:none}}
/* Explicitly requested live-tile motion, scoped here even in reduced-motion previews. */
@media(prefers-reduced-motion:reduce){
  .ecosystem-tiles[data-motion="on"] .ecosystem-tile-turner{transition-property:transform!important;transition-duration:.9s!important;transition-timing-function:cubic-bezier(.22,.61,.36,1)!important}
  .ecosystem-mosaic:has([data-motion="on"]) .ecosystem-spotlight{transition:opacity .25s ease .6s!important}
}
