.aip-portfolio{--aip-ink:#111b4d;--aip-accent:#a95436;--aip-soft:#f7f3ef;--aip-line:#e4d9d1;color:var(--aip-ink);font-family:inherit;max-width:1200px;margin:0 auto;padding:24px 0;line-height:1.6}.aip-portfolio *{box-sizing:border-box}.aip-portfolio [hidden]{display:none!important}.aip-portfolio button,.aip-portfolio select{font:inherit}.aip-portfolio .aip-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px;padding:24px;background:var(--aip-soft);border:1px solid var(--aip-line);border-radius:12px}.aip-filters>div{flex:1 1 220px}.aip-filters label{display:block;font-size:.88rem;font-weight:600;margin-bottom:7px}.aip-portfolio .aip-filters select{display:block;width:100%;max-width:100%;min-height:48px;border:1px solid #b8aca3;border-radius:5px;background:#fff;color:var(--aip-ink);padding:9px 32px 9px 12px;text-overflow:ellipsis}.aip-portfolio .aip-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 23px;border:1px solid var(--aip-accent);border-radius:25px;background:var(--aip-accent);color:#fff;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.4}.aip-portfolio .aip-button:hover{background:#894028;border-color:#894028;color:#fff}.aip-portfolio .aip-reset{padding:10px 4px;min-height:48px;border:0;background:transparent;color:var(--aip-ink);text-decoration:underline;cursor:pointer}.aip-portfolio :is(button,a,select,summary):focus-visible{outline:3px solid var(--aip-ink);outline-offset:4px}.aip-count{font-size:.86rem;margin:12px 0!important;color:#555}.aip-jumps{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0 36px}.aip-jumps a{color:var(--aip-ink);text-underline-offset:5px}.aip-section{margin:0 0 60px;scroll-margin-top:120px}.aip-portfolio .aip-section>h2{font-family:inherit;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:500;color:var(--aip-ink);margin:0 0 25px;padding-bottom:15px;border-bottom:1px solid var(--aip-line)}.aip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px}.aip-card{min-width:0;border:1px solid var(--aip-line);border-radius:10px;overflow:hidden;background:#fff;scroll-margin-top:120px}.aip-card[open]{grid-column:1/-1}.aip-card>summary{cursor:pointer;list-style:none;display:block}.aip-card>summary::-webkit-details-marker{display:none}.aip-cover{aspect-ratio:4/5;background:var(--aip-soft);overflow:hidden}.aip-portfolio .aip-cover img{width:100%;height:100%;max-height:none;object-fit:contain;display:block;transform:none}.aip-card[open]>summary{display:flex;align-items:center;gap:24px}.aip-card[open] .aip-cover{aspect-ratio:4/5;width:calc((100% - 56px)/3);flex-shrink:0;max-height:none}.aip-card[open] .aip-card-heading{min-width:0;flex:1}.aip-portfolio .aip-card:not([open])>.aip-body{display:none!important}.aip-card-heading{padding:22px 24px}.aip-portfolio .aip-card-heading h3{font:inherit;font-size:1.35rem;font-weight:600;line-height:1.35;color:var(--aip-ink);margin:0 0 12px;overflow-wrap:anywhere}.aip-discover{color:var(--aip-accent);font-size:.95rem;font-weight:600}.aip-open-label{display:none}.aip-card[open] .aip-open-label{display:inline}.aip-card[open] .aip-closed-label{display:none}.aip-body{padding:0 24px 28px}.aip-description{max-width:800px;margin:24px auto;color:#353535;overflow-wrap:anywhere}.aip-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.aip-portfolio .aip-photo{margin:0 0 22px;min-width:0}.aip-photos .aip-photo{margin:0}.aip-photo a{display:block;position:relative;background:var(--aip-soft);color:var(--aip-ink)}.aip-photo img{display:block;width:100%;height:auto;border-radius:4px}.aip-portfolio .aip-intro-image{max-width:none;margin:0!important}.aip-zoom-hint{position:absolute;right:8px;bottom:8px;padding:3px 9px;border-radius:15px;background:#fff;color:var(--aip-ink);font-size:12px}.aip-photo figcaption{font-size:.85rem;color:#555;padding-top:6px}.aip-portfolio .aip-collapse{margin-top:28px}.aip-notice,.aip-empty{padding:24px;background:var(--aip-soft);border-radius:8px}.aip-portfolio .aip-dialog{position:fixed;inset:0;margin:auto;border:0;border-radius:8px;padding:60px 16px 16px;background:#fff;color:var(--aip-ink);width:max-content;max-width:95vw;max-height:94vh;overflow:auto}.aip-dialog::backdrop{background:rgba(9,15,39,.88)}.aip-dialog img{display:block;max-width:88vw;max-height:75vh;width:auto;height:auto;object-fit:contain;margin:auto}.aip-dialog p{margin:8px 0 0;text-align:center}.aip-portfolio .aip-dialog-close{position:absolute;top:12px;right:16px;padding:7px 12px;border:1px solid var(--aip-line);border-radius:4px;background:#fff;color:var(--aip-ink);cursor:pointer}.aip-dialog:not([open]){display:none}@media(min-width:641px) and (max-width:1024px){.aip-grid,.aip-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.aip-card[open] .aip-cover{width:calc((100% - 28px)/2)}}@media(max-width:640px){.aip-portfolio{padding:16px 0}.aip-portfolio .aip-filters{padding:18px;gap:14px}.aip-filters>div{flex-basis:100%;min-width:0}.aip-grid,.aip-photos{grid-template-columns:1fr;gap:20px}.aip-card[open]>summary{display:block}.aip-card[open] .aip-cover{aspect-ratio:4/5;width:100%}.aip-card-heading{padding:18px}.aip-body{padding:0 14px 20px}.aip-jumps{font-size:.9rem}.aip-section{margin-bottom:40px}}@media(prefers-reduced-motion:reduce){.aip-cover img{transition:none}}

/* Presentation beside the cover and full-screen gallery controls. */
.aip-portfolio .aip-card:not([open]) > .aip-project-intro { display: none !important; }
.aip-portfolio .aip-card[open] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 28px;
    row-gap: 24px;
    align-items: start;
}
.aip-portfolio .aip-card[open]::details-content { display: contents; }
.aip-portfolio .aip-card[open] > summary {
    display: block;
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}
.aip-portfolio .aip-card[open] .aip-cover { width: 100%; aspect-ratio: 4 / 5; }
.aip-portfolio .aip-project-intro { grid-column: 2; grid-row: 1; min-width: 0; }
.aip-portfolio .aip-project-intro .aip-photo { margin: 0; }
.aip-portfolio .aip-project-intro .aip-enlarge { aspect-ratio: 4 / 5; }
.aip-portfolio .aip-project-intro img {
    width: 100%; height: 100%; max-height: none;
    object-fit: contain; display: block;
}
.aip-portfolio .aip-card[open] > .aip-body { grid-column: 1 / -1; min-width: 0; }
.aip-portfolio .aip-dialog {
    max-width: 96vw; max-height: 96vh; max-height: 96dvh;
    padding: 60px 16px 16px; overscroll-behavior: contain;
}
.aip-portfolio .aip-dialog .aip-dialog-image {
    max-width: 88vw; max-height: calc(96vh - 180px);
    max-height: calc(96dvh - 180px); object-fit: contain;
    touch-action: pan-y pinch-zoom;
}
.aip-portfolio .aip-dialog-navigation {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; margin-top: 14px;
}
.aip-portfolio .aip-dialog-navigation button {
    min-height: 44px; padding: 8px 14px;
    border: 1px solid var(--aip-line); border-radius: 24px;
    background: var(--aip-soft); color: var(--aip-ink);
    font: inherit; font-size: 15px; line-height: 1.4; cursor: pointer;
}
.aip-portfolio .aip-dialog-navigation button:hover:not(:disabled) {
    background: var(--aip-ink); color: #fff;
}
.aip-portfolio .aip-dialog-navigation button:disabled { opacity: .4; cursor: default; }
.aip-portfolio .aip-dialog-counter {
    flex-shrink: 0; min-width: 4ch; text-align: center;
    color: var(--aip-ink); font-size: 14px; font-variant-numeric: tabular-nums;
}
.aip-portfolio .aip-dialog-caption { overflow-wrap: anywhere; }
@media (min-width: 641px) and (max-width: 1024px) {
    .aip-portfolio .aip-card[open] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .aip-portfolio .aip-card[open] { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
    .aip-portfolio .aip-project-intro { grid-column: 1; grid-row: 2; }
    .aip-portfolio .aip-dialog { padding: 58px 10px 12px; }
    .aip-portfolio .aip-dialog-navigation { gap: 6px; }
    .aip-portfolio .aip-dialog-navigation button { padding: 8px 10px; font-size: 13px; }
}


/* Masquer le libellé et les flèches sous le titre du projet. */
.aip-portfolio .aip-discover {
    display: none;
}
