:root{--primary:#8B4513;--primary-dark:#5D2E0F;--secondary:#2C3E50;--accent:#D4AF37;--accent-light:#F4E4B8;--white:#FFF;--off-white:#FAF8F3;--light-gray:#E8E4DD;--gray:#A39B8B;--dark-gray:#4A4A4A;--black:#1C1C1C;--font-heading:'Cinzel',serif;--font-body:'Cormorant Garamond',serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--dark-gray);background:var(--off-white);line-height:1.7;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:all .2s ease}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 24px}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(28,28,28,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(212,175,55,.2)}.nav-container{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;height:80px}.nav-logo .logo-text{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--accent);letter-spacing:1px}.nav-menu{display:flex;gap:40px;align-items:center}.nav-link{font-family:var(--font-heading);font-size:.95rem;color:var(--off-white);text-transform:uppercase;letter-spacing:1px;position:relative;padding:8px 0}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.nav-link:hover::after{width:100%}.hamburger{display:none;flex-direction:column;gap:6px;cursor:pointer}.hamburger span{width:28px;height:2px;background:var(--accent);transition:all .2s}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;background:url('http://chateaudebelflou.fr/wp-content/uploads/2016/08/belflou_02-header.jpg') center/cover no-repeat;background-attachment:fixed}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,28,28,.6) 0%,rgba(139,69,19,.4) 100%)}.hero-content{position:relative;z-index:10;text-align:center;color:var(--white);animation:fadeInUp 1s ease-out}.hero-title{font-family:var(--font-heading);margin-bottom:24px}.title-line{display:block;font-size:2.5rem;font-weight:400;letter-spacing:4px;text-transform:uppercase;opacity:0;animation:fadeInUp .8s ease-out forwards}.title-line.main{font-size:5rem;font-weight:700;color:var(--accent);margin-top:12px;animation-delay:.2s}.hero-subtitle{font-size:1.8rem;font-style:italic;margin-bottom:16px;opacity:0;animation:fadeInUp .8s ease-out .4s forwards}.hero-description{font-size:1.2rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:48px;opacity:0;animation:fadeInUp .8s ease-out .6s forwards}.hero-cta{display:flex;gap:24px;justify-content:center;opacity:0;animation:fadeInUp .8s ease-out .8s forwards}.btn{padding:16px 40px;font-family:var(--font-heading);font-size:1rem;text-transform:uppercase;letter-spacing:1.5px;border:2px solid;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover::before{width:300px;height:300px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--black)}.btn-primary:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,175,55,.4)}.btn-secondary{background:transparent;border-color:var(--white);color:var(--white)}.btn-secondary:hover{background:var(--white);color:var(--black);transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);animation:bounce 2s infinite}.scroll-arrow{width:24px;height:24px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}.intro{padding:120px 0;background:var(--white)}.intro-content{text-align:center;max-width:900px;margin:0 auto}.intro-badge{display:inline-block;padding:8px 24px;background:var(--accent-light);color:var(--primary-dark);font-family:var(--font-heading);font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;border-radius:30px;margin-bottom:32px}.section-title{font-family:var(--font-heading);font-size:3rem;color:var(--secondary);margin-bottom:24px;line-height:1.2}.intro-text{font-size:1.25rem;line-height:1.8;color:var(--dark-gray);margin-bottom:64px}.intro-text em{color:var(--primary);font-style:italic}.intro-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;margin-top:48px}.highlight-card{padding:40px 24px;background:var(--off-white);border:2px solid var(--light-gray);transition:all .4s}.highlight-card:hover{transform:translateY(-8px);border-color:var(--accent);box-shadow:0 12px 40px rgba(139,69,19,.15)}.highlight-icon{font-size:3rem;margin-bottom:16px}.highlight-card h3{font-family:var(--font-heading);font-size:1.4rem;color:var(--secondary);margin-bottom:8px}.highlight-card p{color:var(--gray);font-size:1.1rem}.histoire{padding:120px 0;background:var(--secondary);color:var(--white)}.histoire .section-title{color:var(--accent);text-align:center}.section-subtitle{text-align:center;font-size:1.2rem;color:var(--light-gray);margin-bottom:64px}.timeline{position:relative;max-width:900px;margin:0 auto;padding:40px 0}.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--accent);transform:translateX(-50%)}.timeline-item{position:relative;margin-bottom:80px;width:calc(50% - 40px)}.timeline-item:nth-child(odd){margin-left:0;text-align:right}.timeline-item:nth-child(even){margin-left:calc(50% + 40px);text-align:left}.timeline-marker{position:absolute;top:0;width:20px;height:20px;background:var(--accent);border:4px solid var(--secondary);border-radius:50%;z-index:10}.timeline-item:nth-child(odd) .timeline-marker{right:-50px}.timeline-item:nth-child(even) .timeline-marker{left:-50px}.timeline-item::before{content:attr(data-year);position:absolute;top:-8px;font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--accent)}.timeline-item:nth-child(odd)::before{right:-120px}.timeline-item:nth-child(even)::before{left:-120px}.timeline-content{padding:24px;background:rgba(255,255,255,.05);border:1px solid rgba(212,175,55,.3);transition:all .4s}.timeline-content:hover{background:rgba(255,255,255,.1);border-color:var(--accent);transform:scale(1.02)}.timeline-content h3{font-family:var(--font-heading);font-size:1.5rem;color:var(--accent-light);margin-bottom:12px}.timeline-content p{font-size:1.05rem;line-height:1.7;color:var(--light-gray)}.architecture{padding:120px 0;background:var(--off-white)}.architecture .section-title{text-align:center}.architecture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;margin-top:64px}.arch-card{padding:32px;background:var(--white);border:2px solid var(--light-gray);transition:all .4s;position:relative;overflow:hidden}.arch-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(135deg,#8B4513 0%,#A0522D 100%);transform:scaleX(0);transition:transform .4s ease}.arch-card:hover::before{transform:scaleX(1)}.arch-card.featured{border-color:var(--accent);background:linear-gradient(135deg,rgba(139,69,19,.05) 0%,rgba(212,175,55,.05) 100%)}.arch-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px rgba(0,0,0,.1)}.arch-period{display:inline-block;padding:6px 16px;background:var(--accent);color:var(--white);font-family:var(--font-heading);font-size:.85rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.arch-card h3{font-family:var(--font-heading);font-size:1.6rem;color:var(--secondary);margin-bottom:20px}.arch-card ul{list-style:none}.arch-card li{padding:10px 0;padding-left:28px;position:relative;font-size:1.05rem;color:var(--dark-gray)}.arch-card li::before{content:'→';position:absolute;left:0;color:var(--accent);font-weight:bold}.elements-conserves{margin-top:80px;padding:48px;background:var(--white);border:2px solid var(--accent)}.elements-conserves h3{font-family:var(--font-heading);font-size:2rem;color:var(--secondary);text-align:center;margin-bottom:48px}.elements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px}.element-item{text-align:center;padding:24px;transition:all .4s}.element-item:hover{transform:scale(1.05)}.element-icon{font-size:3rem;display:block;margin-bottom:16px}.element-item h4{font-family:var(--font-heading);font-size:1.3rem;color:var(--primary);margin-bottom:8px}.element-item p{font-size:1rem;color:var(--gray)}.galerie{padding:120px 0;background:var(--secondary)}.galerie .section-title{color:var(--accent);text-align:center}.galerie .section-subtitle{color:var(--light-gray)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:64px}.gallery-item{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer}.gallery-item.large{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(28,28,28,.9) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity .4s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay h3{font-family:var(--font-heading);font-size:1.5rem;color:var(--accent);margin-bottom:8px}.gallery-overlay p{color:var(--light-gray);font-size:1.1rem}.unique-features{padding:120px 0;background:var(--white)}.unique-features .section-title{text-align:center;margin-bottom:64px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}.feature-card{padding:40px;background:var(--off-white);border-left:4px solid var(--accent);transition:all .4s}.feature-card:hover{transform:translateX(8px);box-shadow:-8px 8px 32px rgba(139,69,19,.15)}.feature-number{font-family:var(--font-heading);font-size:3rem;font-weight:700;color:var(--accent);opacity:.3;margin-bottom:16px}.feature-card h3{font-family:var(--font-heading);font-size:1.8rem;color:var(--secondary);margin-bottom:16px}.feature-card p{font-size:1.1rem;line-height:1.8;color:var(--dark-gray)}.evenements{padding:120px 0;background:linear-gradient(135deg,rgba(139,69,19,.05) 0%,rgba(212,175,55,.05) 100%)}.evenements .section-title{text-align:center}.events-content{max-width:800px;margin:64px auto 0;text-align:center}.event-description{margin-bottom:48px}.event-description p{font-size:1.2rem;line-height:1.8;margin-bottom:32px}.event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:32px}.event-list li{padding:16px;background:var(--white);border:2px solid var(--light-gray);font-family:var(--font-heading);font-size:1.1rem;color:var(--primary);transition:all .4s}.event-list li:hover{border-color:var(--accent);transform:scale(1.05)}.event-cta{padding:48px;background:var(--white);border:2px solid var(--accent)}.event-cta p{font-size:1.15rem;margin-bottom:24px;color:var(--dark-gray)}.contact{padding:120px 0;background:var(--secondary);color:var(--white)}.contact .section-title{color:var(--accent);text-align:center;margin-bottom:64px}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}.contact-info h3{font-family:var(--font-heading);font-size:2rem;color:var(--accent);margin-bottom:32px}.info-item{display:flex;gap:20px;margin-bottom:32px;padding:24px;background:rgba(255,255,255,.05);border:1px solid rgba(212,175,55,.2);transition:all .4s}.info-item:hover{background:rgba(255,255,255,.1);border-color:var(--accent)}.info-icon{font-size:2rem}.info-item strong{display:block;font-family:var(--font-heading);font-size:1.2rem;color:var(--accent-light);margin-bottom:8px}.info-item p{color:var(--light-gray);font-size:1.05rem;line-height:1.6}.info-item a{color:var(--accent);text-decoration:underline}.info-item a:hover{color:var(--accent-light)}.contact-map{background:rgba(255,255,255,.05);border:2px solid rgba(212,175,55,.3);display:flex;align-items:center;justify-content:center;min-height:400px}.map-placeholder{text-align:center;font-size:1.5rem;color:var(--accent)}.footer{background:var(--black);color:var(--light-gray);padding:64px 0 24px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:48px;margin-bottom:48px}.footer-section h4{font-family:var(--font-heading);font-size:1.3rem;color:var(--accent);margin-bottom:20px}.footer-section p{font-size:1rem;line-height:1.6}.footer-section ul li{margin-bottom:12px}.footer-section a:hover{color:var(--accent)}.footer-bottom{text-align:center;padding-top:32px;border-top:1px solid rgba(212,175,55,.2);font-size:.95rem}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}@media (max-width:1024px){.timeline::before{left:40px}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(even){width:100%;margin-left:80px;text-align:left}.timeline-marker,.timeline-item:nth-child(odd) .timeline-marker,.timeline-item:nth-child(even) .timeline-marker{left:30px}.timeline-item::before,.timeline-item:nth-child(odd)::before,.timeline-item:nth-child(even)::before{left:-70px;top:0}.gallery-item.large{grid-column:span 1}}@media (max-width:768px){.nav-menu{position:fixed;top:80px;left:-100%;width:100%;height:calc(100vh - 80px);background:rgba(28,28,28,.98);flex-direction:column;justify-content:flex-start;padding:48px 24px;gap:24px;transition:left .4s ease}.nav-menu.active{left:0}.hamburger{display:flex}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.title-line{font-size:1.8rem}.title-line.main{font-size:3rem}.hero-subtitle{font-size:1.3rem}.hero-cta{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}.section-title{font-size:2.2rem}.intro-highlights,.architecture-grid,.features-grid{grid-template-columns:1fr}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(even){margin-left:60px}.elements-conserves{padding:32px 24px}.elements-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}@media (max-width:480px){.nav-container{height:70px}.nav-logo .logo-text{font-size:1.2rem}.title-line{font-size:1.5rem}.title-line.main{font-size:2.5rem}.section-title{font-size:1.8rem}.intro-text{font-size:1.1rem}.event-list{grid-template-columns:1fr}}
