/** Socle visuel mutualisé de /photos, /plans et /realisation. */
.showcase-page {
    --showcase-cream:#faf7f2;
    --showcase-paper:#fffdf9;
    --showcase-ink:#1b1f1a;
    --showcase-muted:#625f58;
    --showcase-green:#2d6a4f;
    --showcase-green-deep:#173d2e;
    --showcase-green-soft:#e9f1ec;
    --showcase-line:rgba(27,31,26,.12);
    overflow-x:clip;
    background:var(--showcase-cream);
    color:var(--showcase-ink);
}
.showcase-page,.showcase-page *,.showcase-page *::before,.showcase-page *::after {box-sizing:border-box}
.showcase-container {
    width:min(1180px,calc(100% - 48px));
    margin-inline:auto;
}
.showcase-hero {
    position:relative;
    min-height:clamp(560px,72vh,780px);
    display:grid;
    align-items:center;
    isolation:isolate;
    background:var(--showcase-green-deep) center/cover no-repeat;
}
.showcase-hero::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(10,24,18,.64),rgba(10,24,18,.18) 64%,rgba(10,24,18,.08));
}
.showcase-hero__inner {
    width:min(1180px,calc(100% - 48px));
    margin-inline:auto;
    padding-block:clamp(72px,9vw,118px);
}
.showcase-hero__panel {
    width:min(650px,100%);
    padding:clamp(30px,4.8vw,58px);
    border:1px solid rgba(255,255,255,.52);
    border-radius:28px;
    background:rgba(250,247,242,.94);
    box-shadow:0 24px 70px rgba(20,43,33,.12);
    backdrop-filter:blur(12px);
}
.showcase-kicker {display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--showcase-green);font-size:.77rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.showcase-kicker::before {content:'';width:34px;height:1px;background:currentColor}
.showcase-hero h1,.showcase-heading {margin:0;color:var(--showcase-green-deep);font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.25rem,5vw,4.4rem);font-weight:400;letter-spacing:-.025em;line-height:.99;text-wrap:balance}
.showcase-hero__lead {max-width:54ch;margin:24px 0 0;color:var(--showcase-muted);font-size:clamp(1rem,1.7vw,1.16rem);line-height:1.7}
.showcase-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.showcase-button {min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 24px;border:1px solid var(--showcase-green);border-radius:999px;background:var(--showcase-green);color:#fff;font-weight:700;text-align:center;text-decoration:none;transition:.2s ease}
.showcase-button:hover {transform:translateY(-2px);border-color:var(--showcase-green-deep);background:var(--showcase-green-deep);color:#fff}
.showcase-button--ghost {background:transparent;color:var(--showcase-green-deep)}
.showcase-button--ghost:hover {color:#fff}
.showcase-facts {position:relative;z-index:2;width:min(980px,calc(100% - 48px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:-44px auto 0;border:1px solid var(--showcase-line);border-radius:22px;background:var(--showcase-paper);box-shadow:0 18px 55px rgba(20,43,33,.1)}
.showcase-fact {min-width:0;padding:24px 28px;text-align:center}
.showcase-fact + .showcase-fact {border-left:1px solid var(--showcase-line)}
.showcase-fact strong {display:block;color:var(--showcase-green-deep);font:400 clamp(1.7rem,3vw,2.35rem)/1.05 'DM Serif Display',Georgia,serif}
.showcase-fact span {display:block;margin-top:7px;color:var(--showcase-muted);font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.showcase-section {padding-block:clamp(72px,9vw,118px)}
.showcase-section--paper {background:var(--showcase-paper)}
.showcase-section__header {max-width:760px;margin:0 auto 48px;text-align:center}
.showcase-section__header .showcase-heading {font-size:clamp(2rem,4vw,3.35rem);line-height:1.08}
.showcase-section__header > p:last-child {margin:18px auto 0;color:var(--showcase-muted);font-size:1.05rem;line-height:1.75}
.showcase-feature-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.showcase-feature {padding:30px;border:1px solid var(--showcase-line);border-radius:20px;background:var(--showcase-paper)}
.showcase-feature svg {width:30px;height:30px;color:var(--showcase-green)}
.showcase-feature h3 {margin:20px 0 9px;color:var(--showcase-green-deep);font:400 1.35rem 'DM Serif Display',Georgia,serif}
.showcase-feature p {margin:0;color:var(--showcase-muted);line-height:1.65}
.showcase-filter {display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:18px}
.showcase-filter button {min-height:44px;padding:10px 19px;border:1px solid var(--showcase-line);border-radius:999px;background:var(--showcase-paper);color:var(--showcase-green-deep);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:700;transition:.2s ease}
.showcase-filter button:hover,.showcase-filter button.active,.showcase-filter button[aria-pressed='true'] {border-color:var(--showcase-green);background:var(--showcase-green);color:#fff}
.showcase-count {margin:0 0 34px;color:var(--showcase-muted);text-align:center}
.showcase-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.showcase-card {min-width:0;overflow:hidden;border:1px solid var(--showcase-line);border-radius:20px;background:var(--showcase-paper);box-shadow:0 8px 28px rgba(20,43,33,.06);transition:.25s ease}
.showcase-card:hover {transform:translateY(-5px);box-shadow:0 20px 48px rgba(20,43,33,.12)}
.showcase-card__media {position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--showcase-green-soft)}
.showcase-card__media > a {display:block;width:100%;height:100%}
.showcase-card__media img {width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.showcase-card:hover .showcase-card__media img {transform:scale(1.035)}
.showcase-card__body {padding:24px}
.showcase-card__eyebrow {margin:0 0 9px;color:var(--showcase-green);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.showcase-card h3 {margin:0;color:var(--showcase-green-deep);font:400 1.45rem/1.18 'DM Serif Display',Georgia,serif}
.showcase-card h3 a {color:inherit;text-decoration:none}
.showcase-card h3 a:hover {color:var(--showcase-green)}
.showcase-card__description {margin:13px 0 0;color:var(--showcase-muted);line-height:1.65}
.showcase-card__meta {display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.showcase-card__meta li {padding:6px 10px;border-radius:999px;background:var(--showcase-green-soft);color:var(--showcase-green-deep);font-size:.8rem;font-weight:700}
.showcase-card__actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.showcase-card__actions .showcase-button {min-height:44px;padding:10px 17px;font-size:.88rem}
.showcase-card.is-hidden,.showcase-card.hidden {display:none}
.showcase-card__placeholder {width:100%;height:100%;display:grid;place-items:center;gap:10px;padding:24px;color:var(--showcase-green);text-align:center;background:linear-gradient(135deg,var(--showcase-green-soft),#f7f2e9)}
.showcase-card__placeholder svg {width:44px;height:44px}
.showcase-card__placeholder span {font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.showcase-breadcrumb {padding:22px 0;background:var(--showcase-paper);border-bottom:1px solid var(--showcase-line)}
.showcase-breadcrumb ol {display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;color:var(--showcase-muted);font-size:.9rem}
.showcase-breadcrumb li + li::before {content:'›';margin-right:8px;color:var(--showcase-green)}
.showcase-breadcrumb a {color:var(--showcase-green-deep);font-weight:700;text-decoration:none}
.showcase-detail {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr);gap:clamp(34px,6vw,78px);align-items:center}
.showcase-detail__media {overflow:hidden;border-radius:28px;background:var(--showcase-green-soft);box-shadow:0 22px 58px rgba(20,43,33,.12)}
.showcase-detail__media img {width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}
.showcase-detail__content .showcase-heading {font-size:clamp(2.35rem,5vw,4.4rem)}
.showcase-detail__lead {margin:24px 0 0;color:var(--showcase-muted);font-size:1.08rem;line-height:1.75}
.showcase-detail__facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0 0;padding:0;list-style:none}
.showcase-detail__facts li {padding:16px;border:1px solid var(--showcase-line);border-radius:14px;background:var(--showcase-paper)}
.showcase-detail__facts span {display:block;color:var(--showcase-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.showcase-detail__facts strong {display:block;margin-top:5px;color:var(--showcase-green-deep)}
.showcase-empty {grid-column:1/-1;padding:42px;border:1px dashed var(--showcase-line);border-radius:20px;color:var(--showcase-muted);text-align:center}
.showcase-cta {padding:clamp(38px,6vw,68px);border-radius:28px;background:var(--showcase-green-deep);color:#fff;text-align:center}
.showcase-cta h2,.showcase-cta h3 {margin:0;color:#fff;font:400 clamp(2rem,4vw,3.2rem)/1.08 'DM Serif Display',Georgia,serif}
.showcase-cta p {max-width:700px;margin:18px auto 0;color:rgba(255,255,255,.82);line-height:1.7}
.showcase-cta .showcase-actions {justify-content:center}
.showcase-cta .showcase-button {border-color:#fff;background:#fff;color:var(--showcase-green-deep)}
.showcase-cta .showcase-button:hover {border-color:var(--showcase-green-soft);background:var(--showcase-green-soft);color:var(--showcase-green-deep)}
.showcase-page a:focus-visible,.showcase-page button:focus-visible,.showcase-page summary:focus-visible {outline:3px solid #f0b95a;outline-offset:3px}
@media (max-width:1024px) {
    .showcase-grid,.showcase-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
    .showcase-detail {grid-template-columns:1fr}
}
@media (max-width:768px) {
    .showcase-container,.showcase-hero__inner {width:min(calc(100% - 32px),1180px)}
    .showcase-hero {min-height:auto;align-items:end;padding-top:180px;background-position:center}
    .showcase-hero::before {background:linear-gradient(180deg,rgba(10,24,18,.08),rgba(10,24,18,.74))}
    .showcase-hero__inner {padding-block:32px}
    .showcase-hero__panel {padding:28px 24px;border-radius:22px;backdrop-filter:none}
    .showcase-facts {width:min(calc(100% - 32px),980px);margin-top:24px;grid-template-columns:1fr}
    .showcase-fact {padding:18px 20px}
    .showcase-fact + .showcase-fact {border-top:1px solid var(--showcase-line);border-left:0}
    .showcase-grid,.showcase-feature-grid {grid-template-columns:1fr}
    .showcase-detail__facts {grid-template-columns:1fr}
    .showcase-section {padding-block:64px}
}
@media (max-width:390px) {
    .showcase-actions,.showcase-card__actions {flex-direction:column}
    .showcase-button,.showcase-card__actions .showcase-button {width:100%}
}
@media (prefers-reduced-motion:reduce) {
    .showcase-page *,.showcase-page *::before,.showcase-page *::after {
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}
