*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Quattrocento',serif;color:#292524;background:#1c1917;}
h1,h2,h3,h4,h5{font-family:'Cinzel',serif;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1152px;margin:0 auto;padding:0 1rem;}
.parchment-bg{background-color:#f4ecd8;background-image:url("https://www.transparenttextures.com/patterns/parchment.png");}
.uppercase{text-transform:uppercase;}
.italic{font-style:italic;}

/* Navbar */
.navbar{background:#1c1917;color:#fef3c7;position:sticky;top:0;z-index:50;box-shadow:0 20px 25px -5px rgba(0,0,0,.3);border-bottom:1px solid rgba(120,53,15,.3);}
.navbar-inner{display:flex;justify-content:space-between;align-items:center;height:5rem;}
.navbar-brand{display:flex;align-items:center;gap:0.5rem;cursor:pointer;}
.navbar-logo{width:2.5rem;height:2.5rem;background:#d97706;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#1c1917;font-weight:700;font-size:1.5rem;flex-shrink:0;}
.navbar-brand span{font-size:1.5rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;}
.navbar-links{display:none;gap:2rem;text-transform:uppercase;font-size:0.85rem;font-weight:700;letter-spacing:-0.02em;}
@media(min-width:768px){.navbar-links{display:flex;}}
.navbar-links a{transition:color .2s;}
.navbar-links a:hover{color:#fbbf24;}

/* Hero */
.hero{position:relative;height:60vh;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:url("https://picsum.photos/id/10/1600/900?grayscale") center/cover;}
.hero-bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.6);}
.hero-content{position:relative;z-index:10;text-align:center;padding:0 1rem;max-width:56rem;}
.hero h1{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;color:#f59e0b;margin-bottom:1.5rem;text-shadow:0 4px 12px rgba(0,0,0,.5);text-transform:uppercase;letter-spacing:0.15em;}
.hero p{font-size:clamp(1.1rem,2vw,1.5rem);color:#e7e5e4;margin-bottom:2rem;font-style:italic;font-family:'Quattrocento',serif;}
.hero-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;}
.btn{display:inline-block;font-weight:700;padding:0.75rem 2rem;border-radius:0.125rem;transition:all .2s;font-size:0.95rem;border:none;cursor:pointer;}
.btn-primary{background:#d97706;color:#1c1917;}
.btn-primary:hover{background:#b45309;transform:translateY(-2px);}
.btn-outline{background:transparent;border:2px solid #d97706;color:#d97706;}
.btn-outline:hover{background:#d97706;color:#1c1917;}

/* Sections */
.section{padding:4rem 0;}
.section-title{font-size:2.25rem;font-weight:700;margin-bottom:3rem;text-align:center;padding-bottom:1rem;border-bottom:2px solid;}
.section-univers{background:#f4ecd8;background-image:url("https://www.transparenttextures.com/patterns/parchment.png");}
.section-univers .section-title{color:#78350f;border-color:#92400e;}
.section-archives{background:#f5f5f4;}
.section-archives .section-title{color:#1c1917;border-color:#a8a29e;}
.section-communaute{background:#f4ecd8;background-image:url("https://www.transparenttextures.com/patterns/parchment.png");border-top:1px solid #fde68a;}
.section-communaute h2{font-size:1.875rem;font-weight:700;color:#78350f;margin-bottom:1.5rem;text-align:center;}
.section-communaute > .container{max-width:56rem;text-align:center;}
.section-communaute p{font-size:1.125rem;line-height:1.7;color:#44403c;margin-bottom:2rem;}

/* Portal cards grid */
.portal-grid{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:768px){.portal-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.portal-grid{grid-template-columns:1fr 1fr 1fr;}}
.portal-card{background:#fff;border-radius:0.5rem;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid #e7e5e4;transition:box-shadow .2s;}
.portal-card:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.15);}
.portal-card img{width:100%;height:12rem;object-fit:cover;}
.portal-card-body{padding:1.5rem;}
.portal-card h3{font-size:1.5rem;font-weight:700;color:#78350f;margin-bottom:0.25rem;}
.portal-card h4{font-size:0.85rem;font-weight:600;color:#d97706;margin-bottom:1rem;text-transform:uppercase;letter-spacing:-0.02em;}
.portal-card p{color:#57534e;font-size:0.9rem;line-height:1.7;}
.portal-card .more{margin-top:1.5rem;color:#b45309;font-weight:700;font-size:0.9rem;text-transform:uppercase;}

/* Community grid */
.community-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;text-align:left;}
@media(min-width:768px){.community-grid{grid-template-columns:1fr 1fr;}}
.community-card{background:rgba(255,255,255,.5);padding:1.5rem;border-radius:0.5rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid #fde68a;}
.community-card h3{font-size:1.25rem;font-weight:700;color:#92400e;margin-bottom:0.75rem;}
.community-card p{font-size:0.9rem;color:#57534e;margin:0;}

/* Archive cards (large highlight) */
.archive-stack{display:flex;flex-direction:column;gap:3rem;}
.archive-card{border-radius:0.75rem;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.4);display:flex;flex-direction:column;}
@media(min-width:1024px){.archive-card{flex-direction:row;}.archive-card.reverse{flex-direction:row-reverse;}}
.archive-card.dark{background:#1c1917;color:#f5f5f4;border:1px solid rgba(146,64,14,.4);}
.archive-card.light{background:#fff;border:1px solid #e7e5e4;}
.archive-half{flex:1;padding:2rem;}
@media(min-width:768px){.archive-half{padding:3rem;}}
.archive-half.img{position:relative;min-height:16rem;}
.archive-half.img img{width:100%;height:100%;object-fit:cover;}
.archive-badge{display:inline-block;padding:0.25rem 0.75rem;font-weight:700;font-size:0.75rem;text-transform:uppercase;border-radius:0.125rem;margin-bottom:1rem;}
.archive-badge.upcoming{background:#d97706;color:#1c1917;}
.archive-badge.retro{background:#e7e5e4;color:#44403c;}
.archive-card h3{font-size:1.875rem;font-weight:700;margin-bottom:1rem;}
.archive-card.dark h3{color:#f59e0b;}
.archive-card.light h3{color:#1c1917;}
.archive-card .lead{font-size:1.125rem;margin-bottom:1.5rem;font-style:italic;color:#d6d3d1;}
.archive-card.light p{color:#57534e;line-height:1.7;margin-bottom:1.5rem;}
.archive-card.dark p{color:#a8a29e;}
.link-list{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-top:1rem;}
.link-list a{font-size:0.75rem;color:#fbbf24;}
.link-list a:hover{text-decoration:underline;}
.archive-half .archive-cta{margin-top:2rem;padding-top:2rem;border-top:1px solid #44403c;}
.archive-img-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.archive-img-badge{background:#d97706;color:#1c1917;font-weight:900;font-size:2.25rem;padding:1.5rem;border-radius:50%;transform:rotate(12deg);text-transform:uppercase;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);}
.btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;}
.btn-grid a{background:#f5f5f4;padding:0.75rem;border-radius:0.25rem;font-size:0.75rem;font-weight:700;color:#44403c;text-align:center;text-transform:uppercase;transition:background .2s;}
.btn-grid a:hover{background:#fde68a;}
.btn-block{display:block;width:100%;text-align:center;border:2px solid #292524;color:#292524;padding:0.5rem;border-radius:0.125rem;font-weight:700;text-transform:uppercase;font-size:0.75rem;transition:all .2s;}
.btn-block:hover{background:#292524;color:#fff;}

/* Footer */
.footer{background:#1c1917;color:#a8a29e;padding:3rem 0;border-top:1px solid rgba(120,53,15,.2);}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem;}
@media(min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr;}}
.footer-grid h4{color:#f59e0b;font-weight:700;font-size:1.25rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.15em;}
.footer-grid h5{color:#f5f5f4;font-weight:700;margin-bottom:1rem;text-transform:uppercase;font-size:0.75rem;}
.footer-grid p{font-size:0.9rem;max-width:28rem;margin-bottom:1rem;}
.footer-socials{display:flex;gap:1rem;font-size:0.75rem;font-weight:700;text-transform:uppercase;}
.footer-socials span:hover, .footer-grid a:hover{color:#f59e0b;}
.footer-grid ul{list-style:none;font-size:0.9rem;display:flex;flex-direction:column;gap:0.5rem;}
.footer-bottom{border-top:1px solid #292524;padding-top:2rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:1rem;font-size:0.75rem;}
@media(min-width:768px){.footer-bottom{flex-direction:row;}}

/* Generic inner pages */
.page{min-height:100vh;padding:4rem 0;}
.page .container{max-width:64rem;}
.page-back{color:#78350f;font-weight:700;margin-bottom:2rem;display:inline-block;}
.page h1{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;text-transform:uppercase;}
.page-header{margin-bottom:3rem;border-bottom:2px solid rgba(120,53,15,.2);padding-bottom:2rem;text-align:center;}
.page-header h1{margin-bottom:1rem;}
.page-header p{font-size:1.25rem;color:#57534e;font-style:italic;}
.page-lead{font-size:1.125rem;color:#44403c;line-height:1.7;margin-bottom:1.5rem;}
.page-grid2{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem;}
@media(min-width:768px){.page-grid2{grid-template-columns:1fr 1fr;}}
.box{background:rgba(255,255,255,.5);padding:1.5rem;border-radius:0.25rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid #fde68a;}
.box-white{background:#fff;padding:1.5rem;border-radius:0.25rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid #e7e5e4;}
.box h2{font-size:1.25rem;font-weight:700;color:#92400e;margin-bottom:0.5rem;}
.box ul{list-style:disc;padding-left:1.25rem;color:#57534e;}
.center-row{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;}

/* Exposants grid */
.exposants-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
@media(min-width:640px){.exposants-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.exposants-grid{grid-template-columns:1fr 1fr 1fr;}}
.exposant-card{background:#fff;padding:1.5rem;border-radius:0.25rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid #e7e5e4;display:flex;align-items:center;gap:1rem;}
.exposant-num{width:3rem;height:3rem;background:#fef3c7;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#b45309;font-weight:700;flex-shrink:0;}
.exposant-card h3{font-weight:700;color:#44403c;font-style:italic;}
.exposant-card p{font-size:0.7rem;color:#78716c;text-transform:uppercase;}
.cta-amber{margin-top:4rem;background:#d97706;color:#1c1917;padding:2rem;border-radius:0.5rem;text-align:center;}
.cta-amber h2{font-size:1.5rem;font-weight:700;margin-bottom:0.5rem;}
.cta-amber a.btn-dark{margin-top:1rem;display:inline-block;background:#1c1917;color:#fff;padding:0.75rem 2rem;border-radius:0.25rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;font-size:0.85rem;}

/* Acte II 2025 page numbered list */
.numbered-list{display:flex;flex-direction:column;gap:2rem;}
.numbered-item{display:flex;gap:1.5rem;align-items:flex-start;}
.numbered-num{background:#fef3c7;padding:0.75rem 1rem;border-radius:0.5rem;color:#b45309;font-weight:700;font-size:1.25rem;flex-shrink:0;}
.numbered-item h3{font-size:1.25rem;font-weight:700;color:#292524;margin-bottom:0.5rem;}
.numbered-item p{color:#57534e;}
.acteii-badge{display:inline-block;background:#d97706;color:#1c1917;padding:0.25rem 1rem;border-radius:999px;font-size:0.75rem;font-weight:900;text-transform:uppercase;letter-spacing:0.15em;margin-bottom:1rem;}
.acteii-date{font-size:1.5rem;color:#b45309;font-style:italic;font-weight:700;}

/* Programme table */
.programme-section{background:#fff;border-radius:0.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);overflow:hidden;border:1px solid #e7e5e4;margin-bottom:3rem;}
.programme-day{background:#1c1917;color:#f59e0b;padding:1rem;font-weight:700;font-size:1.5rem;text-align:center;text-transform:uppercase;letter-spacing:0.15em;}
.programme-table{width:100%;font-size:0.9rem;border-collapse:collapse;}
.programme-table td{padding:0.75rem 1.5rem;border-top:1px solid #f5f5f4;}
.programme-table tr:first-child td{border-top:none;}
.programme-table td:first-child{font-weight:700;color:#b45309;width:6rem;}
.programme-table tr.highlight{background:rgba(217,119,6,.1);}
.programme-table tr.highlight td:first-child, .programme-table tr.highlight td:last-child{font-weight:900;color:#78350f;text-transform:uppercase;}

/* Livret placeholder */
.livret-box{background:rgba(255,255,255,.6);padding:3rem;border:4px dashed rgba(120,53,15,.2);border-radius:0.75rem;margin-bottom:3rem;text-align:center;}
.livret-icon{width:8rem;height:8rem;margin:0 auto 1.5rem;background:rgba(120,53,15,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.livret-icon svg{width:4rem;height:4rem;color:rgba(120,53,15,.3);}
.livret-box h2{font-size:1.25rem;font-weight:700;color:#78350f;}
.livret-box p{font-size:0.9rem;color:#78716c;margin-top:0.5rem;}
