@font-face{font-family:ElmsSans;src:url("../fonts/ElmsSans-VariableFont_wght.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:ElmsSans;src:url("../fonts/ElmsSans-Italic-VariableFont_wght.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:CormorantGaramond;src:url("../fonts/CormorantGaramond-VariableFont_wght.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:CormorantGaramond;src:url("../fonts/CormorantGaramond-Italic-VariableFont_wght.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Tinos;src:url("../fonts/Tinos-Regular.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Tinos;src:url("../fonts/Tinos-Italic.ttf") format("truetype");font-weight:400;font-style:italic}html{scroll-behavior:smooth}*{scroll-margin-top:130px;box-sizing:border-box}body,html{height:100%;margin:0}body{display:flex;flex-direction:column;min-height:100vh;font-family:ElmsSans,sans-serif;background:url('../images/libellule.png') no-repeat center center fixed;background-size:cover;color:#333;padding-top:150px}.container{flex:1;width:840px;margin:auto;padding:20px;background-color:rgba(255,255,255,.9)}section{opacity:0;transform:translateY(20px);transition:opacity 1s ease,transform 1s ease;margin-top:1rem;margin-bottom:100px;padding:0 1rem}section.visible{opacity:1;transform:translateY(0)}.button,button{padding:14px 28px;background:#a3b677;color:#fff;border:none;border-radius:20px;font-family:CormorantGaramond,sans-serif;font-size:1.2rem;font-weight:400;text-transform:uppercase;text-align:center;cursor:pointer;transition:background .3s ease;box-shadow:0 4px 10px rgba(0,0,0,.12)}.button:hover,button:hover{text-decoration:none;background:#d6ad64}.div-buttons-right{margin-top:15px;display:flex;gap:15px;justify-content:flex-end}.div-buttons-center{display:flex;gap:1rem;margin:3rem 0;justify-content:center}@media (max-width:768px){.button,.div-buttons-center,button{width:100%}}img{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.12)}@media (max-width:992px){body{padding-top:80px}.container{width:100%;margin:0;padding:10px}}h1{font-family:CormorantGaramond,sans-serif;color:#295529;text-transform:uppercase;font-weight:700;text-align:center;font-size:1.8rem;margin:50px 2rem 10px}h2,h3{font-family:ElmsSans,sans-serif;font-style:italic;transition:color .3s ease;color:#a3b677}h2{font-size:1.4rem;margin-top:50px;margin-bottom:6px}h3{font-size:1.2rem;margin-top:40px;margin-bottom:0}li,p{text-align:justify;font-size:1.15rem;line-height:1.7}.center{text-align:center}a{color:#d6ad64;text-decoration:none;font-weight:700;transition:color .3s ease}a:hover{text-decoration:underline}a:focus{outline:2px solid #d6ad64;outline-offset:3px}q{font-style:italic;quotes:none}q::before{content:"«\202F"}q::after{content:"\202F»"}blockquote{padding:0 1rem;border:1px solid #295529}blockquote p{font-size:1.05rem;font-style:italic}header{position:fixed;top:0;width:100%;z-index:1000;background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:10px 30px}.header-space{height:150px}body{padding-top:150px}.logo{height:90px;transition:height .3s ease,transform .3s ease;box-shadow:none;width:auto;opacity:0;transform:translateY(-10px);animation:fadeLogo 1s ease forwards}header.scrolled .header-space{height:110px}header.scrolled .logo{height:60px}.logo:hover{transform:scale(1.05)}@keyframes fadeLogo{to{opacity:1;transform:translateY(0)}}nav{display:flex;gap:20px}nav a{color:#295529;font-family:CormorantGaramond,sans-serif;font-size:1.1rem;text-transform:uppercase;font-weight:700}nav a:hover{color:#d6ad64;text-decoration:none}nav a.selected{color:#d6ad64}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px}.hamburger span{width:25px;height:3px;background-color:#295529;transition:.3s}@media (max-width:992px){body{padding-top:110px}}@media (max-width:1200px){nav{position:absolute;top:80px;right:0;background:rgba(255,255,255,.95);flex-direction:column;width:200px;padding:20px;display:none;box-shadow:0 4px 10px rgba(0,0,0,.15);border-left:2px solid #baafab33}nav.open{display:flex}.hamburger{display:flex}}footer{margin-top:60px;background-color:#fff;padding:20px;border-top:2px solid rgba(214,173,100,.2);text-align:center}footer .footer-line{padding:6px 0;font-size:1rem;color:#a3b677;text-align:center;margin:0}footer .credit,footer .credit a{font-size:.9rem;color:#a3b677}footer .social-links a{color:#b88c4a;padding:0 12px;text-decoration:none}footer .social-links svg{color:#d6ad64;height:40px;width:40px;aspect-ratio:auto 40/40;transition:transform .3s ease}footer .social-links svg:hover{transform:translateY(-3px)}@media (max-width:992px){footer{margin-top:0}}#back-to-top{position:fixed;bottom:20px;right:20px;background-color:#fff;color:#333;border:1px solid #ddd;border-radius:50%;width:56px;height:56px;font-size:22px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.15);display:none;place-items:center;align-items:center;justify-content:center;transition:opacity .3s ease,transform .3s ease;-webkit-tap-highlight-color:transparent}#back-to-top:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(0,0,0,.2)}.floating-image-left,.floating-image-right{display:block}.floating-image-left img,.floating-image-right img{width:275px;max-width:45%;shape-outside:margin-box}.floating-image-left img{float:left;margin:0 1rem .5rem 0}.floating-image-right img{float:right;margin:0 0 .5rem 1rem}@media (max-width:576px){.floating-image-left,.floating-image-right{display:flex;flex-direction:column}.floating-image-left img,.floating-image-right img{width:100%!important;max-width:100%;float:none;shape-outside:none;margin:0}}.intro-text{font-size:1.25rem;color:#555;padding-bottom:1rem}.intro-button{font-size:1.5rem}.extrait{background:#f9f8f5 url('/assets/images/paper-texture.webp') repeat;padding:2rem;max-width:750px;margin:0 auto;color:#333}.extrait blockquote,.extrait blockquote p,.extrait h2,.extrait li,.extrait p,.extrait q{font-family:Tinos,serif}.extrait h2{text-align:center}.extrait li,.extrait p{font-size:1.15rem;line-height:1.7;text-align:justify;margin:.8rem 0}.extrait .extrait-intro{font-size:1.25rem;line-height:1.8;font-style:italic}.extrait img{width:90%;justify-self:center}.extraits-carousel{max-width:700px;margin:0 auto;padding:2rem 1rem;position:relative}.extrait-content{font-size:1.2rem;line-height:1.7;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.extrait-content.visible{opacity:1;transform:translateY(0)}.extrait-loader{width:60px;height:60px;background:url('/assets/images/paper-texture.webp') center/cover no-repeat;border-radius:50%;border:1px solid #ddd;box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);opacity:0;pointer-events:none;transition:opacity .3s ease;animation:loader-rotate 1.4s linear infinite}@keyframes loader-rotate{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.extrait-counter{background:rgba(255,255,255,.95);border-radius:50%;width:50px;height:50px;align-content:center;text-align:center;font-size:1rem;color:#333}.carousel-controls{position:sticky;bottom:20px;display:flex;justify-content:center;gap:2rem;padding:1rem 0;z-index:10}.carousel-controls button{font-weight:700;display:grid;place-items:center;justify-content:center;width:50px;height:50px;padding:0}@media (max-width:768px){.extraits-carousel{padding:1rem .5rem}.extrait{padding:1.2rem;margin:0;background-size:200%}.extrait-content{font-size:1.05rem;line-height:1.65}.extrait img{width:100%}.extrait li,.extrait p{font-size:1.05rem;line-height:1.65}.extrait-intro{font-size:1.15rem;line-height:1.7;padding:0 .5rem}.extrait blockquote{margin:.5rem}.carousel-controls{bottom:10px;gap:.7rem}.carousel-controls button{width:48px;height:48px;font-size:20px}.extrait-counter{width:48px;height:48px;font-size:.9rem}.extrait-loader{width:50px;height:50px;top:35%}}form{max-width:600px;margin:30px auto;text-align:left}.form-group{margin-bottom:20px;display:flex;flex-direction:column}label{display:block;font-family:ElmsSans,sans-serif;font-style:italic;font-size:1rem;margin-bottom:6px;color:#295529}input,textarea{padding:12px;border:2px solid #f0d9b3;border-radius:14px;font-family:ElmsSans,sans-serif;font-size:1rem;background:#ffffffee;transition:border-color .3s ease,box-shadow .3s ease;box-shadow:0 4px 10px rgba(0,0,0,.06)}input:focus,textarea:focus{border-color:#d6ad64;box-shadow:0 4px 12px rgba(238,172,158,.25);outline:0}.contact-form{text-align:center;margin:30px 0}.contact-status{margin-top:15px;font-size:.95rem;text-align:center;color:#295529}.honeypot{position:absolute;left:-9999px;visibility:hidden;height:0;overflow:hidden}select{padding:12px;border:2px solid #f0d9b3;border-radius:14px;font-family:ElmsSans,sans-serif;font-size:1rem;background:#ffffffee;transition:border-color .3s ease,box-shadow .3s ease;box-shadow:0 4px 10px rgba(0,0,0,.06);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#295529 50%),linear-gradient(135deg,#295529 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 4px),calc(100% - 15px) calc(50% - 4px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}select:focus{border-color:#d6ad64;box-shadow:0 4px 12px rgba(238,172,158,.25);outline:0}select option{font-family:ElmsSans,sans-serif;font-size:1rem}.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);padding:20px;box-shadow:0 4px 10px rgba(0,0,0,.12);z-index:9999;transition:opacity .4s ease;opacity:1}.cookie-banner.hidden{opacity:0;pointer-events:none}.cookie-content{max-width:840px;margin:0 auto;text-align:center;font-family:ElmsSans,sans-serif}.cookie-text{font-size:1rem;color:#555;margin-bottom:15px;line-height:1.5}.cookie-buttons{display:flex;justify-content:center;gap:12px}@media (max-width:576px){.cookie-buttons{flex-direction:column}}.cookie-btn.accept{background:#b9ddb9;color:#333}.cookie-btn.refuse{background:#f1e2c9;color:#333}.cookie-btn.customize{background:#eee;color:#333}.cookie-footer-text{font-size:.9rem;color:#555;margin-top:12px;line-height:1.4}.cookie-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(51,51,51,.35);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:10000;opacity:1;transition:opacity .3s ease}.cookie-modal.hidden{opacity:0;pointer-events:none}.cookie-modal-content{background:#fff;padding:25px 30px;border-radius:14px;max-width:450px;width:90%;box-shadow:0 6px 20px rgba(0,0,0,.08);text-align:center;font-family:ElmsSans,sans-serif}.cookie-modal-text{margin-bottom:20px;color:#555;line-height:1.5}.cookie-option{margin-bottom:20px;text-align:left;color:#295529}.cookie-option input[type=checkbox]{margin-right:8px}.cookie-modal-buttons{display:flex;justify-content:center;gap:12px}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.blog-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08);display:flex;flex-direction:column;justify-content:space-between;align-items:center;transition:transform .2s ease}.blog-card .button,.blog-card button{width:90%;margin-bottom:2rem}.blog-card:hover{transform:translateY(-4px)}.blog-card-image{background:#f3f3f3;aspect-ratio:5/3;width:100%;overflow:hidden}.blog-card-image img{width:100%;height:100%;max-height:fit-content;object-fit:cover;border-radius:0;box-shadow:none}.blog-card-image.placeholder{display:flex;align-items:center;justify-content:center;color:#aaa;font-size:14px}.blog-card-content{padding:1.5rem}.blog-card-title{margin:0 0 .5rem;font-size:1.3rem}.blog-card-title a{text-decoration:none;color:#333}.blog-card-meta{font-size:.9rem;color:#777;margin-bottom:1rem}.blog-card-excerpt{font-size:1rem;color:#555;margin-bottom:1.5rem}.blog-post-cover{justify-items:center;overflow:hidden}.blog-post-cover img{max-height:350px;max-width:500px;object-fit:cover;box-shadow:none}.blog-post-meta{font-size:.95rem;color:#777;margin-bottom:2rem}.blog-post-content{padding:2rem}@media (max-width:768px){.blog-post-content{padding:0}}