/* W6 ecology catalogue, using existing v14 visual tokens. */
.eco-page{padding-block:clamp(34px,6vw,82px) clamp(56px,8vw,110px)}
.eco-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(28px,6vw,78px);align-items:center;padding-bottom:clamp(38px,6vw,70px)}
.eco-hero h1{max-width:800px;margin:.28em 0 .35em;font-size:clamp(2.3rem,5.8vw,4.8rem);line-height:1.17}.eco-hero h1 em{display:block;color:var(--gold);font-style:normal}.eco-lede{max-width:730px;color:var(--ash);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.9}.eco-hero-note{padding:clamp(22px,3vw,32px);border:1px solid var(--line-strong);border-radius:var(--radius-l);background:linear-gradient(160deg,rgba(46,32,58,.9),rgba(16,14,28,.92));box-shadow:0 22px 54px rgba(0,0,0,.32)}.eco-hero-note strong{display:block;margin:14px 0 8px;font-size:1.25rem}.eco-hero-note p{margin:0;color:var(--ash);line-height:1.75}
.eco-controls{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.eco-filter-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr) auto auto;gap:12px;align-items:end}.eco-filter-form label{display:grid;gap:6px;color:var(--ash);font-size:.88rem;font-weight:700}.eco-filter-form input,.eco-filter-form select{width:100%;min-height:46px;padding:9px 13px;border:1px solid var(--line-strong);border-radius:10px;background:rgba(13,11,23,.8);color:var(--parchment);font:inherit}.eco-result{margin:14px 0 0;color:var(--ash-dim);font-size:.9rem}
.eco-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding-block:32px}.eco-card{display:flex;flex-direction:column;min-height:280px;padding:21px;border:1px solid var(--line);border-radius:var(--radius-m);background:linear-gradient(160deg,rgba(36,29,58,.78),rgba(16,14,28,.82));transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2)}.eco-card:hover{transform:translateY(-3px);border-color:rgba(242,196,109,.5)}.eco-card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.eco-type{color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.1em}.eco-card h2{margin:13px 0 7px;font-size:1.25rem}.eco-summary{margin:0;color:var(--ash);line-height:1.72;font-size:.94rem}.eco-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}.eco-tags li{padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--ash-dim);font-size:.78rem}.eco-details{margin-top:15px;border-top:1px solid var(--line);padding-top:11px}.eco-details summary{cursor:pointer;color:var(--gold);font-size:.88rem;font-weight:700}.eco-details dl{margin:11px 0 0}.eco-details dt{margin-top:8px;color:var(--ash-dim);font:700 .75rem/1.4 var(--font-mono)}.eco-details dd{margin:2px 0 0;color:var(--ash);font-size:.87rem;line-height:1.65}.eco-source{margin-top:auto;padding-top:15px;color:var(--ash-dim);font-size:.75rem;line-height:1.55}.eco-empty{grid-column:1/-1;padding:42px;border:1px solid var(--line);border-radius:var(--radius-m);text-align:center}.eco-empty h2{margin:14px 0 8px}.eco-empty p{margin:0;color:var(--ash)}.eco-missing{display:flex;gap:15px;align-items:flex-start;padding:22px;border-left:3px solid var(--gold);border-radius:0 var(--radius-m) var(--radius-m) 0;background:rgba(242,196,109,.07)}.eco-missing h2{margin:0 0 6px;font-size:1.15rem}.eco-missing p{margin:0;color:var(--ash);line-height:1.7}.eco-footnote{margin-top:24px;color:var(--ash-dim);font-size:.86rem}
@media(max-width:860px){.eco-hero{grid-template-columns:1fr}.eco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-filter-form{grid-template-columns:1fr 1fr}.eco-filter-form label:first-child{grid-column:1/-1}.eco-filter-form .button{width:100%;text-align:center}}
@media(max-width:560px){.eco-grid{grid-template-columns:1fr}.eco-filter-form{grid-template-columns:1fr}.eco-filter-form label:first-child{grid-column:auto}.eco-filter-form .button{width:auto}.eco-card{min-height:0}}
