:root{--ink:#26231d;--brown:#5b4b2e;--gold:#b28a30;--gold-pale:#f3ead6;--gold-light:#fcf8f0;--white:#fff;--line:#e7dfd0;--muted:#766c5b;--shadow:0 18px 48px rgba(46,35,11,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.65 "DM Sans",Arial,sans-serif}h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;line-height:.98;letter-spacing:-.035em;margin:0}h1{font-size:clamp(3.2rem,7vw,6.5rem)}h2{font-size:clamp(2.65rem,5vw,4.6rem)}h3{font-size:2rem}a{color:inherit;text-decoration:none}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-999px;z-index:99;background:var(--ink);color:white;padding:.8rem 1rem}.skip:focus{left:1rem;top:1rem}.eyebrow{margin:0 0 .85rem;color:var(--gold);font-size:.69rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.button{display:inline-flex;align-items:center;gap:.65rem;border:1px solid transparent;padding:.85rem 1.1rem;border-radius:2px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:.2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:white}.button-dark{background:var(--ink);color:white}.button-outline{border-color:currentColor}.button-white{background:white;color:var(--brown)}
/* shared header */.topbar{background:var(--ink);color:#f7f1e7;font-size:.72rem}.topbar .shell{display:flex;justify-content:space-between;padding:.45rem 0}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-logo{width:130px;height:68px;object-fit:cover;object-position:center;background:white}.nav{display:flex;align-items:center;gap:1.5rem;font-size:.8rem;font-weight:600}.nav a{padding:.3rem 0}.nav a:hover,.nav a.active{color:var(--gold)}.nav .button{color:white;padding:.65rem .8rem}.menu-button{display:none;background:none;border:1px solid var(--line);padding:.5rem .7rem}.nav-group{position:relative}.nav-group>button{background:none;border:0;font:inherit;font-weight:600;cursor:pointer}.subnav{display:none;position:absolute;top:1.5rem;left:-1rem;width:205px;background:white;padding:.7rem 1rem;box-shadow:var(--shadow);z-index:10}.nav-group:hover .subnav,.nav-group:focus-within .subnav{display:grid;gap:.35rem}
/* hero */.hero{min-height:650px;background:linear-gradient(110deg,rgba(24,21,15,.93),rgba(42,35,21,.55)),url('https://images.unsplash.com/photo-1504494683949-ff2b5c9ad6c6?auto=format&fit=crop&w=1800&q=85') center/cover;color:white;display:grid;align-items:center;position:relative}.hero .shell{padding:5rem 0}.hero-copy{max-width:780px}.hero h1 em,.page-hero h1 em{color:#e8c97f;font-style:italic}.hero .intro{font-size:1.15rem;max-width:590px;color:#f3eddf}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.hero-card{position:absolute;right:max(20px,8vw);bottom:45px;max-width:300px;background:rgba(255,255,255,.94);color:var(--ink);padding:1.2rem 1.35rem;box-shadow:var(--shadow);border-left:4px solid var(--gold)}.hero-card p{margin:.25rem 0 0;font-size:.85rem}.hero-card strong{font-family:"Cormorant Garamond",serif;font-size:1.55rem}.news-slider{height:min(720px,calc(100vh - 92px));min-height:600px;position:relative;overflow:hidden;background:#181610;color:#fff}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;isolation:isolate}.slide.active{opacity:1;visibility:visible}.slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;transform:scale(1.04);transition:transform 6s ease}.slide.active>img{transform:scale(1)}.slide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,15,12,.88) 0%,rgba(16,15,12,.58) 45%,rgba(16,15,12,.18) 100%);z-index:1}.slide-copy{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:auto;padding-top:clamp(11rem,20vh,14rem);max-width:1180px}.slide-copy>*{max-width:620px}.slide-copy h1{font-size:clamp(3.4rem,6.2vw,6.2rem)}.slide-copy h1 em{color:#e5c678;font-style:italic}.slide-copy>p:not(.eyebrow){font-size:1.08rem;line-height:1.55;color:#faf5e8}.slide-copy .button{margin-top:1.15rem}.slider-ui{position:absolute;z-index:4;bottom:30px;right:max(20px,7vw);display:flex;gap:.8rem;align-items:center}.slider-ui button{border:1px solid rgba(255,255,255,.6);color:#fff;background:rgba(20,18,13,.3);width:38px;height:38px;border-radius:50%;font-size:1.1rem;cursor:pointer}.slider-ui button:hover{background:var(--gold);border-color:var(--gold)}.slider-dots{display:flex;gap:.45rem}.slider-dots button{width:9px;height:9px;padding:0;border-radius:50%;background:rgba(255,255,255,.45)}.slider-dots button.active{background:#e5c678;border-color:#e5c678}
.page-hero{background:var(--gold-light);padding:5.3rem 0 4.5rem;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.page-hero:after{content:"✦";position:absolute;right:8vw;top:-38px;color:var(--gold-pale);font:230px/1 Georgia,serif}.page-hero .shell{position:relative;z-index:1}.page-hero p:not(.eyebrow){font-size:1.08rem;max-width:640px;color:var(--muted)}
/* sections */.section{padding:6rem 0}.section-tint{background:var(--gold-light)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,9vw,9rem);align-items:center}.lead{font-size:1.25rem;line-height:1.45;font-weight:500}.quote{border-left:3px solid var(--gold);padding:1.2rem 1.4rem;background:var(--gold-light);font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.6rem;line-height:1.12}.quote cite{display:block;font:700 .69rem "DM Sans",sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-top:.7rem}.gold-art{background:linear-gradient(145deg,#c09a45,#725728);min-height:430px;color:white;display:grid;place-items:center;position:relative;overflow:hidden}.gold-art:before,.gold-art:after{content:"";border:1px solid rgba(255,255,255,.55);border-radius:50%;position:absolute}.gold-art:before{width:440px;height:440px}.gold-art:after{width:240px;height:240px}.gold-art span{font:100px Georgia,serif;z-index:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.4rem}.card{padding:1.75rem;background:white;border:1px solid var(--line);transition:.25s}.card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.card .number{display:block;color:var(--gold);font:700 .7rem "DM Sans",sans-serif;letter-spacing:.16em}.card h3{margin:.8rem 0}.card p{color:var(--muted);font-size:.9rem}.cards .card:first-child{border-top:4px solid #b28a30}.cards .card:nth-child(2){border-top:4px solid #74613a}.cards .card:nth-child(3){border-top:4px solid #d9bc77}
/* vision */.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:2.5rem}.act{padding:2.2rem;background:white}.act-letter{font:clamp(4.8rem,8vw,7.5rem)/.7 "Cormorant Garamond",serif;color:var(--gold);display:block;margin-bottom:1.2rem}.act h3{font-size:2rem}.act p{font-size:.92rem;color:var(--muted)}.act .verse{font-size:.76rem;color:var(--brown);font-weight:700}.act-strap{background:var(--ink);color:white;padding:2.3rem;text-align:center;font:italic clamp(2rem,4vw,3.8rem) "Cormorant Garamond",serif}.act-strap span{color:#e5c678}
/* schedule / page lists */.schedule{border-top:1px solid var(--line);margin-top:2.5rem}.schedule-item{display:grid;grid-template-columns:115px 1fr auto;gap:2rem;align-items:center;border-bottom:1px solid var(--line);padding:1.35rem 0}.schedule-day{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.schedule-item h3{font-size:1.8rem}.schedule-item p{margin:.2rem 0;color:var(--muted);font-size:.9rem}.schedule-time{font-size:.8rem;font-weight:700}.list-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.list-card{background:var(--gold-light);padding:1.6rem;min-height:205px}.list-card h3{font-size:1.9rem}.list-card p{font-size:.88rem;color:var(--muted)}.news{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.news article{border:1px solid var(--line);padding:1.4rem}.news .tag{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--gold)}.news h3{margin:.55rem 0;font-size:1.7rem}.news p{font-size:.85rem;color:var(--muted)}
/* forms */.form-wrap{background:white;border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(1.4rem,4vw,3rem)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.35rem}.field.full{grid-column:1/-1}.field label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid #d7cdbb;background:#fffdf9;padding:.75rem .8rem;font:inherit;border-radius:1px}.field textarea{min-height:135px;resize:vertical}.form-note{font-size:.75rem;color:var(--muted)}.form-success{display:none;padding:1rem;background:#edf4e9;border-left:3px solid #64854e;margin-top:1rem}.form-success.show{display:block}.form-actions{margin-top:1.3rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.form-page{padding:5rem 0}.form-side{padding:2rem;background:var(--gold-light)}.form-side h3{font-size:2rem}.form-side p{font-size:.9rem}.form-side .quote{margin-top:1.5rem}.checkline{display:flex;gap:.6rem;align-items:flex-start;font-size:.76rem;color:var(--muted);margin-top:1rem}
/* support */.donation-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.5rem 0}.donation-tabs button{background:white;border:1px solid var(--line);padding:.7rem .85rem;font:700 .73rem "DM Sans",sans-serif;text-transform:uppercase;cursor:pointer}.donation-tabs button.active{background:var(--gold);color:white;border-color:var(--gold)}.amounts{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.amounts button{min-width:77px;background:var(--gold-light);border:1px solid var(--line);padding:.7rem;font-weight:700;cursor:pointer}.amounts button.active{background:var(--ink);color:white}.donate-panel{background:white;border:1px solid var(--line);padding:2rem}.support-options{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}.support-options div{padding:1.4rem;border-top:3px solid var(--gold);background:white}.support-options p{font-size:.86rem;color:var(--muted)}
/* footer */.footer{background:var(--ink);color:#efe9dc;padding:4rem 0 1.4rem}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem}.footer-logo{width:155px;height:76px;object-fit:cover;filter:brightness(1.12);background:white}.footer p,.footer li{font-size:.8rem;color:#d8d0c0}.footer h4{font:700 .72rem "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#d8b766;margin:0 0 .8rem}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:2.5rem;padding-top:1rem;display:flex;justify-content:space-between;font-size:.7rem;color:#c5bcab}
.ticker{overflow:hidden;background:var(--gold);color:#fff;white-space:nowrap;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.ticker-track{display:flex;align-items:center;width:max-content;gap:1.5rem;padding:.75rem 0;animation:cel-ticker 26s linear infinite;font:italic 1.45rem "Cormorant Garamond",Georgia,serif}.ticker-track i{font-size:.85rem;font-style:normal;color:#f8e6ae}@keyframes cel-ticker{to{transform:translateX(-25%)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .72s cubic-bezier(.2,.72,.2,1),transform .72s cubic-bezier(.2,.72,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:850px){.topbar .shell{justify-content:center}.topbar .shell span:last-child{display:none}.site-header{height:78px}.menu-button{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:1rem 20px 1.5rem;z-index:20;box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:.7rem}.nav.open{display:flex}.nav-group .subnav{display:grid;position:static;box-shadow:none;width:auto;padding:.5rem 1rem}.hero{min-height:640px}.hero .shell{padding:4rem 0 10rem}.hero-card{right:20px;left:20px;bottom:24px;max-width:none}.grid-2,.footer-grid{grid-template-columns:1fr}.cards,.act-grid,.list-cards,.news,.support-options{grid-template-columns:1fr}.section{padding:4rem 0}.schedule-item{grid-template-columns:1fr;gap:.2rem}.schedule-time{margin-top:.35rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-split{gap:2rem}.copyright{display:grid;gap:.5rem}}
/* Actualités : format compact, inspiré d'un bandeau éditorial */
.news-slider{height:440px;min-height:0;max-width:1180px;margin:3.5rem auto;border-radius:3px;box-shadow:0 18px 40px rgba(31,25,15,.16)}
.news-slider .slide-copy{padding-top:7rem;width:min(880px,calc(100% - 80px));margin-left:max(40px,5vw)}
.news-slider .slide-copy h1{font-size:clamp(2.6rem,4.5vw,4.6rem)}
.news-slider .slide-copy>p:not(.eyebrow){font-size:.96rem;max-width:490px}.news-slider .slide-overlay{background:linear-gradient(90deg,rgba(16,15,12,.9) 0%,rgba(16,15,12,.65) 48%,rgba(16,15,12,.1) 100%)}
.slider-ui{bottom:20px;right:28px}.slider-ui button{width:34px;height:34px}
.teaching-card>img{display:block;width:calc(100% + 3.5rem);height:145px;object-fit:cover;object-position:center;margin:-1.75rem -1.75rem 1.35rem}
.teaching-illustration{width:100%;min-height:360px;object-fit:cover;background:var(--gold-light)}
.gold-art{background:#f3ead6 url('enseignement.svg') center/cover no-repeat;min-height:360px}.gold-art span{display:none}
.form-status{margin:1rem 0 0;padding:.8rem 1rem;border-left:3px solid var(--gold);background:var(--gold-light);font-size:.9rem}.form-status.error{border-color:#9e3e32;background:#f9e9e6}
.card-photo{display:block;width:calc(100% + 3.5rem);height:145px;object-fit:cover;margin:-1.75rem -1.75rem 1.35rem}.list-card{overflow:hidden}.course-photo{display:block;width:calc(100% + 3.2rem);height:135px;object-fit:cover;margin:-1.6rem -1.6rem 1.25rem}.course-logo{display:block;width:112px;height:92px;object-fit:contain;background:white;margin:-.6rem 0 1rem;border-radius:2px}
