:root{--ink:#24334a;--muted:#536672;--cream:#fff8ed;--paper:#fffefa;--green:#087e78;--lime:#ffd166;--coral:#ff705d;--line:#e8dfd0;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:var(--green);text-underline-offset:3px}a:hover{color:#a84e37}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.topline{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#d8e4cf;background:var(--ink);padding:9px 0}.topline .wrap{display:flex;justify-content:space-between}.header{background:var(--paper);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font:700 1.45rem var(--serif);text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px}.brandmark{width:38px;height:38px;border-radius:50%;background:var(--green);color:var(--lime);display:grid;place-items:center;font:700 1.2rem var(--serif)}nav{display:flex;align-items:center;gap:23px;flex-wrap:wrap}nav a{font-size:.92rem;font-weight:650;text-decoration:none;color:var(--ink)}nav a[aria-current=page]{color:var(--green);text-decoration:underline;text-decoration-thickness:2px}.hero{background:linear-gradient(90deg,rgba(24,51,45,.97) 5%,rgba(24,51,45,.78) 52%,rgba(24,51,45,.30)),url('../images/galleries/edition-2017/CS_2017_005.jpg') center 48%/cover;color:var(--paper);padding:88px 0 82px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:480px;height:480px;border:1px solid #8eae83;border-radius:50%;right:-60px;top:-180px;box-shadow:0 0 0 42px #ffffff08,0 0 0 88px #ffffff08}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--lime);font-weight:750}.hero h1,.pagehead h1{font:500 clamp(2.6rem,6vw,5.2rem)/1.03 var(--serif);max-width:800px;margin:16px 0}.hero p{font-size:1.16rem;color:#e0e9df;max-width:620px}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.button{display:inline-block;padding:12px 18px;background:var(--lime);color:var(--ink);border-radius:4px;font-weight:750;text-decoration:none}.button.ghost{background:transparent;color:white;border:1px solid #b7cbb7}.section{padding:70px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section h2,.content h2{font:500 clamp(1.8rem,3vw,2.8rem)/1.15 var(--serif);margin:0 0 8px}.sectionhead p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}.cardbody{padding:22px}.card .tag{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--green);font-weight:750}.card h3{font:500 1.5rem/1.2 var(--serif);margin:9px 0}.card p{color:var(--muted);margin:0 0 16px}.card a{font-weight:700}.visual{height:185px;background:linear-gradient(135deg,#d1dfb8,#71947a);position:relative;overflow:hidden}.visual:before,.visual:after{content:'';position:absolute;border-radius:50%;border:1px solid #ffffffaa;width:230px;height:230px;left:44%;top:30%}.visual:after{width:140px;height:140px;left:15%;top:45%}.visual.gold{background:linear-gradient(135deg,#e5ca8d,#718563)}.visual.rose{background:linear-gradient(135deg,#eaa28a,#517962)}.pagehead{padding:55px 0 50px;background:var(--green);color:var(--paper)}.pagehead h1{font-size:clamp(2.5rem,5vw,4rem)}.pagehead p{max-width:720px;color:#dce7dc;margin:0}.content{padding:52px 0 80px}.content .prose{max-width:780px}.content p,.content li{color:#405950}.callout{border-left:4px solid var(--coral);padding:20px 24px;background:#fffdf7;margin:28px 0;font:1.2rem/1.5 var(--serif)}.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.stat{padding:20px;background:#e7eadc;border-radius:6px}.stat strong{display:block;font:2rem var(--serif);color:var(--green)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.album{padding:0;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}.album .visual{height:160px}.album div:last-child{padding:16px}.album h3{margin:0;font:1.25rem var(--serif)}.notice{background:#fff3dc;border:1px solid #edcf9d;border-radius:6px;padding:18px 20px;color:#674d25;margin:22px 0}.contactbox{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:8px;max-width:650px}.contactbox p{margin:.4rem 0}.footer{background:var(--ink);color:#dce7dc;padding:42px 0}.footergrid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer strong{color:var(--lime)}.footer a{color:#dce7dc}.small{font-size:.88rem;color:#b9c9bd}.breadcrumb{font-size:.9rem;color:var(--muted);padding-top:24px}.breadcrumb a{color:var(--green)}.downloads{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.downloads a{background:var(--paper);padding:12px 16px;border:1px solid var(--line);border-radius:5px}@media(max-width:820px){.nav{align-items:flex-start;padding:18px 0;flex-direction:column}nav{gap:12px 18px}.grid,.gallery{grid-template-columns:repeat(2,1fr)}.hero{padding:65px 0}}@media(max-width:560px){.wrap{width:min(100% - 28px,1160px)}.topline .wrap{justify-content:center}.topline span:last-child{display:none}.grid,.gallery,.statrow{grid-template-columns:1fr}.section{padding:48px 0}.hero h1{font-size:3rem}.sectionhead{align-items:start;flex-direction:column}}

.visual img{width:100%;height:100%;display:block;object-fit:cover}.project-image{height:190px;display:block;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.association-photo{margin:20px 0 28px}.association-photo img{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:8px}.association-photo figcaption,.gallery-photo figcaption{font-size:.8rem;color:var(--muted);margin-top:5px}.gallery-albums{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0 0 58px}.album-link{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:7px;overflow:hidden;text-decoration:none;color:var(--ink)}.album-link img{width:100%;height:110px;object-fit:cover}.album-link span{padding:12px;display:grid;gap:3px}.album-link small,.album-link em{font-size:.78rem;color:var(--muted);font-style:normal}.album-link strong{font:1.05rem var(--serif)}.album-section{padding:24px 0 50px;scroll-margin-top:100px;border-top:1px solid var(--line)}.album-section .sectionhead{margin:0 0 18px}.photo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.gallery-photo{margin:0;min-width:0}.gallery-photo a{display:block;overflow:hidden;border-radius:5px;background:#e6e9e0}.gallery-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .25s}.gallery-photo a:hover img{transform:scale(1.05)}.video-card{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:center;padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.video-card h2{font:1.8rem var(--serif)}.video-card video{width:100%;background:#152821;border-radius:6px}.video-card .button{margin-top:10px}@media(max-width:850px){.gallery-albums{grid-template-columns:repeat(3,1fr)}.photo-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:560px){.gallery-albums{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(2,1fr)}.video-card{grid-template-columns:1fr}.project-image{height:170px}}
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:64px 76px;background:rgba(9,20,17,.94);color:#fff}.lightbox-open{overflow:hidden}.lightbox-figure{margin:0;max-width:min(1100px,88vw);max-height:86vh;text-align:center}.lightbox-figure img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;margin:auto;box-shadow:0 12px 50px #0008}.lightbox-figure figcaption{margin-top:10px;color:#e6eee8;font-size:.9rem}.lightbox button{position:absolute;border:0;color:#fff;background:#ffffff20;border-radius:50%;width:48px;height:48px;font:2rem/1 var(--sans);cursor:pointer}.lightbox button:hover{background:#ffffff38}.lightbox-close{right:22px;top:20px}.lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}.lightbox-next{right:18px;top:50%;transform:translateY(-50%)}.lightbox-count{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#d5e1d8;font-size:.85rem}.lightbox button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}@media(max-width:600px){.lightbox{padding:64px 50px}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox button{width:40px;height:40px}.lightbox-close{top:12px;right:12px}.lightbox-figure{max-width:100%}}

/* Tonalité plus vive et chaleureuse */
:root{--purple:#7653b5;--sky:#a9d9d2;--display:'Trebuchet MS','Avenir Next',ui-rounded,system-ui,sans-serif}
body{background:radial-gradient(ellipse at 8% 16%,#ffefd1 0,transparent 28rem),var(--cream)}
.topline{background:var(--purple);color:#fff7df;letter-spacing:.1em}
.header{background:rgba(255,254,250,.96);box-shadow:0 4px 18px #24334a0a}
.brand{font-family:var(--display);font-weight:800;letter-spacing:-.04em}
.brandmark{background:var(--coral);color:#fff8ed;box-shadow:3px 3px 0 var(--lime);transform:rotate(-8deg)}
nav a{padding:8px 12px;border-radius:999px;transition:background .2s,color .2s,transform .2s}
nav a:hover{background:#e5f3ef;color:var(--green);transform:translateY(-2px)}
nav a[aria-current=page]{background:#fff0c9;color:#74531a;text-decoration:none}
.hero{background:linear-gradient(90deg,rgba(36,51,74,.90) 4%,rgba(36,51,74,.68) 53%,rgba(36,51,74,.16)),url('../images/galleries/edition-2017/CS_2017_005.jpg') center 48%/cover}
.hero:after{border:2px dashed #ffd166aa;box-shadow:0 0 0 30px #ff705d18,0 0 0 68px #a9d9d218;transform:rotate(12deg)}
.eyebrow{color:var(--coral);letter-spacing:.15em}
.hero .eyebrow,.pagehead .eyebrow{color:var(--lime)}
.hero h1,.pagehead h1,.section h2,.content h2,.card h3,.brand{font-family:var(--display)}
.hero h1,.pagehead h1{font-weight:800;letter-spacing:-.045em}
.button{border-radius:999px;background:var(--lime);box-shadow:0 4px 0 #d2a83e;transition:transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-3px);box-shadow:0 7px 0 #d2a83e;color:var(--ink)}
.button.ghost{border-radius:999px}
.pagehead{background:linear-gradient(120deg,#087e78,#176f8b 68%,#7653b5);position:relative;overflow:hidden}
.pagehead:after{content:'';position:absolute;right:7%;top:-75px;width:210px;height:210px;border:2px dashed #ffd166aa;border-radius:42% 58% 65% 35%;transform:rotate(25deg);pointer-events:none}
.card,.album,.contactbox{border-radius:16px;box-shadow:0 8px 24px #24334a0b;transition:transform .22s,box-shadow .22s}
.card:hover,.album:hover{transform:translateY(-4px) rotate(-.25deg);box-shadow:0 14px 30px #24334a18}
.card .tag{display:inline-block;background:#fff0c9;color:#74531a;border-radius:999px;padding:4px 9px;letter-spacing:.08em}
.cardbody{padding:24px}
.visual,.project-image{border-radius:14px 14px 0 0}
.callout{border-left:0;border-radius:8px 18px 18px 8px;background:#fff0c9;box-shadow:inset 5px 0 var(--coral)}
.footer{background:#24334a}
.footer strong{color:var(--lime)}
.gallery-albums{gap:16px}
.album-link{border-radius:15px;box-shadow:0 6px 18px #24334a0b;transition:transform .2s,box-shadow .2s}
.album-link:hover{transform:translateY(-4px) rotate(1deg);box-shadow:0 12px 24px #24334a18;color:var(--ink)}
.album-link img{height:125px}
.album-section{border-top:2px dotted #d4c7ae}
.gallery-photo a{border:3px solid var(--paper);box-shadow:0 4px 12px #24334a1a;transition:transform .2s,box-shadow .2s}
.gallery-photo a:hover{transform:rotate(-1deg) scale(1.025);box-shadow:0 9px 20px #24334a26}
.notice{background:#fff0c9;border-color:#f1d27e;color:#59491d;border-radius:14px}
.video-card{border-radius:18px;box-shadow:0 10px 28px #24334a10}
@media(max-width:820px){nav a{padding:6px 9px}}
.video-list{display:grid;gap:22px}.video-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:24px;align-items:center;padding:18px}.video-poster{height:100%;min-height:220px;border-radius:12px;overflow:hidden;background:#e5e0d6}.video-poster img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}.video-info h2{margin:10px 0;font:800 1.65rem/1.2 var(--display)}.video-info video{display:block;width:100%;max-height:380px;margin:14px 0 8px;background:#1c293d;border-radius:10px}.video-download{font-weight:750;color:var(--green)}@media(max-width:700px){.video-card{grid-template-columns:1fr}.video-poster,.video-poster img{min-height:190px;max-height:300px}}
.video-card{grid-template-columns:1fr;padding:24px}.video-info{max-width:880px;width:100%;margin:auto}.video-card video{max-height:460px}.video-poster{display:none}.trailer-section{padding:42px 0;background:linear-gradient(110deg,#fff0c9,#e5f3ef)}.trailer-layout{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:34px}.trailer-copy h2{font:800 clamp(1.8rem,3vw,2.5rem)/1.15 var(--display);margin:10px 0}.trailer-copy p{color:var(--muted);max-width:390px}.trailer-link{font-weight:800;color:var(--green)}.trailer-layout video{display:block;width:100%;max-height:430px;background:#24334a;border-radius:16px;box-shadow:0 12px 28px #24334a24}@media(max-width:700px){.trailer-layout{grid-template-columns:1fr;gap:18px}}

/* Les affiches des films remplissent le cadre 16:9 sans bandes latérales. */
.video-info video{aspect-ratio:16/9;object-fit:cover}
.video-info video::-webkit-media-controls-start-playback-button,
.video-info video::-webkit-media-controls-overlay-play-button{display:none!important}
.trailer-layout video{aspect-ratio:16/9;object-fit:cover}
