/* Spécifique /photographie/ – compléter le CSS principal, ne pas le remplacer. */
.photographie-page{background:#080909;color:#f5f0e8;font-family:Inter,Arial,sans-serif}
.photographie-page .ph-header{position:sticky;top:0;z-index:90;background:rgba(5,6,6,.97);border-bottom:1px solid #ffffff20}
.photographie-page .ph-header-inner{height:88px;max-width:1510px;margin:auto;padding:0 38px;display:flex;align-items:center;gap:28px}
.photographie-page .ph-logo{flex:0 0 285px;min-width:0}.photographie-page .ph-logo img{width:100%;height:auto;display:block}
.photographie-page .ph-nav{flex:1;display:flex;align-items:center;justify-content:center;gap:26px}
.photographie-page .ph-nav a{font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:#e7e2da;white-space:nowrap;border-bottom:2px solid transparent;padding:34px 0 30px}
.photographie-page .ph-nav a:hover,.photographie-page .ph-nav .is-current{color:#e6c66f;border-bottom-color:#cba24a}
.photographie-page .ph-nav .ph-nav-parent{color:#c6bcae}
.photographie-page .ph-socials{display:flex;align-items:center;gap:13px}.photographie-page .ph-socials a{font-size:15px;font-weight:800;color:#e7e2da}
.photographie-page .ph-menu-toggle{display:none}
.photographie-page .ph-hero{height:560px;min-height:510px;position:relative;display:flex;align-items:center;overflow:hidden;background:#111}
.photographie-page .ph-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1)}
.photographie-page .ph-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#030404 3%,rgba(3,4,4,.97) 19%,rgba(3,4,4,.84) 39%,rgba(3,4,4,.12) 83%)}
.photographie-page .ph-hero-copy{position:relative;z-index:1;width:min(1350px,calc(100% - 100px));margin:auto}
.photographie-page .ph-eyebrow{margin:0 0 16px;color:#d7b66c;font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.photographie-page .ph-hero h1{margin:0 0 12px;font-size:clamp(53px,7vw,98px);font-weight:650;letter-spacing:-.045em;line-height:1;text-transform:uppercase}
.photographie-page .ph-subhead{font-size:clamp(15px,1.8vw,20px);color:#f4f0e8;margin:0 0 19px}
.photographie-page .ph-intro{max-width:490px;color:#d0cbc4;font-size:15px;line-height:1.7;margin:0 0 28px}
.photographie-page .ph-button{display:inline-flex;align-items:center;gap:18px;border:1px solid #cba24a;padding:14px 21px;color:#eacb87;font-size:12px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;transition:background .2s}
.photographie-page .ph-button:hover{background:#cba24a;color:#090909}
.photographie-page .ph-portfolio{padding:65px 32px 85px;background:#090a0a}
.photographie-page .ph-section-header{max-width:1400px;margin:0 auto 28px}.photographie-page h2{font-size:clamp(28px,4vw,44px);line-height:1.1;font-weight:700;letter-spacing:.015em;text-transform:uppercase;margin:0}
.photographie-page .ph-photo-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.photographie-page .ph-photo-tile{min-width:0;margin:0;position:relative;height:325px;overflow:hidden;background:#161616}
.photographie-page .ph-photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.photographie-page .ph-photo-tile:hover img{transform:scale(1.035)}
.photographie-page .ph-photo-tile::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}
.photographie-page .ph-photo-tile figcaption{position:absolute;z-index:1;bottom:20px;left:20px;right:12px;text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:.15em;color:#fff}
.photographie-page .ph-services{max-width:1400px;margin:auto;padding:65px 32px;display:grid;grid-template-columns:1fr 1.35fr;gap:55px;border-top:1px solid #ffffff24}
.photographie-page .ph-services>p{font-size:17px;line-height:1.75;max-width:680px;color:#bab4aa;margin:0}
.photographie-page .ph-contact{padding:62px max(32px,calc((100% - 1336px)/2));background:#121311;display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid #ffffff20}
.photographie-page .ph-contact p:last-child{color:#bab4aa;margin:15px 0 0}
.photographie-page .ph-contact-details{display:grid;gap:9px;min-width:235px}.photographie-page .ph-contact-details strong{color:#f7f2e9;font-weight:700}.photographie-page .ph-contact-details a{color:#ddbf80}
.photographie-page .ph-footer{padding:30px 38px;display:flex;justify-content:space-between;gap:28px;align-items:center;background:#050606;border-top:1px solid #ffffff20;color:#c2b9ad}
.photographie-page .ph-footer>div:first-child{display:grid;gap:6px}.photographie-page .ph-footer span{text-transform:uppercase;font-weight:800;color:#fff;letter-spacing:.08em;font-size:13px}.photographie-page .ph-footer small{font-size:12px}
.photographie-page .ph-footer-links{display:flex;flex-wrap:wrap;gap:15px;font-size:12px}.photographie-page .ph-footer-links a:hover{color:#e6c66f}
@media(max-width:1230px){.photographie-page .ph-header-inner{padding:0 20px;gap:16px}.photographie-page .ph-logo{flex-basis:230px}.photographie-page .ph-nav{gap:14px}.photographie-page .ph-nav a{font-size:10px}.photographie-page .ph-socials{gap:9px}.photographie-page .ph-photo-tile{height:280px}}
@media(max-width:980px){.photographie-page .ph-header-inner{height:76px}.photographie-page .ph-logo{flex-basis:255px}.photographie-page .ph-socials{margin-left:auto}.photographie-page .ph-menu-toggle{display:block;order:3;background:none;border:1px solid #ffffff40;color:#fff;padding:7px 12px;font-size:23px;cursor:pointer}.photographie-page .ph-nav{display:none;position:absolute;top:76px;right:0;left:0;background:#080909;flex-direction:column;align-items:stretch;gap:0;padding:10px 22px 20px;border-bottom:1px solid #ffffff30}.photographie-page .ph-nav.is-open{display:flex}.photographie-page .ph-nav a{padding:13px 5px;border-bottom:1px solid #ffffff20}.photographie-page .ph-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photographie-page .ph-photo-tile{height:330px}}
@media(max-width:640px){.photographie-page .ph-header-inner{padding:0 13px;gap:8px;height:69px}.photographie-page .ph-logo{flex-basis:205px}.photographie-page .ph-socials{display:none}.photographie-page .ph-nav{top:69px}.photographie-page .ph-hero{height:auto;min-height:590px;align-items:end}.photographie-page .ph-hero-image{object-position:63% center!important}.photographie-page .ph-hero-shade{background:linear-gradient(0deg,rgba(3,4,4,.98) 0%,rgba(3,4,4,.82) 31%,rgba(3,4,4,.08) 85%)}.photographie-page .ph-hero-copy{width:calc(100% - 36px);padding:170px 0 48px}.photographie-page .ph-hero h1{font-size:48px}.photographie-page .ph-eyebrow{font-size:10px}.photographie-page .ph-intro{font-size:14px}.photographie-page .ph-portfolio{padding:46px 13px 54px}.photographie-page .ph-section-header{margin-bottom:24px}.photographie-page .ph-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photographie-page .ph-photo-tile{height:260px}.photographie-page .ph-photo-tile figcaption{left:10px;bottom:13px;font-size:10px}.photographie-page .ph-services{grid-template-columns:1fr;gap:20px;padding:49px 19px}.photographie-page .ph-services>p{font-size:15px}.photographie-page .ph-contact{padding:45px 19px;align-items:start;flex-direction:column}.photographie-page .ph-footer{padding:27px 19px;align-items:start;flex-direction:column}}
@media(max-width:380px){.photographie-page .ph-logo{flex-basis:185px}.photographie-page .ph-hero h1{font-size:42px}.photographie-page .ph-photo-grid{grid-template-columns:1fr}.photographie-page .ph-photo-tile{height:370px}}


/* MAJ 13/10/2026 — Accueil photo avec cadrage entier et 6 rubriques */
@media(min-width:641px){
  .photographie-page .ph-hero{height:auto;min-height:560px;padding:55px 4vw;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:clamp(20px,4vw,72px);align-items:center;overflow:visible;background:#080909}
  .photographie-page .ph-hero-image{position:static;inset:auto;grid-column:2;grid-row:1;width:100%;height:auto;max-height:550px;object-fit:contain;filter:none;border:1px solid #ffffff22;background:#111}
  .photographie-page .ph-hero-shade{display:none}
  .photographie-page .ph-hero-copy{grid-column:1;grid-row:1;width:100%;margin:0;min-width:0}
  .photographie-page .ph-hero h1{font-size:clamp(46px,5.7vw,82px)}
}
@media(max-width:800px) and (min-width:641px){
  .photographie-page .ph-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);padding:35px 24px}
  .photographie-page .ph-hero h1{font-size:clamp(39px,5.7vw,55px)}
}
@media(max-width:640px){
  .photographie-page .ph-hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:24px 18px 40px;gap:28px;background:#080909}
  .photographie-page .ph-hero-image{position:static;inset:auto;order:1;width:100%;height:auto;max-height:470px;object-fit:contain!important;object-position:center!important;filter:none;border:1px solid #ffffff22;background:#111}
  .photographie-page .ph-hero-shade{display:none}
  .photographie-page .ph-hero-copy{order:0;width:100%;padding:0;margin:0}
}
.photographie-page .ph-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.photographie-page .ph-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.photographie-page .ph-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.photographie-page .ph-photo-grid{grid-template-columns:1fr}}

/* Correctif alignement accueil/portfolio — 13 octobre 2026 */
@media (min-width:641px) {
  .photographie-page .ph-hero {
    width:min(1400px,calc(100% - 64px));
    margin:0 auto;
    padding:64px 0;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(30px,5vw,80px);
    min-height:0;
  }
  .photographie-page .ph-hero-copy {padding:0;max-width:100%;}
  .photographie-page .ph-hero-image {
    width:100%;height:auto;max-height:none;
    aspect-ratio:3/2;object-fit:contain;
    filter:none;border:0;
  }
}
@media(max-width:640px){
  .photographie-page .ph-hero{width:calc(100% - 26px);margin:0 auto;padding:35px 0 40px;}
  .photographie-page .ph-hero-image{max-height:none;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain!important;border:0;}
}

/* Portfolio public dynamique, inspiré de la mosaïque des galeries privées. */
.photographie-page .ph-filters{max-width:1400px;margin:0 auto 26px;display:flex;gap:9px;flex-wrap:wrap}
.photographie-page .ph-filter{border:1px solid #ffffff32;color:#eae4da;background:#141515;padding:10px 15px;font:inherit;font-size:12px;cursor:pointer;transition:background .22s,border-color .22s,color .22s}
.photographie-page .ph-filter:hover,.photographie-page .ph-filter.is-active{background:#cba24a;color:#080909;border-color:#cba24a}
.photographie-page .ph-photo-grid--public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:8px;grid-auto-flow:dense;gap:14px;align-items:start}
.photographie-page .ph-photo-grid--public .ph-photo-tile{height:auto;grid-column:span 1;min-width:0;overflow:hidden}
.photographie-page .ph-photo-grid--public .ph-photo-tile[hidden]{display:none!important}
.photographie-page .ph-photo-grid--public .ph-photo-size-2{grid-column:span 2}
.photographie-page .ph-photo-grid--public .ph-photo-size-3{grid-column:span 3}
.photographie-page .ph-photo-grid--public .ph-photo-open{height:auto;display:block;width:100%;padding:0;border:0;background:#161616;cursor:zoom-in}
.photographie-page .ph-photo-grid--public .ph-photo-open img{width:100%;height:auto;object-fit:contain;transform:none;filter:none;transition:filter .25s ease}
.photographie-page .ph-photo-grid--public .ph-photo-tile:hover img{transform:none;filter:brightness(1.08)}
@media(max-width:980px){.photographie-page .ph-photo-grid--public{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.photographie-page .ph-photo-grid--public .ph-photo-size-3{grid-column:span 2}}
@media(max-width:640px){.photographie-page .ph-photo-grid--public{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photographie-page .ph-photo-grid--public .ph-photo-size-2,.photographie-page .ph-photo-grid--public .ph-photo-size-3{grid-column:span 2}.photographie-page .ph-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.photographie-page .ph-filter{flex:0 0 auto}}
@media(max-width:380px){.photographie-page .ph-photo-grid--public{grid-template-columns:1fr}.photographie-page .ph-photo-grid--public .ph-photo-size-2,.photographie-page .ph-photo-grid--public .ph-photo-size-3{grid-column:span 1}}
