:root{--bg:#faf6ee;--ink:#2b2420;--wine:#6b1f2e;--gold:#a8812f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.7 Georgia,serif}
main{max-width:760px;margin:2rem auto;padding:0 1.2rem}
h2{color:var(--wine);border-bottom:1px solid var(--gold);padding-bottom:.3rem;margin-top:2.2rem}
.note{background:#f0e6cf;border-left:4px solid var(--gold);padding:.6rem 1rem;font-size:.9rem}
footer{text-align:center;padding:2rem 1rem;color:#7a6e63;font-size:.85rem}
.armes{float:right;margin:0 0 1rem 1.5rem;text-align:center;font-size:.85rem;color:#7a6e63}.armes img{max-width:100%;height:auto;display:block}
.annee{display:flex;gap:1.5rem;align-items:center}.saisons{list-style:none;padding:0;margin:0;flex:1 1 55%}.saisons li{margin:1rem 0}.saisons strong{color:var(--wine)}.annee figure{flex:0 1 40%;margin:0;text-align:center;font-size:.85rem;color:#7a6e63}.annee img{width:100%;height:auto;display:block}@media(max-width:600px){.annee{flex-direction:column}.annee figure{flex-basis:auto;width:100%}}

header.site{position:sticky;top:0;z-index:50;background:linear-gradient(110deg,#6b1f2e,#4f1722 50%,#6b1f2e);background-size:200% 100%;animation:flow 16s ease-in-out infinite alternate;color:#fff;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.25);border-bottom:3px solid var(--gold)}
@keyframes flow{to{background-position:100% 0}}
.brand{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.2rem 1rem .6rem;color:#fff;text-decoration:none;transition:padding .3s;animation:drop .8s ease both}
@keyframes drop{from{opacity:0;transform:translateY(-14px)}}
.brand img{height:64px;width:auto;background:var(--bg);padding:3px;border-radius:6px;transition:height .3s}
.brand span{text-align:left}
.brand h1{margin:0;font-weight:normal;letter-spacing:.08em;font-size:1.8rem;transition:font-size .3s}
.brand p{margin:.1rem 0 0;color:#e8d9b0;font-style:italic;max-height:2em;overflow:hidden;transition:max-height .3s,opacity .3s}
header.small .brand{padding:.5rem 1rem .3rem}header.small .brand img{height:34px}header.small .brand h1{font-size:1.15rem}header.small .brand p{max-height:0;opacity:0}
header nav{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;padding:.4rem .8rem .7rem}
header nav a{position:relative;color:#f3e7c6;text-decoration:none;padding-bottom:2px}
header nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .3s}
header nav a:hover::after,header nav a.on::after{width:100%}
header nav a:hover,header nav a.on{color:#fff}
@media(max-width:520px){.brand h1{font-size:1.2rem}.brand img{height:44px}}
@media(prefers-reduced-motion:reduce){header.site,.brand{animation:none}*{transition:none!important}}
html{scroll-behavior:smooth}
body.home header.site{position:fixed;left:0;right:0;background:transparent;box-shadow:none;border-bottom:0;animation:none;transition:background .3s}
body.home header.site .brand{display:none}
body.home header.small{background:#6b1f2e;border-bottom:3px solid var(--gold);box-shadow:0 2px 10px rgba(0,0,0,.25)}
body.home header.small .brand{display:flex}
body.home header nav{padding-top:1rem}
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;color:#faf6ee;overflow:hidden;
background:radial-gradient(circle at 25% 20%,#8a2a3d 0,transparent 55%),radial-gradient(circle at 80% 85%,rgba(168,129,47,.45) 0,transparent 50%),#3a1019;background-size:140% 140%;animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{background-position:100% 100%}}
.hero-in>*{animation:up 1s ease both}
.hero-arms{height:130px;width:auto;background:var(--bg);padding:6px;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.hero h2{color:#faf6ee;border:0;margin:1.2rem 0 .3rem;font-weight:normal;font-size:clamp(1.8rem,6vw,3.6rem);letter-spacing:.14em;animation-delay:.25s}
.hero p{margin:0;color:#e8d9b0;font-style:italic;letter-spacing:.06em;animation-delay:.5s}
@keyframes up{from{opacity:0;transform:translateY(24px)}}
.scroll{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:#e8d9b0;text-decoration:none;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;text-align:center}
.scroll span{display:block;width:1px;height:38px;background:var(--gold);margin:.6rem auto 0;transform-origin:top;animation:line 1.8s ease-in-out infinite}
@keyframes line{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.choix{display:grid;grid-template-columns:1fr 1fr;min-height:70vh}
.panel{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#faf6ee;text-decoration:none;padding:3rem 1rem;transition:filter .4s,transform .4s}
.panel small{font-size:1.3rem;font-style:italic;color:#e8d9b0}
.panel strong{font-weight:normal;font-size:clamp(2.2rem,6vw,4.2rem);letter-spacing:.14em;transition:letter-spacing .4s}
.panel em{margin-top:1.4rem;font-style:normal;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;border:1px solid #e8d9b0;padding:.6rem 1.6rem;transition:background .3s,color .3s}
.panel:hover{filter:brightness(1.12)}.panel:hover strong{letter-spacing:.2em}.panel:hover em{background:#faf6ee;color:var(--wine)}
.p1{background:linear-gradient(160deg,#6b1f2e,#3a1019)}.p2{background:linear-gradient(160deg,#a8812f,#5f4516)}
.intro{max-width:760px;margin:0 auto;padding:4rem 1.2rem;text-align:center}
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s ease}
.js .reveal.in{opacity:1;transform:none}
.js .panel.reveal.in:hover{transform:none}
@media(max-width:700px){.choix{grid-template-columns:1fr;min-height:0}.panel{min-height:50vh}.hero-arms{height:100px}}
@media(prefers-reduced-motion:reduce){.hero,.hero-in>*,.scroll span{animation:none}.js .reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
