/* Portfolio extension: preserves the established Tribalbyte template. */
.projects-page .page-head{padding-bottom:2.2rem}
.project-sections{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;border-bottom:1px solid #d9dfd7;padding:1.15rem 0;font-size:.9rem}
.project-sections a{color:#315e51;text-decoration:none;font-weight:600}
.project-sections a:hover,.project-sections a:focus-visible{text-decoration:underline}
.projects-page section[id],.projects-page figure[id]{scroll-margin-top:2rem}
.delivery-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d5ddd3;border-radius:16px;overflow:hidden;margin-top:1.5rem}
.delivery-grid article{padding:1.5rem 1.75rem;background:#eef1e9;border-bottom:1px solid #d5ddd3}
.delivery-grid article:nth-child(odd){border-right:1px solid #d5ddd3}
.delivery-grid article:nth-last-child(-n+2){border-bottom:0}
.delivery-grid h3{font-size:1.05rem;margin:0 0 .7rem}
.delivery-grid p{font-size:.96rem;line-height:1.7;margin:0}
.acceptance{margin-top:1.75rem;padding:1.75rem;border-left:3px solid #80976d;background:#fffdf5}
.acceptance h3{margin-top:0}.acceptance ol{padding-left:1.35rem}.acceptance li+li{margin-top:.85rem}
.capture-grid{display:grid;gap:1.6rem}.app-capture{margin:0;border:1px solid #d4ddd2;background:#fff;border-radius:14px;overflow:hidden}
.app-capture img{display:block;width:100%;height:auto;max-height:780px;object-fit:contain;background:#eceee7}
.app-capture figcaption{padding:1.1rem 1.4rem;line-height:1.6}.app-capture figcaption strong,.app-capture figcaption span{display:block}.app-capture figcaption span{font-size:.9rem;color:#54655d;margin-top:.35rem}
.portfolio-facts{display:flex;flex-wrap:wrap;gap:1.6rem 3rem;margin-top:2.4rem;padding-top:1.5rem;border-top:1px solid #d4ddd2}.portfolio-facts span{font-size:.86rem;color:#53665a}.portfolio-facts strong{display:block;font-size:1.75rem;line-height:1.4;color:#163f35}
.portfolio-browser{border-radius:16px;background:#e9eee2;padding:1.8rem;margin-top:1rem}.catalogue-intro h2{margin:0}.catalogue-intro p{margin:.5rem 0 1.2rem;color:#526452}
.project-filters{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:1rem;align-items:end}.project-filters label{display:block;font-size:.84rem;font-weight:650;margin-bottom:.4rem}.project-filters input,.project-filters select{width:100%;min-width:0;height:44px;font:inherit;font-size:.9rem;border:1px solid #aab8a4;border-radius:7px;padding:.6rem;background:#fffef8;color:#183e34}.project-filters button{height:44px;font:inherit;font-size:.9rem;padding:.55rem .8rem;border:1px solid #315e51;border-radius:7px;background:transparent;color:#163f35;cursor:pointer}.project-filters :focus-visible{outline:3px solid #639062;outline-offset:3px}
.project-card h3 a{color:inherit;text-decoration:none}.project-card h3 a:hover{text-decoration:underline}.project-card .card-meta{margin-top:.5rem;min-height:2.3rem}.project-card .chip{white-space:normal;line-height:1.4;font-size:.72rem}.project-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top;border:1px solid #d6dfd5;border-radius:7px;margin-bottom:.8rem}.state-publie{background:#dce8c5;color:#244d2a}.state-developpe{background:#e4e9e3;color:#354f41}.state-prototype{background:#e8e6cf;color:#625326}.state-etude{background:#f0e5dc;color:#775438}
.project-family[hidden],.project-card[hidden],#project-empty[hidden]{display:none!important}
.functional-flow .diagram-scroll{background:#fcfdf8}.functional-flow svg{display:block;max-height:750px;width:100%;min-width:620px}.flow-box{fill:#ecf2df;stroke:#769b75;stroke-width:1.5}.flow-decision{fill:#f5edcb;stroke:#b89b54;stroke-width:1.5}.flow-exception{fill:#f7eee5;stroke:#c5aa94;stroke-width:1.5}.flow-label{font-family:inherit;font-size:16px;fill:#183f35}.flow-small{font:13px 'Segoe UI',sans-serif;fill:#607361}.flow-line{fill:none;stroke:#315e51;stroke-width:1.7}.flow-line.exception{stroke-dasharray:5 4}
@media(max-width:900px){.project-filters{grid-template-columns:1fr 1fr}.portfolio-facts{gap:1.3rem 2rem}.delivery-grid article{padding:1.25rem}}
@media(max-width:600px){.delivery-grid{grid-template-columns:1fr}.delivery-grid article:nth-child(odd){border-right:0}.delivery-grid article:nth-last-child(2){border-bottom:1px solid #d5ddd3}.project-filters{grid-template-columns:1fr}.portfolio-browser{padding:1.2rem}.portfolio-facts{display:grid;grid-template-columns:1fr 1fr}.portfolio-facts strong{font-size:1.5rem}.functional-flow svg{min-width:620px!important}.project-sections{gap:.7rem 1rem}.app-capture figcaption{padding:1rem}}

/* SVG widths formerly inline; compatible with the production CSP. */
.diagram svg.diagram-width-760{min-width:760px}
.diagram svg.diagram-width-820{min-width:820px}
