@font-face{font-family:Chelsea;src:url('assets/ChelseaMarket-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:only dark;--cream:#fff0d7;--gold:#f2cc8f;--teal:#f77f00;--night:#39040b}
.new-design{background:var(--night);color:var(--cream);font-family:Chelsea,Arial,sans-serif;line-height:1.7}
.new-design .brand{font-family:Chelsea,Arial,sans-serif;font-weight:400;letter-spacing:.25px;font-size:29px}
.new-design h1,.new-design h2,.new-design h3,.new-design p{font-weight:400}
.new-design h1,.new-design h2{line-height:1.2;text-wrap:balance}
.new-design h1{font-size:clamp(44px,5.5vw,80px);letter-spacing:-1.6px;margin:0}
.new-design h2{font-size:clamp(27px,3.2vw,46px);letter-spacing:-.7px}
.overline{font-size:12px;letter-spacing:4px;margin:0 0 23px;color:var(--cream)}
.gold-divider{display:flex;justify-content:center;align-items:center;gap:19px;color:var(--gold);margin:30px auto}
.gold-divider>span{width:82px;height:1px;background:currentColor}
.gold-divider>i{width:13px;height:13px;border:1.5px solid currentColor;transform:rotate(45deg)}
.new-design .site-footer{background:transparent;border:0;max-width:1440px;margin:auto;padding:65px 7%;color:var(--cream)}
.new-design .site-footer p:first-child{font-weight:400}
.new-design .site-footer p:last-child{font-family:Arial,sans-serif;font-size:12px}
.art-button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:54px;padding:14px 19px;border:1px solid #e3b05e;border-radius:3px 11px 4px 10px;background:linear-gradient(110deg,#623413ac,#5a091299),url('assets/scene-mobile.png') 48% 25%/340px auto;color:var(--cream);font:400 14px/1.5 Chelsea,Arial,sans-serif;box-shadow:0 5px 0 #280408,0 9px 16px #1f030680,inset 0 1px 0 #f9e3bf6b;text-shadow:0 1px 3px #2c0409;transition:transform .16s,box-shadow .16s}
.art-button:before{content:'';position:absolute;inset:4px;border:1px solid #d29a417d;border-radius:2px 7px 3px 8px;pointer-events:none}
.art-button>span:last-child{color:var(--gold);font-size:23px;line-height:1}
.art-button.rust,.art-button.orange{background-image:linear-gradient(110deg,#7f262cc9,#640a14b3),url('assets/scene-mobile.png')}
.art-button.gold{background-image:linear-gradient(110deg,#896326c9,#640a14b3),url('assets/scene-mobile.png')}
.art-button:active{transform:translateY(4px);box-shadow:0 1px 0 #280408,inset 0 2px 5px #28040877}
@media(hover:hover){.art-button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #280408,0 12px 22px #1f030688,inset 0 1px 0 #f9e3bf80}}
.course-hero{position:relative;isolation:isolate;min-height:660px;height:min(63vw,950px);max-width:1920px;margin:auto;display:flex;align-items:center;overflow:hidden}
.course-hero-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.course-hero-copy{width:43%;margin-left:10%;padding:40px 0 95px;text-shadow:0 2px 5px #270408}
.course-hero h1{font-size:clamp(31px,3.8vw,58px);line-height:1.2;letter-spacing:-1px}
.course-hero h1 span{display:inline-block;font-size:clamp(70px,7.8vw,120px);color:#f2cc8f;letter-spacing:-3px;margin-top:4px}
.grands-hero h1 span{color:var(--teal)}
.course-hero .gold-divider{justify-content:flex-start;margin:28px 0 31px}
.course-jumps{display:flex;flex-direction:column;gap:16px;max-width:400px}
.course-jumps .art-button{font-size:14px;min-height:55px;letter-spacing:.4px}
.chapters{background:linear-gradient(#39040be0,#39040bcc),url('assets/planning-relief-moroccan.png') center top/100% auto repeat-y}
.course-chapter{--accent:#f2cc8f;max-width:1160px;width:84%;margin:auto;padding:20px 0 64px;scroll-margin-top:24px}
.course-chapter.orange{--accent:#e94953}.course-chapter.teal{--accent:#f77f00}.course-chapter.rust{--accent:#ea636c}
.course-chapter>.gold-divider{margin:35px 0 58px}
.chapter-heading{display:flex;align-items:center;gap:28px;margin:0 0 40px}
.chapter-heading h2{margin:0 0 15px;color:var(--accent);font-size:clamp(28px,3.2vw,42px)}
.chapter-number{font-size:72px;line-height:1.2;color:#c09043;opacity:.6;letter-spacing:-5px}
.age-tag{display:inline-block;margin:0;border:1px solid #e4b66b77;border-radius:3px 10px 3px 10px;padding:6px 17px;color:var(--cream);font-size:14px;background:#4d081070}
.chapter-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:65px;align-items:start}
.course-copy{min-width:0;font-size:16px;line-height:1.95;letter-spacing:.05px}
.course-copy p{margin:0 0 24px;text-wrap:pretty}
.course-copy .course-lead{font-size:23px;line-height:1.65;margin-bottom:34px;color:var(--cream)}
.course-images{display:flex;flex-direction:column;gap:36px;padding-top:8px}
.original-image{margin:0;padding:6px;border:1px solid #cfa054;border-radius:3px 16px 4px 16px;background:#520811;box-shadow:8px 8px 0 #b0833b18}
.original-image img{width:100%;height:auto;border-radius:1px 11px 1px 11px}
.course-images .original-image:nth-child(even){transform:rotate(2deg)}
.course-images .original-image:nth-child(odd){transform:rotate(-1.5deg)}
.chapter-action{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px}
.chapter-action .art-button{min-width:200px}
.artist-scene,.news-scene,.contact-scene{position:relative;max-width:1920px;margin:auto;padding:65px 8% 60px;background:linear-gradient(#39040b1a,#39040b88),url('assets/planning-relief-moroccan.png') center top/100% auto no-repeat}
.artist-heading,.page-title{text-align:center;margin:0 auto 58px}
.artist-heading h1 span,.page-title h1{color:var(--gold)}
.artist-heading .gold-divider,.page-title .gold-divider{margin-top:30px}
.artist-layout{max-width:1130px;display:grid;grid-template-columns:370px minmax(0,1fr);gap:80px;align-items:start;margin:auto}
.artist-visual{position:relative;padding:15px 30px 65px 0}
.portrait-photo{border-radius:180px 180px 4px 4px;padding:7px;border:1px solid var(--gold);box-shadow:15px 17px 0 #6f3b1630}
.portrait-photo img{border-radius:170px 170px 1px 1px}
.vanille-signature{position:absolute;width:78px;bottom:18px;right:-3px;background:#39040b;border:1px solid #c38f3b;border-radius:50px;padding:14px 12px;box-shadow:0 8px 25px #0009}
.vanille-signature img{width:100%;height:auto;border-radius:0}
.artist-bio{font-size:17px;line-height:1.95;padding-top:9px;text-shadow:0 2px 6px #270408}
.artist-bio p{margin:0 0 22px}.artist-bio p:first-child::first-line{color:var(--teal);font-size:22px}
.artist-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:35px}
.news-scene{padding-bottom:95px}
.stage-article{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}
.stage-year{font-size:12px;letter-spacing:3px;color:var(--teal);margin:0 0 20px}
.stage-intro h2{font-size:46px;line-height:1.2;margin:0 0 25px}.stage-intro h2 span{color:var(--gold);font-size:80px}
.stage-date{color:var(--gold);font-size:20px;margin-bottom:0}.stage-intro>.age-tag{margin-top:9px}
.stage-intro .gold-divider{justify-content:flex-start;margin:33px 0}
.stage-activities{list-style:none;padding:0;margin:0 0 30px;font-size:16px;line-height:1.8}
.stage-activities li{position:relative;padding:14px 0 14px 26px;border-bottom:1px solid #b089493f}
.stage-activities li:before{content:'';position:absolute;left:2px;top:25px;width:7px;height:7px;background:var(--teal);transform:rotate(45deg)}
.stage-activities li:nth-child(2n):before{background:var(--gold)}
.stage-show{padding:15px 0;font-size:24px;line-height:1.5;color:#ed5c66}
.stage-prices{border-top:1px solid #bd934f;border-bottom:1px solid #bd934f;padding:12px 0;font-size:14px;line-height:1.9}
.stage-prices strong{font-weight:400;font-size:22px;color:var(--gold);white-space:nowrap}
.archive-location{font-size:16px;margin-top:28px}.stage-intro a{text-decoration:underline;text-underline-offset:5px;color:var(--gold)}
.poster-domain{font-size:13px;color:var(--teal)}
.poster-column{position:sticky;top:30px;display:flex;flex-direction:column;align-items:center;gap:28px;padding-top:35px}
button.poster-open:not(.art-button){background:none;border:0;padding:0;width:100%;cursor:zoom-in;transform:rotate(1deg);transition:transform .15s}
button.poster-open:not(.art-button):hover{transform:rotate(0deg)}
.stage-poster{padding:7px;border-radius:3px;box-shadow:15px 15px 0 #c78a2926}.stage-poster img{border-radius:0}
.poster-dialog{max-width:min(900px,95vw);width:95vw;max-height:94dvh;border:1px solid var(--gold);padding:42px 12px 12px;background:var(--night);color:var(--cream)}
.poster-dialog::backdrop{background:#1b0306e8;backdrop-filter:blur(7px)}
.poster-dialog>img{width:100%;height:auto}.dialog-close{position:sticky;float:right;top:0;width:38px;height:38px;border:1px solid var(--gold);background:var(--night);color:var(--cream);font:28px Arial;z-index:1;margin-top:-34px}
body:has(.poster-dialog[open]){overflow:hidden}
.contact-scene{min-height:850px;padding-bottom:90px}
.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;max-width:1170px;margin:auto;gap:30px;align-items:center}
.contact-address{text-align:center;padding:15px 0 35px;text-shadow:0 2px 5px #280408}
.contact-intro{font-size:25px;line-height:1.6;margin:0 auto;max-width:520px;color:var(--teal)}
.contact-au{font-size:22px;margin:24px 0 20px;color:var(--gold)}
.contact-address h2{font-size:clamp(28px,3.2vw,45px);line-height:1.4;letter-spacing:-1px;margin:0;color:var(--cream)}
.contact-address h2 span{color:var(--gold)}
.contact-heading{font-size:22px;margin:28px 0 25px}
.contact-actions{display:flex;flex-direction:column;align-items:center;gap:20px}
.contact-actions .art-button{width:100%;max-width:360px;font-size:15px}
.contact-illustration{aspect-ratio:4/5;background:url('assets/cours-grands-relief-moroccan.png') 95% center/auto 100% no-repeat;border-radius:0;border:1px solid #be934f;box-shadow:12px 12px 0 #6b0b1630;max-height:640px}
@media(min-width:1600px){.course-hero-copy{padding-bottom:120px}.artist-scene,.news-scene,.contact-scene{padding-left:max(8%,calc((100% - 1250px)/2));padding-right:max(8%,calc((100% - 1250px)/2))}}
@media(max-width:1150px){.new-design .brand{font-size:25px}.chapter-layout{grid-template-columns:minmax(0,1fr) 240px;gap:38px}.course-chapter{width:86%}.artist-layout{grid-template-columns:290px minmax(0,1fr);gap:45px}.artist-bio{font-size:16px}.stage-article{gap:40px}.contact-intro{font-size:21px}.contact-heading{font-size:20px}.contact-actions .art-button{font-size:13px}}
@media(max-width:850px){
 .new-design .brand{font-size:25px}.new-design .site-header{line-height:1.4}.course-hero{height:auto;min-height:0;display:block;padding:60px 9% 65%;background:var(--night)}
 .course-hero-art{inset:auto 0 0;height:75vw;object-fit:cover;object-position:right bottom;opacity:1}
 .course-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--night) 0%,var(--night) 47%,#39040b00 71%);pointer-events:none}
 .course-hero-copy{width:100%;margin:0;padding:0;text-align:center}.course-hero h1{font-size:36px}.course-hero h1 span{font-size:76px;letter-spacing:-2px}
 .course-hero .gold-divider{justify-content:center;margin:25px 0 31px}.course-jumps{margin:auto;max-width:390px;text-align:left}
 .course-chapter{width:86%;padding-top:0}.chapter-layout{grid-template-columns:minmax(0,1fr)}.course-images{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.course-images .original-image{transform:none!important}.course-images .original-image:only-child{max-width:360px;margin:auto}
 .chapter-number{font-size:53px}.chapter-heading{gap:19px;margin-bottom:28px}.chapter-heading h2{font-size:30px}.course-copy{font-size:16px}.course-copy .course-lead{font-size:21px}
 .artist-scene,.news-scene,.contact-scene{padding:45px 8% 40px;background-size:160% auto}
 .artist-layout{grid-template-columns:minmax(0,1fr);gap:28px}.artist-visual{max-width:335px;margin:auto;padding-bottom:20px}.vanille-signature{bottom:-4px}.artist-bio{font-size:17px}.artist-heading,.page-title{margin-bottom:35px}
 .stage-article{grid-template-columns:minmax(0,1fr);gap:30px}.poster-column{position:static;max-width:520px;margin:auto;padding-top:0;grid-row:2}.stage-intro{max-width:600px;margin:auto;width:100%}.stage-intro h2{font-size:39px}.stage-intro h2 span{font-size:66px}
 .contact-layout{grid-template-columns:minmax(0,1fr);gap:25px}.contact-intro{font-size:23px;max-width:570px}.contact-address h2{font-size:35px}.contact-illustration{width:min(90%,480px);margin:auto;aspect-ratio:1;max-height:none;background-size:auto 115%;background-position:96% 55%}.contact-heading{font-size:21px}.contact-actions .art-button{font-size:15px}
 .new-design .site-footer{padding:65px 7% 30px;flex-direction:column;gap:22px;text-align:center}.new-design .site-footer p{margin:0}
}
@media(max-width:500px){
 .course-hero{padding-top:44px;padding-bottom:65%}.course-hero h1{font-size:30px}.course-hero h1 span{font-size:64px}.overline{font-size:10px;letter-spacing:3px}
 .course-jumps{gap:15px}.course-jumps .art-button{font-size:12px;min-height:54px;padding:13px 15px}.course-hero-art{height:79vw}
 .course-chapter>.gold-divider{margin:22px 0 38px}.chapter-heading h2{font-size:25px}.chapter-heading{align-items:flex-start;gap:14px}.chapter-number{font-size:37px;letter-spacing:-2px;margin-top:1px}.age-tag{font-size:12px;padding:6px 12px}
 .course-chapter{width:84%;padding-bottom:40px}.course-copy{font-size:15px;line-height:1.9}.course-copy .course-lead{font-size:19px;line-height:1.75}.course-images{gap:16px}.original-image{padding:4px;border-radius:3px 9px 3px 9px}.original-image img{border-radius:1px 6px 1px 6px}.chapter-layout{gap:18px}
 .chapter-action{gap:16px;margin-top:30px;flex-direction:column}.chapter-action .art-button{width:100%;font-size:13px;min-height:52px}
 .artist-bio{font-size:15px;line-height:1.95}.artist-bio p:first-child::first-line{font-size:19px}.artist-visual{width:88%;max-width:285px;padding-right:22px}.vanille-signature{width:62px;padding:12px 10px}.artist-actions{flex-direction:column}.artist-actions .art-button{width:100%;font-size:13px}
 .artist-heading h1{font-size:42px}.stage-intro h2{font-size:34px}.stage-intro h2 span{font-size:61px}.stage-date{font-size:17px}.stage-activities{font-size:14px}.stage-prices{font-size:13px}.stage-show{font-size:21px}.poster-column{width:96%;gap:23px}
 .contact-intro{font-size:20px;line-height:1.7}.contact-address h2{font-size:28px;letter-spacing:-.5px}.contact-au{margin:21px 0 18px;font-size:20px}.contact-heading{font-size:18px}.contact-actions .art-button{font-size:13px;padding:14px 15px;gap:8px}.contact-address{padding-top:0}.contact-address>.gold-divider{margin:28px 0}.contact-illustration{width:95%}
 .new-design .site-footer p:first-child{font-size:24px}.new-design .site-footer p:last-child{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.art-button,button.poster-open:not(.art-button){transition:none}}
/* A continuous textured surface keeps the copy clear at every page length. */
.artist-scene,.news-scene,.contact-scene{background-size:cover;background-position:center top}
@media(max-width:850px){
 .course-hero{background:#39040b url('assets/scene-mobile.png') 48% 9%/240% auto}
 .course-hero-art{mask-image:linear-gradient(transparent,black 25%)}
 .course-hero:after{display:none}
 .artist-scene,.news-scene,.contact-scene{background-image:linear-gradient(#39040b42,#39040b70),url('assets/planning-relief-moroccan.png')}
 .portrait-photo{border-radius:180px 180px 4px 4px}
 .portrait-photo img{border-radius:170px 170px 1px 1px}
}
