.idsa-eco9-intro__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,560px);
    gap:var(--idsa-gap-xl,var(--sp-6));
    align-items:center;
}
.idsa-eco9-intro__copy{min-width:0}
.idsa-eco9-intro__direction{
    margin:var(--sp-4) 0 0;
    font-weight:800;
    color:var(--primary);
    line-height:1.6;
}
.idsa-eco9-overview{
    margin:0;
    padding:var(--sp-3);
    border:1px solid color-mix(in srgb,var(--primary) 14%,transparent);
    border-radius:var(--idsa-radius);
    background:var(--surface);
    box-shadow:0 12px 32px color-mix(in srgb,var(--text) 8%,transparent);
}
.idsa-eco9-overview img{
    display:block;
    width:100%;
    height:auto;
    border-radius:calc(var(--idsa-radius) - var(--sp-1));
}
.idsa-eco9-overview figcaption{
    margin-top:var(--sp-2);
    color:var(--muted);
    font-size:.88rem;
    line-height:1.5;
    text-align:center;
}
.idsa-eco9-section__heading{
    max-width:780px;
    margin:0 auto var(--sp-5);
    text-align:center;
}
.idsa-eco9-layout{
    display:grid;
    grid-template-columns:minmax(210px,260px) minmax(0,1fr);
    gap:var(--idsa-gap-xl,var(--sp-5));
    align-items:start;
}
.idsa-eco9-nav{
    position:sticky;
    top:calc(var(--idsa-header-height,72px) + var(--sp-3));
    z-index:4;
    padding:var(--sp-3);
    border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);
    border-radius:var(--idsa-radius);
    background:var(--surface);
    box-shadow:0 10px 26px color-mix(in srgb,var(--text) 7%,transparent);
}
.idsa-eco9-nav__title{
    margin:0 0 var(--sp-2);
    color:var(--text);
    font-size:.9rem;
    font-weight:850;
}
.idsa-eco9-nav__links{
    display:grid;
    gap:var(--sp-1);
}
.idsa-eco9-nav__links a{
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    gap:var(--sp-2);
    align-items:center;
    min-height:42px;
    padding:var(--sp-2);
    border-radius:var(--idsa-radius-sm);
    color:var(--text);
    text-decoration:none;
    line-height:1.25;
}
.idsa-eco9-nav__links a:hover,
.idsa-eco9-nav__links a:focus-visible{
    background:color-mix(in srgb,var(--primary) 7%,var(--surface));
    color:var(--primary);
}
.idsa-eco9-nav__links a span{
    display:grid;
    width:32px;
    height:32px;
    place-items:center;
    border-radius:50%;
    background:var(--primary);
    color:var(--surface);
    font-weight:900;
}
.idsa-eco9-nav__links a strong{
    font-size:.86rem;
    overflow-wrap:anywhere;
}
.idsa-eco9-list{
    display:grid;
    gap:var(--idsa-gap-lg,var(--sp-4));
    min-width:0;
}
.idsa-eco9-pillar{
    display:grid;
    grid-template-columns:minmax(300px,390px) minmax(0,1fr);
    gap:var(--sp-4);
    min-width:0;
    padding:var(--sp-4);
    scroll-margin-top:calc(var(--idsa-header-height,72px) + var(--sp-4));
}
.idsa-eco9-pillar__visual{
    margin:0;
    overflow:hidden;
    align-self:start;
    border:1px solid color-mix(in srgb,var(--primary) 12%,transparent);
    border-radius:var(--idsa-radius);
    background:color-mix(in srgb,var(--primary) 4%,var(--surface));
}
.idsa-eco9-pillar__visual img{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
}
.idsa-eco9-pillar__content{min-width:0}
.idsa-eco9-pillar__head{
    display:flex;
    gap:var(--sp-3);
    align-items:flex-start;
}
.idsa-eco9-pillar__strap{
    margin:0 0 var(--sp-1);
    color:var(--muted);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.03em;
    line-height:1.4;
}
.idsa-eco9-pillar__title{
    margin:0;
    color:var(--text);
    font-size:1.2rem;
    line-height:1.3;
}
.idsa-eco9-pillar__summary{
    margin:var(--sp-3) 0 0;
    color:var(--muted);
    line-height:1.65;
}
.idsa-eco9-detail{
    margin-top:var(--sp-3);
    border-top:1px solid color-mix(in srgb,var(--primary) 12%,transparent);
    padding-top:var(--sp-2);
}
.idsa-eco9-detail summary{
    display:flex;
    gap:var(--sp-2);
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
    color:var(--primary);
    font-weight:850;
    line-height:1.4;
}
.idsa-eco9-detail summary::-webkit-details-marker{display:none}
.idsa-eco9-detail summary::after{
    content:'+';
    flex:0 0 auto;
    font-size:1.35rem;
    line-height:1;
}
.idsa-eco9-detail[open] summary::after{content:'−'}
.idsa-eco9-detail__hint{
    margin-left:auto;
    color:var(--muted);
    font-size:.76rem;
    font-weight:650;
}
.idsa-eco9-detail__body{padding-top:var(--sp-3)}
.idsa-eco9-detail__body p{
    margin:0 0 var(--sp-3);
    color:var(--text);
    line-height:1.75;
}
.idsa-eco9-boundary{
    padding:var(--sp-3);
    border-left:4px solid var(--primary);
    border-radius:0 var(--idsa-radius-sm) var(--idsa-radius-sm) 0;
    background:color-mix(in srgb,var(--primary) 7%,var(--surface));
}
.idsa-eco9-close{text-align:center}
.idsa-eco9-close p{
    margin:0;
    color:var(--primary);
    font-weight:850;
    line-height:1.6;
}
@media(max-width:1080px){
    .idsa-eco9-layout{grid-template-columns:1fr}
    .idsa-eco9-nav{
        position:sticky;
        top:var(--idsa-header-height,72px);
        overflow-x:auto;
        padding:var(--sp-2);
        border-radius:0 0 var(--idsa-radius) var(--idsa-radius);
    }
    .idsa-eco9-nav__title{display:none}
    .idsa-eco9-nav__links{
        display:flex;
        width:max-content;
        min-width:100%;
        gap:var(--sp-1);
    }
    .idsa-eco9-nav__links a{
        grid-template-columns:30px auto;
        min-height:40px;
        white-space:nowrap;
    }
    .idsa-eco9-nav__links a span{width:30px;height:30px}
}
@media(max-width:980px){
    .idsa-eco9-intro__grid{grid-template-columns:1fr}
    .idsa-eco9-overview{max-width:760px;margin-inline:auto}
}
@media(max-width:760px){
    .idsa-eco9-pillar{grid-template-columns:1fr}
    .idsa-eco9-pillar__visual img{
        aspect-ratio:16/9;
        max-height:220px;
        object-position:center top;
    }
}
@media(max-width:620px){
    .idsa-eco9-pillar{padding:var(--sp-3)}
    .idsa-eco9-detail__hint{display:none}
    .idsa-eco9-nav__links a strong{font-size:.8rem}
}

.idsa-eco9-business-outcome{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--sp-2);
    margin-top:var(--sp-3);
}
.idsa-eco9-business-outcome div{
    padding:var(--sp-3);
    border:1px solid color-mix(in srgb,var(--primary) 14%,transparent);
    border-radius:var(--idsa-radius-sm);
    background:color-mix(in srgb,var(--primary) 5%,var(--surface));
}
.idsa-eco9-business-outcome strong{
    display:block;
    margin-bottom:var(--sp-1);
    color:var(--primary);
    font-size:.9rem;
}
.idsa-eco9-business-outcome span{
    color:var(--muted);
    font-size:.82rem;
    line-height:1.45;
}
@media(max-width:620px){
    .idsa-eco9-business-outcome{grid-template-columns:1fr}
}

/* Issue #852 — additive 5+1 company-role map. Existing 9-pillar styles stay untouched. */
.idsa-eco9-companies{
    background:color-mix(in srgb,var(--primary) 3%,var(--surface));
}
.idsa-eco9-company-flow{
    display:flex;
    flex-wrap:wrap;
    gap:var(--sp-2);
    justify-content:center;
    margin:0 auto var(--sp-5);
}
.idsa-eco9-company-flow span{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:var(--sp-2) var(--sp-3);
    border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);
    border-radius:999px;
    background:var(--surface);
    color:var(--primary);
    font-size:.84rem;
    font-weight:850;
    line-height:1.25;
}
.idsa-eco9-company-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--sp-3);
}
.idsa-eco9-company-card{
    display:flex;
    min-width:0;
    flex-direction:column;
}
.idsa-eco9-company-card__media{
    width:100%;
    margin:0 0 var(--sp-3);
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:var(--idsa-radius-sm);
    background:color-mix(in srgb,var(--primary) 5%,var(--surface));
}
.idsa-eco9-company-card__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.idsa-eco9-company-card__role{
    margin:0 0 var(--sp-1);
    color:var(--primary);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.02em;
    line-height:1.4;
}
.idsa-eco9-company-card h3{
    margin:0;
    color:var(--text);
    font-size:1.08rem;
    line-height:1.35;
}
.idsa-eco9-company-card > p:not(.idsa-eco9-company-card__role){
    margin:var(--sp-2) 0 0;
    color:var(--muted);
    line-height:1.6;
}
.idsa-eco9-company-card__link{
    display:inline-flex;
    gap:var(--sp-1);
    align-items:center;
    margin-top:auto;
    padding-top:var(--sp-3);
    color:var(--primary);
    font-weight:850;
    line-height:1.4;
    text-decoration:none;
}
.idsa-eco9-company-card__link:hover,
.idsa-eco9-company-card__link:focus-visible{
    text-decoration:underline;
}
.idsa-eco9-company-boundary{
    max-width:900px;
    margin:var(--sp-4) auto 0;
    color:var(--muted);
    font-size:.88rem;
    line-height:1.6;
    text-align:center;
}
@media(max-width:900px){
    .idsa-eco9-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .idsa-eco9-company-grid{grid-template-columns:1fr}
    .idsa-eco9-company-card__media{aspect-ratio:16/9}

    .idsa-eco9-company-flow{justify-content:flex-start}
}

/* Public breadcrumb authority 2026-09-24: one visible trail before hero, none visible inside hero. */
.idsa-eco9-breadcrumb-row{
    padding-top:var(--sp-2);
}
.idsa-eco9-breadcrumb-row .idsa-silo-breadcrumb{
    margin-bottom:0;
}
.page-hero .idsa-silo-breadcrumb{
    display:none;
}
@media(max-width:767px){
    .idsa-eco9-breadcrumb-row{
        display:none;
    }
}

/* Issue #852 — ecosystem page completion: next-action and internal-link closure. */
.idsa-eco9-next__actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:var(--sp-2);
    margin-top:var(--sp-4);
}
.idsa-eco9-next .idsa-silo-related-links{
    justify-content:center;
}
.idsa-eco9-next__note{
    max-width:900px;
    margin:var(--sp-4) auto 0;
    color:var(--muted);
    font-size:.86rem;
    line-height:1.6;
    text-align:center;
}
@media(max-width:620px){
    .idsa-eco9-next__actions .btn{
        width:100%;
        justify-content:center;
        text-align:center;
    }
    .idsa-eco9-next .idsa-silo-related-links{
        justify-content:flex-start;
    }
}

/* Shared breadcrumb renderer now owns the visible row; preserve legacy page markup without a second visible breadcrumb. */
.idsa-eco9-breadcrumb-row{
    display:none;
}

