/* Additive homepage showcase. Shared approved styles and fonts are inherited. */
.product-ecosystem{border-bottom:1px solid var(--line);padding:45px 0 0;overflow:hidden}.ecosystem-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:30px}.ecosystem-intro .eyebrow{font-size:9px;margin-bottom:19px}.ecosystem-intro h2{font-size:clamp(45px,4.6vw,68px);line-height:1.04;letter-spacing:-.06em}.ecosystem-intro-right{padding-bottom:5px;min-width:275px}.ecosystem-intro-right>p{font-size:12px;line-height:1.9}.ecosystem-intro-right .text-link{font-size:11px;margin-top:20px;gap:40px}.ecosystem-stage{position:relative;aspect-ratio:2.8;overflow:hidden;background:var(--tint);border:1px solid #e1d8cc;isolation:isolate}.ecosystem-canvas{position:absolute;width:100%;aspect-ratio:2;left:0;top:50%;transform:translateY(-50%)}.ecosystem-image{width:100%;height:100%;object-fit:contain}.ecosystem-scene-note{position:absolute;left:21px;bottom:18px;display:flex;align-items:center;gap:8px;font-size:7px;letter-spacing:.12em;line-height:1.3;color:#59574f;pointer-events:none;z-index:2}.ecosystem-scene-note>span{width:4px;height:4px;background:var(--red);border-radius:50%}.ecosystem-interaction-hint{position:absolute;right:20px;bottom:15px;display:flex;align-items:center;gap:15px;font-size:9px;color:#59574f;pointer-events:none;z-index:2}.ecosystem-interaction-hint>span:last-child{display:grid;place-items:center;width:21px;height:21px;border:1px solid #b9a99a;border-radius:50%;font-size:13px}.ecosystem-hint-mobile{display:none}.ecosystem-hotspot{position:absolute;left:var(--spot-x);top:var(--spot-y);width:var(--spot-w);height:var(--spot-h);min-width:44px;min-height:44px;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;border-radius:4px;display:grid;place-items:center;z-index:2;cursor:pointer;touch-action:manipulation}.ecosystem-hotspot:focus-visible{outline:1px dashed var(--red);outline-offset:3px}.ecosystem-pin{position:relative;display:block;width:33px;height:33px;border-radius:50%;background:#f9f4ecf2;border:1px solid #c73b2e99;box-shadow:0 3px 18px #4734261c;transition:background .25s,box-shadow .25s,transform .3s var(--ease);color:var(--red);pointer-events:none}.ecosystem-pin:before{content:"";position:absolute;inset:-6px;border:1px solid #c73b2e55;border-radius:50%;animation:ecosystem-pulse 3.8s ease-out infinite;animation-delay:var(--spot-delay)}.ecosystem-pin>span{position:absolute;width:10px;height:1px;background:currentColor;left:10px;top:15px;transition:transform .3s}.ecosystem-pin>span:last-child{transform:rotate(90deg)}.ecosystem-hotspot.is-active .ecosystem-pin,.ecosystem-hotspot:hover .ecosystem-pin{background:var(--red);color:var(--paper);border-color:var(--red);box-shadow:0 4px 20px #8c2f2a33;transform:scale(1.06)}.ecosystem-hotspot.is-active .ecosystem-pin:before{animation:none;border-color:var(--red);inset:-5px;opacity:.5}.ecosystem-hotspot.is-active .ecosystem-pin>span:last-child{transform:rotate(0deg)}.ecosystem-hotspot-label{position:absolute;left:50%;top:calc(50% + 27px);transform:translate(-50%,-4px);padding:5px 9px;background:var(--paper);border:1px solid var(--line);font-size:8px;white-space:nowrap;line-height:1.6;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;box-shadow:0 4px 14px #47342610}.ecosystem-hotspot:hover,.ecosystem-hotspot:focus-visible{z-index:4}.ecosystem-hotspot:hover .ecosystem-hotspot-label,.ecosystem-hotspot:focus-visible .ecosystem-hotspot-label{opacity:1;transform:translate(-50%,0)}.ecosystem-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);position:relative}.ecosystem-tab{background:none;border:0;position:relative;padding:18px 12px 17px 0;display:flex;align-items:center;gap:12px;text-align:left;font-size:10px;line-height:1.5;transition:color .2s;min-height:65px}.ecosystem-tab>span:first-child{font-size:8px;color:#8e877c;transition:color .2s}.ecosystem-tab:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;right:12px;transform:scaleX(0);transform-origin:left;background:var(--red);transition:transform .35s var(--ease)}.ecosystem-tab.is-active,.ecosystem-tab:hover{color:var(--red)}.ecosystem-tab.is-active>span:first-child{color:var(--red)}.ecosystem-tab.is-active:after{transform:scaleX(1)}.ecosystem-detail{display:grid;grid-template-columns:1.15fr 1fr auto;align-items:center;gap:40px;padding:26px 0 29px;min-height:119px;position:relative}.ecosystem-selected{display:flex;align-items:center;gap:28px}.ecosystem-counter{display:flex;gap:4px;white-space:nowrap;font-size:21px;color:var(--red);line-height:1.2;letter-spacing:-.04em;align-self:center}.ecosystem-counter>span:last-child{font-size:9px;color:#8c857b;align-self:center;margin-top:4px;letter-spacing:0}.ecosystem-selected .mini{font-size:8px;margin-bottom:9px;color:var(--red);letter-spacing:.11em}.ecosystem-selected h3{font-size:22px;line-height:1.18;letter-spacing:-.045em}.ecosystem-description{font-size:11px;line-height:1.85;max-width:360px}.ecosystem-product-link{font-size:10px;gap:25px;white-space:nowrap;justify-self:end}.ecosystem-detail.is-switching [data-ecosystem-title],.ecosystem-detail.is-switching [data-ecosystem-description]{animation:ecosystem-detail-in .4s var(--ease) both}.ecosystem-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0 19px;border-top:1px solid var(--line)}.ecosystem-footer>span{font-size:7px;letter-spacing:.12em;color:var(--muted)}.ecosystem-story-link{display:flex;align-items:center;gap:25px;font-size:9px;color:var(--muted)}.ecosystem-story-link:hover{color:var(--red)}.ecosystem-nojs{border-top:1px solid var(--line);padding-block:25px;display:flex;flex-wrap:wrap;gap:10px 25px;font-size:12px}.ecosystem-nojs>p{flex-basis:100%;margin-bottom:10px}.ecosystem-nojs>a{text-decoration:underline;color:var(--red)}
@keyframes ecosystem-pulse{0%{transform:scale(.85);opacity:.7}65%,100%{transform:scale(1.7);opacity:0}}@keyframes ecosystem-detail-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){.product-ecosystem{padding-top:36px}.ecosystem-intro h2{font-size:57px}.ecosystem-detail{grid-template-columns:1.1fr 1fr auto;gap:25px}.ecosystem-selected{gap:18px}.ecosystem-selected h3{font-size:20px}.ecosystem-description{font-size:10px}.ecosystem-tab{font-size:9px;gap:9px}.ecosystem-product-link{font-size:9px;gap:16px}}
@media(max-width:1000px){.ecosystem-intro{gap:30px}.ecosystem-intro h2{font-size:53px}.ecosystem-intro-right{min-width:240px}.ecosystem-stage{aspect-ratio:2.4}.ecosystem-tabs{grid-template-columns:repeat(3,1fr);gap:0 18px}.ecosystem-tab{min-height:51px;padding-block:14px;font-size:10px}.ecosystem-tab:after{right:0}.ecosystem-detail{grid-template-columns:1fr 1fr;gap:15px 30px;min-height:150px}.ecosystem-product-link{grid-column:2;justify-self:start}.ecosystem-selected{grid-row:1 / 3;align-self:center}.ecosystem-description{font-size:11px}.ecosystem-interaction-hint{font-size:8px}.ecosystem-footer{padding-top:14px}.ecosystem-selected h3{font-size:22px}}
@media(max-width:700px){.product-ecosystem{padding-top:35px}.ecosystem-intro{display:block;margin-bottom:25px}.ecosystem-intro .eyebrow{font-size:7px;letter-spacing:.09em;margin-bottom:19px}.ecosystem-intro h2{font-size:47px;line-height:1.04}.ecosystem-intro-right{margin-top:22px;padding:0;min-width:0;display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.ecosystem-intro-right>p{font-size:10px;line-height:1.8;max-width:195px}.ecosystem-intro-right .text-link{font-size:9px;gap:10px;margin:0;white-space:nowrap;padding-bottom:5px}.ecosystem-intro-right .text-link svg{width:14px;height:14px}.ecosystem-stage{aspect-ratio:2;border:0;overflow:visible}.ecosystem-canvas{position:relative;top:auto;transform:none}.ecosystem-scene-note{display:none}.ecosystem-interaction-hint{right:9px;bottom:8px;font-size:7px;gap:7px;background:#f3eee6d9;padding:3px 6px}.ecosystem-interaction-hint>span:last-child{width:14px;height:14px;font-size:11px}.ecosystem-hint-desktop{display:none}.ecosystem-hint-mobile{display:inline}.ecosystem-pin{width:24px;height:24px}.ecosystem-pin>span{width:8px;left:7px;top:10px}.ecosystem-pin:before{inset:-4px}.ecosystem-hotspot.is-active .ecosystem-pin:before{inset:-4px}.ecosystem-hotspot{min-width:44px;min-height:44px}.ecosystem-hotspot-label{display:none}.ecosystem-tabs{gap:0 15px;margin-top:12px}.ecosystem-tab{font-size:9px;gap:8px;min-height:56px;padding:12px 0}.ecosystem-tab>span:first-child{font-size:7px}.ecosystem-detail{display:flex;flex-direction:column;align-items:stretch;gap:17px;padding:24px 0;min-height:226px}.ecosystem-selected{align-self:stretch;gap:18px}.ecosystem-counter{font-size:22px;min-width:52px}.ecosystem-counter>span:last-child{font-size:8px}.ecosystem-selected .mini{font-size:7px;margin-bottom:8px}.ecosystem-selected h3{font-size:23px;max-width:280px;line-height:1.2}.ecosystem-description{font-size:11px;line-height:1.8;margin-left:70px;max-width:350px}.ecosystem-product-link{margin-left:70px;align-self:flex-start;font-size:10px}.ecosystem-footer{align-items:flex-start;gap:12px;padding:15px 0}.ecosystem-footer>span{font-size:6px;letter-spacing:.06em;max-width:120px;line-height:1.7}.ecosystem-story-link{font-size:8px;gap:12px;line-height:1.7}.ecosystem-nojs{font-size:10px;gap:10px 15px}}
@media(max-width:370px){.ecosystem-intro h2{font-size:42px}.ecosystem-intro-right{display:block}.ecosystem-intro-right .text-link{margin-top:15px}.ecosystem-tab{font-size:8px;gap:6px}.ecosystem-tabs{gap:0 10px}.ecosystem-selected h3{font-size:21px}.ecosystem-description,.ecosystem-product-link{margin-left:0}.ecosystem-detail{min-height:220px}.ecosystem-story-link{font-size:7px}}
@media(prefers-reduced-motion:reduce){.ecosystem-pin:before,.ecosystem-detail.is-switching [data-ecosystem-title],.ecosystem-detail.is-switching [data-ecosystem-description]{animation:none}.ecosystem-pin,.ecosystem-tab,.ecosystem-tab:after,.ecosystem-hotspot-label{transition:none}}

.product-ecosystem.is-enhanced .ecosystem-canvas{--canvas-y:-50%;animation:ecosystem-scene-in 1.1s var(--ease) both}@keyframes ecosystem-scene-in{from{opacity:.4;transform:translateY(var(--canvas-y)) scale(1.025)}to{opacity:1;transform:translateY(var(--canvas-y)) scale(1)}}
@media(max-width:700px){.product-ecosystem.is-enhanced .ecosystem-canvas{--canvas-y:0%}}
@media(prefers-reduced-motion:reduce){.product-ecosystem.is-enhanced .ecosystem-canvas{animation:none}}

/* Dedicated portrait composition and product coordinates for phones. */
.ecosystem-picture{display:block;width:100%;height:100%}
@media(max-width:700px){.ecosystem-stage,.ecosystem-canvas{aspect-ratio:2/3}.ecosystem-stage{overflow:hidden}.ecosystem-hotspot{left:var(--mobile-x);top:var(--mobile-y);width:var(--mobile-w);height:var(--mobile-h)}.ecosystem-pin{width:29px;height:29px}.ecosystem-pin>span{width:9px;left:9px;top:13px}.ecosystem-pin:before{inset:-5px}.ecosystem-hotspot.is-active .ecosystem-pin:before{inset:-5px}.ecosystem-tabs{grid-template-columns:repeat(2,1fr);gap:0 22px;margin-top:9px}.ecosystem-tab{min-height:54px;font-size:10px;gap:10px}.ecosystem-tab>span:first-child{font-size:8px}.ecosystem-interaction-hint{right:12px;bottom:12px;font-size:8px;padding:4px 8px}.ecosystem-detail{min-height:205px;padding-block:22px}.ecosystem-footer{margin-bottom:0}}
