:root{--rouge:#C8102E;--rouge-d:#7c0c1f;--vert:#046A38;--vert-d:#024527;--or:#CFA02B;--noir:#1b1412;--creme:#FBF7EE;--ink:#241712;--pierre-l:#efe6d8;--r:18px}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--creme);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:-.01em;color:var(--vert-d)}
h2{font-size:clamp(2rem,4.4vw,3.2rem)}h3{font-size:1.4rem}
.wrap{width:min(1180px,92vw);margin:auto}
.kicker{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--rouge);margin-bottom:.8rem;display:block}
section{padding:clamp(4rem,9vw,7rem) 0}
.lead{font-size:1.2rem;max-width:62ch;color:#4a3c33}
/* nav */
header.nav{position:fixed;inset:0 0 auto;z-index:50;transition:.35s}
header.nav .in{display:flex;align-items:center;justify-content:space-between;width:min(1280px,94vw);margin:auto;height:76px}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:#fff;font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem}
.brand svg{width:40px;height:40px;flex:none}
.brand em{font-style:italic;color:var(--or)}
nav ul{display:flex;gap:1.5rem;list-style:none;padding:0;align-items:center}
nav a{text-decoration:none;color:#fff;font-weight:700;font-size:.92rem;position:relative;padding:.3rem 0}
nav a:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--or);transition:.3s}
nav a:hover:after,nav a[aria-current]:after{width:100%}
nav a.cta{background:var(--rouge);padding:.6rem 1.15rem;border-radius:99px}nav a.cta:after{display:none}
header.nav.solid{background:rgba(27,20,18,.96);backdrop-filter:blur(8px);box-shadow:0 6px 24px #0004}
.burger{display:none;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}
@media(max-width:980px){.burger{display:block}nav{position:fixed;inset:76px 0 auto;background:var(--noir);max-height:0;overflow:hidden;transition:.4s}nav.open{max-height:560px}nav ul{flex-direction:column;align-items:flex-start;padding:1.2rem 6vw 1.8rem;gap:1rem}}
/* bunting */
.bunting{position:absolute;top:76px;left:0;width:100%;height:66px;pointer-events:none;z-index:3}
.bunting g{transform-origin:top center;animation:sway 4s ease-in-out infinite alternate}
.bunting g:nth-child(2n){animation-delay:-1.3s}.bunting g:nth-child(3n){animation-delay:-2.4s}
@keyframes sway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;padding:0 0 9vh;overflow:hidden;background:var(--noir)}
.hero .bg{position:absolute;inset:-4% 0;background:center/cover no-repeat;will-change:transform}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1b100d85 0%,#1b100d10 32%,#120a08ea 100%)}
.hero .wrap{position:relative;z-index:2}
.hero h1{color:#fff;font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(3rem,9vw,7rem);max-width:16ch;line-height:.98;text-shadow:0 4px 30px #0008}
.hero h1 em{font-style:normal;color:var(--or)}
.hero p{font-size:clamp(1.05rem,2vw,1.4rem);max-width:48ch;margin:1.2rem 0 2rem;color:#f4ece0}
.hero.small{min-height:60svh;padding-bottom:7vh}.hero.small h1{font-size:clamp(2.3rem,6vw,4.4rem)}
.hero.small p{color:#f4ece0;font-size:1.1rem;max-width:56ch}
.btn{display:inline-block;padding:.95rem 1.7rem;border-radius:99px;background:var(--rouge);color:#fff;font-weight:800;text-decoration:none;transition:.25s;border:2px solid var(--rouge);cursor:pointer;font:inherit;font-weight:800}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px #C8102E55}
.btn.ghost{background:transparent;border-color:#fff8;color:#fff;margin-left:.6rem}.btn.ghost:hover{background:#fff2;box-shadow:none}
.btn.dark{background:var(--vert);border-color:var(--vert)}.btn.dark:hover{box-shadow:0 12px 26px #046A3855}
.scroll{position:absolute;right:4vw;bottom:6vh;z-index:3;writing-mode:vertical-rl;letter-spacing:.3em;font-size:.7rem;text-transform:uppercase;color:#fffc}
/* next / intro band */
.next{background:var(--vert-d);color:#fff;padding:0}
.next .grid{display:grid;grid-template-columns:1.1fr 1fr;gap:0;align-items:stretch}
.next .txt{padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,4rem) clamp(2.5rem,6vw,5rem) 0}
.next h2{color:#fff}.next .kicker{color:var(--or)}
.next p{color:#eee2d2}
.next .pic{background:center/cover;min-height:380px}
@media(max-width:860px){.next .grid{grid-template-columns:1fr}.next .txt{padding:3rem 0}}
/* seasons / pupitres */
.seasons{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2.4rem}
.season{border-radius:var(--r);padding:1.6rem;background:#fff;border:1px solid var(--pierre-l);transition:.3s}
.season .e{font-size:2rem}.season h3{margin:.4rem 0;font-size:1.15rem}.season p{font-size:.92rem;color:#5a4a3e}
@media(max-width:1000px){.seasons{grid-template-columns:1fr 1fr}}@media(max-width:560px){.seasons{grid-template-columns:1fr}}
/* cards & split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.split.rev>:first-child{order:2}
.split img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 30px 50px -20px #1b141255}
.split p+p{margin-top:1rem}.split h2{margin-bottom:1.2rem}
@media(max-width:860px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
.stone{background:var(--pierre-l)}.dark{background:var(--noir);color:#efe6da}.dark h2,.dark h3{color:#fff}.dark .kicker{color:var(--or)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.6rem}
@media(max-width:900px){.cards{grid-template-columns:1fr}}
.card{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--pierre-l);transition:.3s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -18px #1b141255}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%}.card .b{padding:1.5rem}.card h3{margin-bottom:.5rem}.card p{font-size:.97rem;color:#5a4a3e}
.tag{display:inline-block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;padding:.25rem .7rem;border-radius:99px;background:#f3ddb9;color:#8a5a0a;margin-bottom:.7rem}
.tag.v{background:#dceade;color:var(--vert-d)}
/* agenda */
.timeline{margin-top:2.4rem;border-left:3px solid var(--pierre-l);padding-left:0}
.ev{display:grid;grid-template-columns:110px 1fr auto;gap:1.4rem;align-items:center;padding:1.3rem 1.4rem;margin-left:1.4rem;background:#fff;border-radius:var(--r);border:1px solid var(--pierre-l);margin-bottom:1rem;position:relative;transition:.3s}
.ev:before{content:"";position:absolute;left:-1.95rem;top:50%;width:14px;height:14px;border-radius:50%;background:var(--creme);border:3px solid var(--rouge)}
.ev.us{border-color:var(--rouge);box-shadow:0 14px 30px -14px #C8102E55}
.ev .d{font-family:'Fraunces',serif;color:var(--vert-d);line-height:1.1}.ev .d b{font-size:1.9rem;display:block}.ev .d span{font-size:.8rem;font-family:'Figtree';text-transform:uppercase;letter-spacing:.1em;color:#6a5a4e}
.ev h3{font-size:1.2rem}.ev p{font-size:.93rem;color:#5a4a3e}
@media(max-width:700px){.ev{grid-template-columns:1fr;gap:.4rem}}
/* gallery */
.masonry{columns:3 280px;column-gap:1rem;margin-top:2.4rem}
.masonry figure{break-inside:avoid;margin-bottom:1rem;position:relative;border-radius:14px;overflow:hidden;cursor:zoom-in}
.masonry img{width:100%;transition:.6s}.masonry figure:hover img{transform:scale(1.05)}
.masonry figcaption{position:absolute;inset:auto 0 0;padding:2rem 1rem .8rem;background:linear-gradient(transparent,#1b1412dd);color:#fff;font-size:.86rem;opacity:0;transition:.3s}
.masonry figure:hover figcaption{opacity:1}
.lb{position:fixed;inset:0;background:#120a08f2;z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;padding:2rem;color:#fff;text-align:center}
.lb.on{display:flex}.lb img{max-height:78vh;max-width:94vw;border-radius:10px}.lb p{margin-top:1rem;max-width:70ch}
.lb button{position:absolute;top:1.2rem;right:1.6rem;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer}
/* forms */
form{display:grid;gap:1rem}label{font-weight:700;font-size:.92rem;color:var(--vert-d)}
input,textarea,select{width:100%;padding:.9rem 1rem;border:1.5px solid #d9cdb8;border-radius:12px;font:inherit;background:#fff;margin-top:.3rem}
input:focus,textarea:focus,select:focus{outline:3px solid #C8102E33;border-color:var(--rouge)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.two{grid-template-columns:1fr}}
.panel{background:#fff;border-radius:var(--r);padding:clamp(1.5rem,3vw,2.4rem);border:1px solid var(--pierre-l)}
.ok{display:none;background:#dceade;padding:1rem;border-radius:12px;color:var(--vert-d);font-weight:700}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.4rem;text-align:center}
.facts div{padding:1.4rem;border-radius:var(--r);background:#ffffff10}.facts b{font-family:'Fraunces',serif;font-size:2.4rem;display:block;color:var(--or)}
@media(max-width:800px){.facts{grid-template-columns:1fr 1fr}}
.bureau{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}@media(max-width:800px){.bureau{grid-template-columns:1fr 1fr}}
.bureau div{border:2px dashed #cbb98f;border-radius:var(--r);padding:1.4rem;text-align:center;color:#5a4a3e}.bureau b{display:block;color:var(--vert-d);font-family:'Fraunces',serif;font-size:1.1rem;margin-bottom:.2rem}
/* footer */
footer{background:var(--noir);color:#d9cdbf;padding:4rem 0 2rem;font-size:.95rem}
footer .g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}@media(max-width:860px){footer .g{grid-template-columns:1fr 1fr}}
footer h4{color:#fff;font-family:'Fraunces',serif;font-size:1.1rem;margin-bottom:.8rem}footer a{text-decoration:none;display:block;padding:.15rem 0}footer a:hover{color:var(--or)}
footer .social a{display:inline-block;margin-top:.6rem;padding:.4rem .9rem;border:1px solid #ffffff33;border-radius:99px;font-size:.82rem}
footer .bot{border-top:1px solid #ffffff22;margin-top:2.5rem;padding-top:1.2rem;font-size:.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem}
.rv{opacity:0;transform:translateY(34px);transition:1s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.legal h1{margin-bottom:1.5rem}.legal h2{font-size:1.5rem;margin:2rem 0 .6rem;color:var(--vert-d)}.legal p{max-width:70ch}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.bunting g{animation:none}html{scroll-behavior:auto}}
