:root{--font-centennial:'Libre Bodoni', 'Georgia', serif;--font-janson:'EB Garamond', 'Georgia', serif;--font-heading:var(--font-centennial);--font-body:var(--font-janson)}.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;padding:8px 16px;background:var(--navy-blue,#1b2a4a);color:#fff;font-family:var(--font-body);font-size:.875rem;border-radius:0 0 4px 4px;text-decoration:underline;transition:top .2s ease}.skip-link:focus{top:0;color:#fff;outline:2px solid var(--primary,#ad2c11);outline-offset:2px}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text-dark);font-size:1rem;line-height:1.6;background-color:var(--white)}.container{max-width:1200px;margin:0 auto;padding:0 20px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--navy-blue);line-height:1.22}h1{font-weight:900}h2{font-weight:900}h3{font-family:var(--font-centennial);font-weight:400;color:var(--primary);line-height:1.14}a{color:var(--navy-blue);text-decoration:none;transition:color .3s ease}a:hover{color:var(--primary)}.btn{display:inline-block;padding:12px 30px;font-family:var(--font-centennial);font-weight:700;text-transform:uppercase;border-radius:4px;transition:all .3s ease;cursor:pointer;border:none;font-size:.9rem}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-primary:hover{background-color:var(--primary-dark);color:var(--white)}.btn-secondary{background-color:var(--navy-blue);color:var(--white)}.btn-secondary:hover{background-color:var(--navy-dark);color:var(--white)}.site-header{position:sticky;top:0;z-index:1000}.top-bar{background-color:var(--navy-dark);color:var(--cream);padding:8px 0;font-size:.85rem;text-align:center;font-family:var(--font-janson)}.top-bar .tagline{font-style:italic}.main-nav{background-color:var(--white);padding:0;box-shadow:0 2px 10px var(--shadow)}.main-nav .container{display:flex;justify-content:space-between;align-items:center;background-color:var(--white)}.logo{padding:0;margin:0}.logo-img{height:50px;width:auto;display:block}.logo:hover .logo-img{opacity:.9}.nav-menu{display:flex;list-style:none;gap:0}.nav-menu>li{position:relative}.nav-menu>li>a{display:block;padding:20px 18px;color:var(--navy-blue);font-family:var(--font-centennial);font-weight:300;text-transform:uppercase;font-size:.9rem;transition:all .3s ease}.nav-menu>li>a:hover,.nav-menu>li:hover>a{background-color:var(--primary);color:var(--white)}.submenu{position:absolute;top:100%;left:0;min-width:220px;background-color:var(--white);box-shadow:0 4px 15px var(--shadow);list-style:none;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s ease;border-top:3px solid var(--primary)}.has-submenu:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}.submenu li a{display:block;padding:12px 20px;color:var(--navy-blue);font-family:var(--font-janson);font-size:.9rem;border-bottom:1px solid var(--cream);transition:all .3s ease}.submenu li:last-child a{border-bottom:none}.submenu li a:hover{background-color:var(--primary-tint-15);color:var(--primary);padding-left:25px}.submenu li.active a{background-color:var(--primary-tint-15);color:var(--primary);font-weight:700;padding-left:25px}.flag-icon{display:inline-block;width:20px;height:14px;vertical-align:middle;border:none;border-radius:0}.lang-switch>a .flag-icon{width:22px;height:15px}.submenu .flag-icon{margin-right:6px}.menu-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:10px;flex-shrink:0}.hamburger{display:block;width:25px;height:3px;background-color:var(--navy-blue);position:relative;transition:all .3s ease}.hamburger::before,.hamburger::after{content:'';position:absolute;left:0;width:25px;height:3px;background-color:var(--navy-blue);transition:all .3s ease}.hamburger::before{top:-8px}.hamburger::after{top:8px}.gold-accent{border-top:4px solid var(--gold)}.hero{background-color:var(--navy-blue);color:var(--white);padding:60px 20px 40px;display:flex;flex-direction:column;align-items:center}.hero-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:60px}.hero-logo{flex-shrink:0}.hero-logo img{width:220px;height:auto;display:block}.hero-text{flex:1}.hero h1{font-family:var(--font-centennial);font-size:3.5rem;font-weight:700;color:var(--primary);margin-bottom:15px;line-height:1.07}.hero-subtitle{font-family:var(--font-centennial);font-weight:700;font-size:1.15rem;margin-bottom:25px;color:var(--white);transform:scaleY(.9);transform-origin:center;line-height:1.5;opacity:.9}.hero-desc{font-family:var(--font-janson);font-size:1.05rem;line-height:1.7;color:var(--white-85)}.intro{padding:80px 0;background-color:var(--white)}.intro-content{max-width:800px;margin:0 auto;text-align:center}.intro h2{font-size:2.5rem;margin-bottom:20px}.intro p{font-size:1.1rem;color:var(--text-light);margin-bottom:30px}.features{padding:10px 0;background-color:var(--white)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature-card{background-color:var(--white);padding:10px;text-align:center;border-radius:8px;box-shadow:0 4px 15px var(--shadow);transition:transform .3s ease,box-shadow .3s ease;border-bottom:3px solid var(--primary)}.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px var(--shadow)}.feature-icon{font-size:2rem;margin-bottom:10px}.feature-card h3{font-family:var(--font-centennial);font-weight:900;font-size:1.4rem;margin-bottom:15px;color:var(--navy-blue)}.feature-card p{font-family:var(--font-janson);color:var(--text-light);line-height:1.6}.events{padding:30px 0;background-color:var(--white);text-align:center}.events h2{font-size:2.5rem;margin-bottom:20px}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:40px}.event-card{display:flex;align-items:flex-start;gap:20px;background-color:var(--gray-light);padding:25px;border-radius:8px;text-align:left;transition:transform .3s ease}.event-card:hover{transform:translateY(-3px)}.event-date{background-color:var(--primary);color:var(--white);padding:15px;border-radius:8px;text-align:center;min-width:70px}.event-date .day{display:block;font-family:var(--font-centennial);font-size:1.8rem;font-weight:700;line-height:1}.event-date .month{display:block;font-family:var(--font-centennial);font-size:.85rem;text-transform:uppercase}.event-info h3{font-family:var(--font-centennial);font-weight:900;font-size:1.1rem;margin-bottom:8px;color:var(--navy-blue)}.event-location{font-size:.82rem;color:var(--text-muted)}.event-info p{font-family:var(--font-janson);font-size:.9rem;color:var(--text-light)}.cta{padding:30px 0;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);text-align:center}.cta h2{font-family:var(--font-centennial);font-size:2.5rem;color:var(--white);margin-bottom:20px}.cta p{font-family:var(--font-janson);font-size:1.1rem;margin-bottom:30px;max-width:600px;margin-left:auto;margin-right:auto;opacity:.95}.cta .btn-primary{background-color:var(--white);color:var(--primary)}.cta .btn-primary:hover{background-color:var(--cream)}.page-header{background:linear-gradient(135deg,var(--navy-blue) 0%,var(--navy-dark) 100%);color:var(--white);padding:60px 0;text-align:center}.page-header h1{font-family:var(--font-centennial);color:var(--white);font-size:2.5rem;font-weight:700;margin-bottom:10px}.page-description{font-family:var(--font-janson);font-size:1.1rem;opacity:.9}.page-content .content,.list-page .container{padding:20px 0;max-width:900px;margin-left:auto;margin-right:auto}.page-content .content h2,.page-content .content h3,.list-page .container h2,.list-page .container h3{text-align:left}.content h2{font-family:var(--font-centennial);font-weight:900;font-size:1.8rem;margin:30px 0 15px;line-height:1.22}.content h3{font-family:var(--font-centennial);font-weight:400;font-size:1.4rem;margin:25px 0 12px;color:var(--primary);line-height:1.14}.content p{font-family:var(--font-janson);margin-bottom:15px;line-height:1.6}.content ul,.content ol{margin:15px 0 15px 30px;font-family:var(--font-janson)}.content li{margin-bottom:8px;line-height:1.6}.content ul{list-style:none}.content ul li{position:relative;padding-left:28px}.content ul li::before{content:'';position:absolute;left:0}.section-tinted .content ul li::before,.cta .content ul li::before,.page-header .content ul li::before{background-image:none;width:8px;height:8px;top:.6em;border-radius:50%;background-color:var(--primary)}.content>p:nth-of-type(n+2){color:var(--text-dark);font-weight:400;font-size:1rem}.content .author{font-family:var(--font-janson);font-style:normal;font-size:1.05rem;line-height:1.57;color:var(--text-dark)}.content img{max-width:100%;height:auto;border-radius:4px}.content figure{max-width:50%;margin:20px auto;text-align:center}.content figure img{width:100%;height:auto}.content table{border-collapse:collapse;width:100%;margin:25px 0}.content table td{vertical-align:top;text-align:center;padding:8px;font-family:var(--font-janson);font-size:.9rem;color:var(--text-light);border:none}.content table img{height:220px;width:auto;max-width:100%;object-fit:contain;display:block;margin:0 auto;border-radius:4px}.content figcaption,.content .caption{font-family:var(--font-janson);font-style:italic;font-variant:small-caps;font-size:.85rem;line-height:1.14;color:var(--text-dark)}.content .rubric,.rubric-label{font-family:var(--font-centennial);font-weight:300;font-size:.9rem;text-transform:uppercase;color:var(--text-dark);display:flex;align-items:center;gap:10px;margin-bottom:15px}.rubric-label::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background-color:var(--primary);flex-shrink:0}.section-tinted{background-color:var(--primary-tint-15)}.page-list{display:grid;gap:30px}.list-item{background-color:var(--white);padding:30px;border-radius:8px;box-shadow:0 2px 10px var(--shadow);border-left:3px solid var(--primary)}.list-item h2{font-family:var(--font-centennial);font-weight:900;font-size:1.5rem;margin-bottom:10px}.list-item h2 a{color:var(--navy-blue)}.list-item h2 a:hover{color:var(--primary)}.list-item p{font-family:var(--font-janson);color:var(--text-light);margin-bottom:15px}.read-more{color:var(--primary);font-family:var(--font-centennial);font-weight:700}.read-more:hover{color:var(--primary-dark)}.site-footer{background-color:var(--navy-dark);color:var(--cream);padding:60px 0 0;font-family:var(--font-janson)}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding-bottom:40px;border-bottom:1px solid var(--overlay-light)}.footer-col h3{font-family:var(--font-centennial);color:var(--white);font-size:1.1rem;font-weight:700;margin-bottom:20px;position:relative;padding-bottom:10px}.footer-col h3::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:2px;background-color:var(--primary)}.footer-col p{font-size:.9rem;line-height:1.7;opacity:.85}.footer-col ul{list-style:none}.footer-col ul li{margin-bottom:10px}.footer-col ul a{color:var(--cream);font-size:.9rem;opacity:.85;transition:all .3s ease}.footer-col ul a:hover{color:var(--gold);opacity:1}.footer-col p a{color:var(--gold);opacity:1;text-decoration:underline;text-underline-offset:2px;transition:all .3s ease}.footer-col p a:hover{color:var(--white)}.social-links{display:flex;gap:15px}.social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--overlay-light);color:var(--white);border-radius:50%;font-size:.85rem;font-weight:600;transition:all .3s ease}.social-links a:hover{background-color:var(--primary)}.footer-bottom{padding:25px 0;text-align:center;font-size:.85rem;opacity:.75}.footer-bottom a{color:var(--gold)}.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;margin-bottom:30px}.contact-top iframe{border-radius:8px;box-shadow:0 2px 12px var(--shadow)}.contact-form{max-width:640px;margin:30px 0;padding:35px 30px;background-color:var(--primary-tint-15);border-radius:8px;box-shadow:0 2px 12px var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{margin-bottom:22px}.form-group label{display:block;margin-bottom:6px;font-family:var(--font-centennial);font-weight:700;font-size:.95rem;color:var(--navy-blue)}.form-group .required{color:var(--primary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:11px 14px;border:1px solid var(--gray-border);border-radius:5px;font-family:var(--font-janson);font-size:1rem;color:var(--text-dark);background-color:var(--white);transition:border-color .25s ease,box-shadow .25s ease;-webkit-appearance:none;appearance:none}.form-group select{cursor:pointer}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-placeholder)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.form-group textarea{resize:vertical;min-height:120px}.form-note{font-size:.85rem;color:var(--text-light);margin-bottom:20px}.form-submit{width:100%;padding:14px;font-size:1rem}.objet-list{list-style:none;padding:0}.objet-list li{padding:10px 0 10px 25px;position:relative}.objet-list li::before{content:'★';position:absolute;left:0;color:var(--gold)}.page-content .container a:not(.btn)::after,.list-page .container a:not(.btn)::after,.features .container a:not(.btn)::after,.events .container a:not(.btn)::after,.intro .container a:not(.btn)::after,.cta .container a:not(.btn)::after{content:'';display:inline-block;width:.75em;height:.75em;margin-left:.25em;vertical-align:baseline;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat}.page-header .container a::after{display:none!important}.leaflet-container a::after{display:none!important}@media(max-width:992px){.features-grid,.events-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.content table img{height:140px}.contact-top{grid-template-columns:1fr}.menu-toggle{display:block}.nav-menu{position:absolute;top:100%;left:0;right:0;background-color:var(--navy-blue);flex-direction:column;display:none;border-top:1px solid var(--overlay-light)}.nav-menu.active{display:flex}.nav-menu>li>a{padding:15px 20px;color:var(--white);border-bottom:1px solid var(--overlay-light)}.submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:none;background-color:var(--navy-dark);display:none}.has-submenu.active .submenu{display:block}.submenu li a{color:var(--white);padding-left:40px;border-bottom-color:var(--overlay-light)}.submenu li a:hover{background-color:var(--overlay-light);color:var(--gold)}.submenu li.active a{background-color:var(--overlay-light);color:var(--gold);padding-left:45px}.hero-content{flex-direction:column;text-align:center;gap:30px}.hero-logo img{width:160px;margin:0 auto}.hero h1{font-size:2.5rem}.features-grid,.events-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-col h3::after{left:50%;transform:translateX(-50%)}}@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:25px 18px}}.error-404{text-align:center;padding:80px 0;max-width:640px;margin-left:auto;margin-right:auto}.error-404 .error-lead{font-family:var(--font-janson);font-size:1.25rem;font-weight:700;color:var(--primary);margin-bottom:12px}.error-404 p{font-family:var(--font-janson);font-size:1.05rem;color:var(--text-light);margin-bottom:12px}.error-404 .error-hint{margin-bottom:30px}.error-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.page-header .container{position:relative}.page-contribute{position:absolute;top:16px;right:20px}.page-contribute-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background-color:var(--overlay-light);color:var(--white);cursor:pointer;transition:background-color .25s ease}.page-contribute-toggle:hover,.page-contribute-toggle:focus-visible{background-color:var(--white);color:var(--navy-blue);outline:2px solid var(--gold);outline-offset:2px}.page-contribute-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:220px;list-style:none;padding:6px 0;margin:0;background-color:var(--white);border-radius:6px;box-shadow:0 4px 16px var(--shadow);z-index:10}.page-contribute:hover .page-contribute-dropdown,.page-contribute:focus-within .page-contribute-dropdown{display:block}.page-contribute-dropdown li{padding:0}.page-contribute-dropdown li::before{display:none}.page-contribute-dropdown a{display:flex;align-items:center;gap:8px;padding:10px 16px;font-family:var(--font-janson);font-size:.9rem;color:var(--navy-blue);white-space:nowrap;transition:background-color .2s ease,color .2s ease}.page-contribute-dropdown a:hover{background-color:var(--primary-tint-15);color:var(--primary)}.page-contribute-dropdown a::after{display:none!important}