*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:#faf8f5;color:#3d3229;font-family:Lato,Helvetica Neue,Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:#8b6f5e;text-decoration:none;transition:color .2s}a:hover{color:#c9a87c}h1,h2,h3{color:#6b5347;font-family:Playfair Display,Georgia,serif;font-weight:700}.container{margin:0 auto;max-width:1200px;padding:0 20px;width:100%}.site-header{background:#fff;border-bottom:1px solid #e8e0d8;box-shadow:0 2px 12px rgba(0,0,0,.04);position:sticky;top:0;z-index:100}.header-inner{align-items:center;display:flex;height:72px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.logo{text-decoration:none}.logo:hover .logo-names{color:#8b6f5e}.logo-names{color:#6b5347;font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:.02em;transition:color .2s}.main-nav{display:flex;gap:8px}.nav-link{border-radius:24px;color:#7a6e63;display:inline-block;font-size:.95rem;font-weight:500;padding:8px 18px;transition:all .25s}.nav-link:hover{background:#e8d5b7;color:#6b5347}.nav-link.active{background:#8b6f5e;color:#fff}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;height:36px;justify-content:center;padding:4px;width:36px}.hamburger span{background:#6b5347;border-radius:2px;display:block;height:2px;transition:all .3s;width:100%}.hamburger.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.site-main{min-height:calc(100vh - 152px);width:100%}.section-content{padding:80px 0;scroll-margin-top:72px;width:100%}.section-content h1{font-size:2.5rem;margin-bottom:12px;text-align:center}.section-content .section-subtitle{color:#7a6e63;font-size:1.1rem;margin-bottom:48px;text-align:center}.section-accueil{padding:0;scroll-margin-top:0}.accueil-hero{align-items:center;background:linear-gradient(135deg,#e8d5b7,#faf8f5 50%,#e8d5b7);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.accueil-overlay{background:radial-gradient(ellipse at center,hsla(0,0%,100%,.6) 0,transparent 70%);inset:0;position:absolute}.accueil-text{padding:40px 20px;position:relative;text-align:center;z-index:1}.accueil-pre{color:#7a6e63;font-size:1.1rem;letter-spacing:.05em;margin-bottom:16px}.accueil-names{color:#6b5347;font-size:4rem;letter-spacing:.02em;line-height:1.1;margin-bottom:20px}.accueil-date{color:#8b6f5e;font-size:1.25rem;font-weight:300;letter-spacing:.08em;margin-bottom:40px}.btn-accueil{background:#8b6f5e;border-radius:32px;box-shadow:0 4px 16px rgba(139,111,94,.3);color:#fff;display:inline-block;font-size:1rem;font-weight:600;letter-spacing:.03em;padding:16px 48px;transition:all .3s}.btn-accueil:hover{background:#6b5347;box-shadow:0 6px 24px rgba(139,111,94,.4);color:#fff;transform:translateY(-2px)}.story-timeline{display:flex;flex-direction:column;gap:40px;margin-top:40px}.story-block{border-left:3px solid #c9a87c;padding-left:32px;position:relative}.story-block .story-date{color:#8b6f5e;font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:600;margin-bottom:8px}.story-block p{color:#7a6e63;font-size:1.05rem;line-height:1.8}.timeline{display:flex;flex-direction:column;gap:32px;margin:0 auto;max-width:700px}.timeline-item{align-items:flex-start;display:flex;gap:24px}.timeline-time{color:#8b6f5e;flex-shrink:0;font-family:Playfair Display,Georgia,serif;font-size:1.3rem;font-weight:700;padding-top:2px;text-align:right;width:80px}.timeline-content{background:#fff;border:1px solid #e8e0d8;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.03);flex:1;padding:20px 24px}.timeline-content h3{font-size:1.15rem;margin-bottom:6px}.timeline-content p{color:#7a6e63;font-size:.95rem}.rsvp-card{background:#fff;border:1px solid #e8e0d8;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.05);margin:0 auto;max-width:560px;padding:48px 40px;text-align:center}.rsvp-card .rsvp-icon{font-size:3rem;margin-bottom:16px}.rsvp-card p{color:#7a6e63;font-size:1.05rem;line-height:1.7;margin-bottom:24px}.btn-rsvp{background:#8b6f5e;border-radius:32px;box-shadow:0 4px 16px rgba(139,111,94,.3);color:#fff;display:inline-block;font-size:1.1rem;font-weight:600;letter-spacing:.02em;padding:16px 48px;transition:all .3s}.btn-rsvp:hover{background:#6b5347;box-shadow:0 6px 24px rgba(139,111,94,.4);color:#fff;transform:translateY(-2px)}.rsvp-note{color:#7a6e63;font-size:.9rem!important;margin-top:24px}.info-cards{display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:48px}.info-card{background:#fff;border:1px solid #e8e0d8;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.03);padding:32px 28px;text-align:center}.info-card .info-icon{font-size:2.2rem;margin-bottom:12px}.info-card h3{font-size:1.15rem;margin-bottom:10px}.info-card p{color:#7a6e63;font-size:.95rem;line-height:1.6}.info-card .info-detail{color:#958a80;font-size:.85rem;margin-top:8px}.contact-section{border-top:1px solid #e8e0d8;padding:40px 0;text-align:center}.contact-section h3{font-size:1.3rem;margin-bottom:12px}.contact-section a{color:#8b6f5e;font-weight:600}.site-footer{background:#fff;border-top:1px solid #e8e0d8;color:#7a6e63;font-size:.9rem;padding:28px 20px;text-align:center}@media(max-width:768px){.hamburger{display:flex}.main-nav{background:#fff;border-bottom:1px solid #e8e0d8;box-shadow:0 8px 24px rgba(0,0,0,.08);flex-direction:column;gap:4px;left:0;padding:20px;position:fixed;right:0;top:72px;transform:translateY(-120%);transition:transform .35s ease;z-index:99}.main-nav.open{transform:translateY(0)}.nav-link{border-radius:10px;display:block;font-size:1.05rem;padding:14px 20px;text-align:center}.section-content h1{font-size:2rem}.accueil-names{font-size:2.8rem}.accueil-pre{font-size:1rem}.info-cards{grid-template-columns:1fr}.timeline-item{flex-direction:column;gap:8px}.timeline-time{text-align:left;width:auto}.rsvp-card{padding:32px 24px}}@media(max-width:480px){.logo-names{font-size:1.2rem}.section-content{padding:40px 0 60px}.section-content h1{font-size:1.7rem}.section-content .section-subtitle{font-size:1rem;margin-bottom:32px}.story-block{padding-left:20px}.story-block .story-date{font-size:1.1rem}.story-block p{font-size:.95rem}.btn-rsvp{font-size:1rem;padding:14px 36px}}@media(min-width:1024px){.section-content h1{font-size:3rem}.accueil-names{font-size:5rem}.story-timeline{margin:40px auto 0;max-width:800px}}