.project-open {display:block;position:relative;width:100%;border:0;background:transparent;text-align:left;color:var(--ink);cursor:pointer;font:inherit;}
.project-open-label {position:absolute;bottom:14px;right:14px;padding:9px 13px;background:var(--bone);font:11px var(--mono);letter-spacing:.04em;border-radius:2px;}
.project-open:focus-visible, button:focus-visible, a:focus-visible {outline:2px solid var(--ink);outline-offset:5px;}
.project-is-open {overflow:hidden;}
.project-dialog {width:min(1100px,94vw);max-width:1100px;max-height:92dvh;padding:0;overflow:auto;overscroll-behavior:contain;}
.project-toolbar {position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px;background:var(--bone);border-bottom:1px solid var(--ink-faint);}
.project-close {border:0;background:none;font:13px var(--mono);padding:10px;cursor:pointer;color:var(--ink);}
.project-dialog article {display:grid;grid-template-columns:1fr 1fr;align-items:start;}
.project-cover {position:sticky;top:81px;}
.project-cover img {width:100%;height:calc(92dvh - 81px);object-fit:cover;}
.project-copy {padding:36px;}
.project-copy h2 {font-size:clamp(30px,4vw,52px);line-height:1.05;margin:18px 0 28px;}
.project-copy .project-lead {font-size:24px;line-height:1.25;margin-bottom:16px;}
.project-copy > p:not(.mono) {font-size:17px;line-height:1.65;}
.project-copy h3 {margin:30px 0 14px;}
#project-materials {display:flex;flex-wrap:wrap;gap:8px;}
#project-materials li {font-size:13px;padding:8px 12px;border:1px solid var(--ink-faint);}
.project-detail {margin:30px 0 24px;}
.project-detail > div {height:230px;overflow:hidden;}
.project-detail img {width:100%;height:100%;object-fit:cover;transform:scale(1.6);}
.project-detail figcaption {font-size:13px;line-height:1.5;margin-top:12px;color:#62615d;}
.project-copy .project-disclaimer {font-size:10px;line-height:1.6;color:#62615d;}
.project-pagination {display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--ink-faint);}
.project-pagination button {font:13px var(--mono);border:0;background:none;color:var(--ink);cursor:pointer;padding:10px 0;}
.footer-bottom > p:last-child {text-transform:none;}
.footer-mail {max-width:100%;font-size:clamp(22px,4.5vw,64px);}
@media(max-width:650px){.project-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0;}.project-toolbar{padding:12px 16px;}.project-toolbar .mono{font-size:9px;}.project-dialog article{display:block;}.project-cover{position:static;}.project-cover img{height:48dvh;}.project-copy{padding:26px 22px;}.project-copy h2{font-size:38px;}.project-open-label{font-size:9px;padding:7px 9px;bottom:9px;right:9px;}}
@media(prefers-reduced-motion:reduce){.card-img img{transition:none;}}
@media(max-width:900px){.dock-nav{display:flex;}.dock-nav .dock-link:first-child{display:block;}.dock-nav .dock-link:last-child{display:none;}}
@media(max-width:480px){.dock-nav .dock-link{font-size:10px;padding:8px 6px;}.dock-nav{margin-left:auto;margin-right:4px;}}

/* Footer : réseaux centrés, signature à droite. */
.footer-bottom {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;}
.footer-bottom > p:nth-child(2) {display:flex;justify-content:center;align-items:center;gap:22px;white-space:nowrap;}
.footer-bottom > p:last-child {text-align:right;}
.social-pending {color:var(--ink);cursor:default;}
@media(max-width:760px){.footer-bottom{grid-template-columns:1fr;text-align:center;gap:18px;}.footer-bottom > p:last-child{text-align:center;}}

/* Échelle du nouveau nom de marque. */
.footer-name {font-size:clamp(36px,10vw,190px);}
@media(max-width:480px){.dock-wordmark{font-size:14px;letter-spacing:-.03em;}.dock{gap:4px;}.dock-cta{padding-left:9px;padding-right:9px;}.footer-name{font-size:10vw;}}
