.eco-hub{position:relative;width:100%;aspect-ratio:1 / 1;max-width:400px;margin:0 auto}.eco-hub__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:96px;height:96px;background:var(--bg-elevated);border:2px solid rgba(112,173,71,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 0 40px #70ad4726}.eco-hub__logo{display:flex;flex-direction:column;align-items:center;gap:.25rem}.eco-hub__logo-mark{width:32px;height:32px;background-image:url(/images/brand/fr8labs-mark-square-big.png);background-size:contain;background-repeat:no-repeat;background-position:center}.eco-hub__logo-text{font-family:var(--font-display);font-size:.6875rem;font-weight:700;color:var(--text-dark-bg);letter-spacing:-.01em}.eco-hub__spokes{position:absolute;inset:0}.eco-hub__spoke{position:absolute;display:flex;flex-direction:column;align-items:center}.eco-hub__spoke-line{width:2px;height:48px;background:linear-gradient(to bottom,#70ad4780,#70ad471a)}.eco-hub__node{display:flex;flex-direction:column;align-items:center;gap:.375rem;background:#fff;border:1px solid var(--fr8-border, #E3EAF1);border-radius:var(--radius-sm);padding:.625rem .75rem;color:var(--fr8-text-strong, #1A202C);transition:border-color .3s,box-shadow .3s}.eco-hub__node:hover{border-color:#70ad4766;box-shadow:0 4px 16px #70ad471a}.eco-hub__node svg{color:#70ad47;flex-shrink:0}.eco-hub__node span{font-family:var(--font-mono);font-size:.5625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fr8-text-secondary, #5E758D);white-space:nowrap}.eco-hub__spoke--1{top:2%;left:50%;transform:translate(-50%)}.eco-hub__spoke--2{top:22%;right:2%;transform:rotate(72deg);transform-origin:center top}.eco-hub__spoke--3{bottom:8%;right:12%;transform:rotate(144deg);transform-origin:center top}.eco-hub__spoke--4{bottom:8%;left:12%;transform:rotate(-144deg);transform-origin:center top}.eco-hub__spoke--5{top:22%;left:2%;transform:rotate(-72deg);transform-origin:center top}@media(max-width:600px){.eco-hub{max-width:320px;aspect-ratio:auto;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 0}.eco-hub__center{position:relative;top:auto;left:auto;transform:none}.eco-hub__spokes{position:relative;inset:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.eco-hub__spoke{position:relative;inset:auto;transform:none!important}.eco-hub__spoke-line{display:none}}.eco-partners{padding:var(--section-pad) 0;background:var(--bg-dark)}.eco-partners__header{margin-bottom:2.5rem;max-width:640px}.eco-partners__header h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--text-dark-bg);margin-bottom:.5rem;line-height:1.15}.eco-partners__header p{font-size:1rem;font-weight:300;color:var(--text-dark-bg-secondary);line-height:1.6}.eco-partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.eco-partner-card{background:#fff;border:1px solid var(--fr8-border, #E3EAF1);border-radius:var(--radius);padding:1.5rem;transition:transform .25s,box-shadow .25s,border-color .25s}.eco-partner-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a;border-color:#70ad474d}.eco-partner-card__logo{height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--fr8-border, #E3EAF1)}.eco-partner-card__logo img{max-height:100%;max-width:180px;width:auto;height:auto;object-fit:contain}.eco-partner-card__category{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:#70ad47;margin-bottom:.625rem}.eco-partner-card__name{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--fr8-text-strong, #1A202C);margin-bottom:.375rem}.eco-partner-card__desc{font-size:.8125rem;color:var(--fr8-text-secondary, #5E758D);line-height:1.55}@media(max-width:900px){.eco-partner-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.eco-partner-grid{grid-template-columns:1fr}}.eco-showcases{padding:var(--section-pad) 0;background:var(--bg-light)}.eco-showcases__header{margin-bottom:3rem;max-width:640px}.eco-showcases__header h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--text-light-bg);margin-bottom:.5rem;line-height:1.15}.eco-showcases__header p{font-size:1rem;font-weight:300;color:var(--text-light-bg-secondary);line-height:1.6}.eco-showcase{display:flex;gap:1.5rem;align-items:flex-start;background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius);padding:2rem;margin-bottom:1.5rem;transition:transform .25s,box-shadow .25s}.eco-showcase:last-child{margin-bottom:0}.eco-showcase:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.eco-showcase__icon{width:52px;height:52px;border-radius:12px;background:#70ad471a;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#70ad47}.eco-showcase__icon--ondemand{background:#4f6cee1a;color:var(--fr8-primary, #4F6CEE)}.eco-showcase__content{flex:1;min-width:0}.eco-showcase__cluster{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:#70ad47;margin-bottom:.5rem;display:flex;align-items:center;gap:.625rem}.eco-showcase__badge{font-family:var(--font-mono);font-size:.5625rem;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .4rem;border-radius:3px;font-weight:600;background:#4f6cee1f;color:var(--fr8-primary, #4F6CEE);border:1px solid rgba(79,108,238,.3)}.eco-showcase__title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-light-bg);margin-bottom:.625rem;line-height:1.2}.eco-showcase__excerpt{font-size:.875rem;color:var(--text-light-bg-secondary);line-height:1.65;margin-bottom:1rem}.eco-showcase__metric{font-family:var(--font-mono);font-size:.6875rem;color:var(--brand-blue);display:flex;align-items:flex-start;gap:.4rem;margin-bottom:.75rem}.eco-showcase__partner-tag{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light-bg-secondary);padding-top:.75rem;border-top:1px solid var(--border-light)}@media(max-width:600px){.eco-showcase{flex-direction:column;padding:1.5rem}}@media(max-width:900px){.eco-hub{zoom:.8}}@media(max-width:520px){.eco-hub{zoom:.65}}
