/* Pages Avis, Portfolio, Mentions légales, Journal */
/* Avis */
.av-bloc{padding:clamp(70px,9vw,140px) var(--gutter);border-top:1px solid var(--hair);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.av-grand{grid-column:2 / span 10;margin-bottom:clamp(40px,5vw,80px)}
.av-grand .lab{display:block;color:var(--champagne);margin-bottom:28px}
.av-grand blockquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.9rem,3.8vw,3.8rem);line-height:1.12;letter-spacing:-.012em;text-wrap:balance}
.av-grand figcaption{margin-top:30px;color:var(--taupe)}
.av-duo{grid-column:2 / span 10;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px)}
.av-carte{padding:clamp(26px,3vw,44px);background:var(--graphite);border:1px solid var(--hair)}
.av-carte blockquote{font-size:1.02rem;line-height:1.8;color:rgba(238,234,226,.88)}
.av-carte figcaption{margin-top:22px;color:var(--champagne)}
.suite-fin{padding:clamp(80px,11vw,170px) var(--gutter);border-top:1px solid var(--hair);text-align:center}
.suite-fin h2{font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.05;margin-bottom:40px}
/* Portfolio */
.pf{padding:0 var(--gutter) clamp(70px,9vw,140px)}
.pf-grille{columns:3;column-gap:clamp(14px,1.6vw,24px)}
.pf-grille a{display:block;break-inside:avoid;margin-bottom:clamp(14px,1.6vw,24px);overflow:hidden;background:var(--graphite);cursor:zoom-in}
.pf-grille.cols{columns:auto;display:flex;align-items:flex-start;gap:clamp(14px,1.6vw,24px)}.pf-grille .col{flex:1 1 0;min-width:0}
.pf-grille a.plus{display:none}
.pf-grille.tout a.plus{display:block}
.pf-grille img{width:100%;height:auto;transition:transform 1.2s var(--ease),opacity .6s}
.pf-grille a:hover img{transform:scale(1.04)}
.pf-suite{text-align:center;margin-top:clamp(36px,4vw,60px)}
.pf-lb{position:fixed;inset:0;z-index:300;background:rgba(14,13,12,.93);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:70px 70px 50px}
.pf-lb[hidden]{display:none}
.pf-lb img{max-width:100%;max-height:100%;object-fit:contain;will-change:transform,opacity;user-select:none;-webkit-user-drag:none;cursor:grab;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.pf-lb button{transition:color .3s,letter-spacing .4s var(--ease)}.pf-lb button:hover{letter-spacing:.34em}.pf-p:hover,.pf-n:hover{letter-spacing:.26em!important;color:var(--champagne)}
.pf-lb button{position:absolute;color:var(--ivoire);font-family:var(--sans);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase}
.pf-x{top:24px;right:var(--gutter)}
.pf-p,.pf-n{top:50%;transform:translateY(-50%);font-size:1.6rem!important;padding:20px}
.pf-p{left:10px}.pf-n{right:10px}
/* Mentions légales */
.legal{max-width:820px;margin:0 auto;padding:clamp(30px,4vw,60px) var(--gutter) clamp(80px,10vw,150px)}
.legal h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1.1;margin:2.2em 0 .6em}
.legal h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;color:var(--champagne);margin:1.6em 0 .4em}
.legal p,.legal li{color:rgba(238,234,226,.86);font-size:1rem;line-height:1.8}
.legal p{margin-bottom:1em}
.legal ul{margin:0 0 1.2em;padding-left:1.2em}
.legal a{color:var(--champagne);text-decoration:underline;text-underline-offset:3px}
.legal b{font-weight:500;color:var(--ivoire)}
.legal .legal-maj{color:var(--taupe);margin-top:2.4em;font-size:.9rem}
@media (max-width:900px){.pf-grille{columns:2}.av-grand,.av-duo{grid-column:1 / -1}.av-duo{grid-template-columns:1fr}.pf-lb{padding:70px 14px 40px}}
@media (max-width:520px){.pf-grille{columns:1}}
