/* Pictured Life — shared blog article styles. Version 20260722-1 */
:root { --bg:#0B0906; --bg-1:#141008; --gold:#C8923A; --text:#EDE5D9; --muted:#6E665C; --rule:rgba(237,229,217,.08); }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:'Work Sans',sans-serif; font-weight:300; overflow-x:hidden; -webkit-font-smoothing:antialiased; cursor:none; }
body::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:999; opacity:.035; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }
.cur-dot { position:fixed; z-index:9999; pointer-events:none; width:8px; height:8px; border-radius:50%; background:var(--gold); transform:translate(-50%,-50%); transition:transform .1s,opacity .3s; }
.cur-ring { position:fixed; z-index:9998; pointer-events:none; width:36px; height:36px; border-radius:50%; border:1px solid rgba(200,146,58,.5); transform:translate(-50%,-50%); transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),border-color .3s; }
body.hover-link .cur-ring { width:56px; height:56px; border-color:var(--gold); }
body.hover-link .cur-dot { transform:translate(-50%,-50%) scale(0); opacity:0; }
nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:0 60px; height:72px; background:rgba(11,9,6,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--rule); }
.nav-logo img { height:38px; display:block; }
.nav-links { list-style:none; display:flex; gap:32px; }
.nav-links a { font-size:11px; font-weight:400; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); text-decoration:none; position:relative; padding-bottom:3px; transition:color .3s; cursor:none; }
.nav-links a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--gold); transition:width .4s cubic-bezier(.16,1,.3,1); }
.nav-links a:hover,.nav-links a.active { color:var(--gold); }
.nav-links a:hover::after,.nav-links a.active::after { width:100%; }
.burger { display:none; flex-direction:column; justify-content:center; align-items:center; width:44px; height:44px; gap:6px; background:none; border:none; cursor:pointer; padding:0; }
.burger span { display:block; width:24px; height:1px; background:var(--text); transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s,width .3s; transform-origin:center; }
body.menu-open .burger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
body.menu-open .burger span:nth-child(2) { opacity:0; width:0; }
body.menu-open .burger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-menu { position:fixed; inset:0; z-index:200; background:var(--bg); display:flex; flex-direction:column; justify-content:center; padding:80px 32px 48px; opacity:0; pointer-events:none; transition:opacity .45s ease; }
body.menu-open .mobile-menu { opacity:1; pointer-events:all; }
body.menu-open nav { z-index:201; background:transparent; backdrop-filter:none; border-color:transparent; }
body.menu-open .nav-logo { visibility:hidden; }
.mobile-menu ul { list-style:none; }
.mobile-menu ul li { overflow:hidden; border-bottom:1px solid var(--rule); }
.mobile-menu ul li:first-child { border-top:1px solid var(--rule); }
.mobile-menu ul a { display:flex; align-items:center; justify-content:space-between; padding:18px 0; font-family:'Cormorant Garamond',serif; font-size:30px; font-weight:500; text-transform:uppercase; letter-spacing:.04em; text-decoration:none; color:var(--muted); transform:translateY(20px); opacity:0; transition:color .3s,transform .5s cubic-bezier(.16,1,.3,1),opacity .5s ease; }
body.menu-open .mobile-menu ul a { transform:translateY(0); opacity:1; }
body.menu-open .mobile-menu ul li:nth-child(1) a { transition-delay:.06s; }
body.menu-open .mobile-menu ul li:nth-child(2) a { transition-delay:.11s; }
body.menu-open .mobile-menu ul li:nth-child(3) a { transition-delay:.16s; }
body.menu-open .mobile-menu ul li:nth-child(4) a { transition-delay:.21s; }
body.menu-open .mobile-menu ul li:nth-child(5) a { transition-delay:.26s; }
body.menu-open .mobile-menu ul li:nth-child(6) a { transition-delay:.31s; }
body.menu-open .mobile-menu ul li:nth-child(7) a { transition-delay:.36s; }
body.menu-open .mobile-menu ul li:nth-child(8) a { transition-delay:.41s; }
.mobile-menu ul a:hover { color:var(--gold); }
.mobile-menu ul a .arr { font-size:20px; color:var(--gold); opacity:0; transition:opacity .3s; }
.mobile-menu ul a:hover .arr { opacity:1; }
.mobile-menu-foot { margin-top:40px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); opacity:0; transition:opacity .5s ease .5s; }
body.menu-open .mobile-menu-foot { opacity:1; }
.article-hero { min-height:62vh; display:flex; flex-direction:column; justify-content:flex-end; padding:120px 60px 56px; }
.crumb { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:22px; }
.crumb a { color:var(--gold); text-decoration:none; cursor:none; }
.crumb a:hover { color:var(--text); }
.article-hero .tag { font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.article-hero h1 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(34px,5vw,68px); line-height:1.04; letter-spacing:-.005em; max-width:20ch; }
.article-hero .byline { margin-top:24px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.article-hero .byline strong { color:var(--text); font-weight:400; }
.article-body { max-width:760px; margin:0 auto; padding:64px 32px 24px; }
.article-body .lead { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(20px,2.4vw,26px); line-height:1.5; color:var(--text); margin-bottom:40px; }
.article-body p { font-size:16px; line-height:1.85; color:#cdc4b6; margin-bottom:22px; }
.article-body p strong { color:var(--text); font-weight:500; }
.article-body h2 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(26px,3.2vw,40px); line-height:1.1; text-transform:uppercase; letter-spacing:.01em; margin:56px 0 8px; padding-top:40px; border-top:1px solid var(--rule); }
.article-body h2 .sub { display:block; font-family:'Work Sans',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.2em; font-size:11px; color:var(--gold); margin-bottom:14px; }
.article-body h3 { font-family:'Work Sans',sans-serif; font-weight:500; font-size:15px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:30px 0 10px; }
.gig-meta { background:var(--bg-1); border:1px solid var(--rule); border-left:2px solid var(--gold); padding:24px 26px; margin:26px 0 30px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px 24px; }
.gig-meta .k { font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.gig-meta .v { font-size:14px; color:var(--text); line-height:1.45; }
.shots { display:grid; gap:14px; margin:30px 0 8px; }
.shots.two { grid-template-columns:1fr 1fr; }
.shots.three { grid-template-columns:repeat(3,1fr); }




.shot.ph svg { width:28px; height:28px; opacity:.5; }
.shot.ph .ph-label { font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.shots-cap { font-size:12px; color:var(--muted); margin-top:4px; letter-spacing:.04em; }
blockquote { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(20px,2.6vw,28px); line-height:1.45; color:var(--text); border-left:2px solid var(--gold); padding-left:24px; margin:34px 0; }
.related { max-width:760px; margin:24px auto 0; padding:40px 32px 0; border-top:1px solid var(--rule); }
.related .lbl { font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:22px; }
.related-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.related-grid a { display:block; padding:24px 26px; border:1px solid var(--rule); text-decoration:none; color:var(--text); cursor:none; transition:border-color .3s,background .3s; }
.related-grid a:hover { border-color:rgba(200,146,58,.35); background:var(--bg-1); }
.related-grid .rt { font-family:'Cormorant Garamond',serif; font-size:22px; text-transform:uppercase; letter-spacing:.02em; margin-bottom:6px; }
.related-grid .rg { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); }
.page-cta { display:flex; flex-direction:column; align-items:center; padding:72px 60px; text-align:center; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(200,146,58,.07),transparent); margin-top:64px; }
.page-cta .eyebrow-sm { font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:22px; }
.page-cta h2 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(26px,3.4vw,44px); text-transform:uppercase; letter-spacing:.03em; color:var(--text); margin-bottom:34px; line-height:1.15; }
.btn-prim { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; text-decoration:none; padding:16px 30px; color:var(--bg); background:var(--gold); position:relative; overflow:hidden; cursor:none; transition:color .3s; }
.btn-prim::before { content:''; position:absolute; inset:0; background:var(--text); transform:translateX(-101%); transition:transform .45s cubic-bezier(.16,1,.3,1); }
.btn-prim:hover::before { transform:translateX(0); }
.btn-prim span,.btn-prim .arr { position:relative; z-index:1; }
.arr { transition:transform .3s cubic-bezier(.16,1,.3,1); }
.btn-prim:hover .arr { transform:translateX(4px); }
footer { display:flex; align-items:center; justify-content:space-between; padding:32px 60px; border-top:1px solid var(--rule); }
footer img { height:28px; opacity:.4; }
.foot-loc { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.foot-links { display:flex; gap:28px; }
.foot-links a { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-decoration:none; cursor:none; transition:color .3s; }
.foot-links a:hover { color:var(--gold); }
.sr { opacity:0; transform:translateY(24px); transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1); }
.sr.visible { opacity:1; transform:translateY(0); }
@media (max-width:860px) {
  body { cursor:auto; } .cur-dot,.cur-ring { display:none; } * { cursor:auto !important; }
  nav { padding:0 24px; } .nav-links { display:none; } .burger { display:flex; }
  .article-hero { padding:100px 24px 40px; min-height:56vh; }
  .article-body { padding:44px 24px 16px; }
  .gig-meta { grid-template-columns:1fr; gap:14px; }
  .shots.two,.shots.three { grid-template-columns:1fr; }
  .related { padding:36px 24px 0; } .related-grid { grid-template-columns:1fr; }
  .page-cta { padding:56px 24px; }
  footer { flex-direction:column; align-items:flex-start; gap:16px; padding:28px 24px 36px; }
  .foot-links { flex-wrap:wrap; gap:14px 20px; }
}

.shot { position:relative; overflow:hidden; background:var(--bg-1); }
.shot.ls { aspect-ratio:3/2; }
.shot.pt { aspect-ratio:2/3; }
.shot img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
/* LIGHTBOX */
.lbx{display:none;position:fixed;inset:0;z-index:9000;background:rgba(11,9,6,.96);align-items:center;justify-content:center;flex-direction:column;}
.lbx.open{display:flex;}
.lbx-inner{position:relative;display:flex;align-items:center;justify-content:center;max-width:92vw;max-height:88vh;}
.lbx-inner img{max-width:92vw;max-height:84vh;object-fit:contain;display:block;user-select:none;}
.lbx-cap{font-size:11px;letter-spacing:.14em;color:var(--muted);margin-top:14px;text-align:center;max-width:600px;padding:0 20px;}
.lbx-close{position:fixed;top:20px;right:24px;background:none;border:none;color:var(--text);font-size:26px;cursor:pointer;opacity:.6;transition:opacity .2s;line-height:1;padding:8px;}
.lbx-close:hover{opacity:1;}
.lbx-prev,.lbx-next{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text);font-size:44px;cursor:pointer;opacity:.35;transition:opacity .2s;padding:12px 20px;line-height:1;}
.lbx-prev{left:0;}.lbx-next{right:0;}
.lbx-prev:hover,.lbx-next:hover{opacity:.9;}
.lbx-counter{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
.shot img{cursor:zoom-in;}


/* Pont contextuel entre reportage et page locale */
.article-local-bridge {
  margin-top: 34px;
  padding: 20px 22px;
  border: 1px solid var(--rule);
  border-left: 2px solid var(--gold);
  background: var(--bg-1);
  color: #cdc4b6;
}
.article-local-bridge a { color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(200,146,58,.45); }
.article-local-bridge a:hover { color: var(--text); border-color: var(--text); }
