.fg-cookie-banner{position:fixed;bottom:0;left:0;right:0;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -4px 12px rgba(0,0,0,.1);z-index:9999;font-size:.95rem;color:#2f4f2f}.fg-cookie-banner button{background:#7aa87a;color:#fff;border:none;padding:.6rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:.2s}.fg-cookie-banner button:hover{background:#6a966a}.fg-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #ddd}.fg-header-inner{max-width:1100px;margin:0 auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}.fg-logo a{text-decoration:none;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#333}.fg-nav{display:flex;gap:1.5rem;justify-content:center;align-items:center}.fg-nav-link{text-decoration:none;color:#333;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em}.fg-nav-link:hover{color:#006b4b}.fg-burger{display:none;flex-direction:column;gap:.25rem;background:none;border:none;padding:0}.fg-burger span{width:22px;height:2px;background:#333}@media (min-width:768px){.fg-nav-desktop{display:flex}.fg-burger,.fg-nav-mobile{display:none}}@media (max-width:767px){.fg-nav-desktop{display:none}.fg-burger{display:flex}.fg-nav-mobile{display:flex;flex-direction:column;padding:.5rem 1rem 1rem;border-top:1px solid #ddd;background:#f7f3ea}}.fg-footer{border-top:1px solid #ddd;background:#fff;margin-top:3rem}.fg-footer-inner{max-width:1100px;margin:0 auto;padding:1rem;display:flex;justify-content:space-between;font-size:.85rem;color:#555}.fg-footer-links{display:flex;gap:1rem}.fg-footer a{text-decoration:none;color:#555}.fg-footer a:hover{color:#006b4b}.fg-hero{position:relative;width:100%;height:100vh;overflow:hidden}.fg-hero-image{object-fit:cover}.fg-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,.15))}.fg-hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:3rem 1.5rem;color:#fff}.fg-hero-content h1{font-size:clamp(2.5rem,4vw,3.5rem);margin-bottom:.5rem}.fg-hero-content p{max-width:420px;font-size:1rem}.fg-events{max-width:1100px;margin:2rem auto;padding:0 1rem 3rem}.fg-events-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.fg-events-controls button{border:1px solid #ccc;background:#f7f3ea;padding:.4rem .8rem;font-size:.85rem;cursor:pointer}.fg-events-controls button.active{border-color:#006b4b;background:#006b4b;color:#fff}.fg-timeline{position:relative;margin:3rem 0}.fg-timeline-line{position:absolute;left:50%;top:0;bottom:0;width:3px;background:#e5e5e5;transform:translateX(-50%)}.fg-day-block{position:relative;padding:0 1rem}.fg-event-date-card{font-size:.8rem;font-weight:600;color:#444;margin-bottom:.4rem;opacity:.85;letter-spacing:.03em}.fg-event-card.left .fg-event-date-card{text-align:left}.fg-event-card.right .fg-event-date-card{text-align:right}.fg-event-card{width:45%;padding:1rem 1.2rem;background:#e8f3ec;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.08);margin:1.5rem 0;position:relative;opacity:0;transform:translateY(20px);animation:fadeSlideIn .6s ease forwards;animation-delay:var(--stagger,0s);transition:background .25s ease,box-shadow .25s ease}.fg-event-card:hover{background:#e3f0e8;box-shadow:0 6px 16px rgba(0,0,0,.12)}.fg-event-card.left{margin-right:auto;transform-origin:left}.fg-event-card.right{margin-left:auto;transform-origin:right}.fg-event-content h3{margin:0 0 .2rem;font-size:1rem}.fg-event-content p{margin:.1rem 0;font-size:.85rem}.fg-event-desc{margin-top:.4rem;font-size:.8rem;color:#555}.fg-event-card:before{top:1.55rem;width:14px;height:14px;border-radius:50%;border:3px solid #fff;z-index:3;animation:pointFadeIn .35s ease-out forwards;animation-delay:calc(var(--stagger, 0s) + .12s)}.fg-event-card:after,.fg-event-card:before{content:"";position:absolute;background:#006b4b}.fg-event-card:after{top:1.95rem;width:52px;height:2px;z-index:2;animation:lineFadeIn .35s ease-out forwards;animation-delay:calc(var(--stagger, 0s) + .22s);transform-origin:center left}.fg-event-card.left:before{right:-10px}.fg-event-card.left:after{right:-52px}.fg-event-card.right:before{left:-10px}.fg-event-card.right:after{left:-52px;transform-origin:center right}.fg-tag-wm{background:#004aad;color:#fff;padding:.1rem .4rem;border-radius:4px;font-size:.75rem;margin-left:.3rem;text-transform:uppercase;letter-spacing:.05em}.fg-reserve-btn{margin-top:.6rem;padding:.4rem .8rem;background:#006b4b;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s ease,transform .1s ease}.fg-reserve-btn:hover{background:#00563c;transform:translateY(-1px)}.fg-modal{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:50}.fg-modal-inner{background:#f7f3ea;padding:2rem;border-radius:12px;width:90%;max-width:420px;box-shadow:0 10px 30px rgba(0,0,0,.25)}.fg-modal-sub{font-size:.8rem;color:#555;margin-top:.2rem;margin-bottom:1rem}.fg-modal-form label{display:block;margin-bottom:.8rem}.fg-modal-form span{display:block;font-size:.8rem;margin-bottom:.2rem}.fg-modal-form input{width:100%;padding:.4rem .5rem;border-radius:6px;border:1px solid #ccc;font-size:.85rem}.fg-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.fg-modal-actions button{padding:.4rem .8rem;border-radius:6px;border:none;cursor:pointer;font-size:.85rem}.fg-modal-actions button[type=button]{background:#ddd}.fg-modal-actions button[type=submit]{background:#006b4b;color:#fff}.fg-modal-error{color:#b00020;font-size:.8rem;margin-top:.4rem}.fg-modal-success p{margin-bottom:1rem}.fg-dashboard{max-width:900px;margin:2rem auto;padding:0 1rem 3rem}.fg-dashboard h1{font-size:1.4rem;margin-bottom:1rem}.fg-dashboard-empty{font-size:.9rem;color:#777}.fg-dashboard-table{width:100%;border-collapse:collapse;font-size:.85rem}.fg-dashboard-table td,.fg-dashboard-table th{border:1px solid #ddd;padding:.4rem .6rem}.fg-dashboard-table th{background:#f0f0f0}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pointFadeIn{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes lineFadeIn{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (max-width:800px){.fg-event-card{width:90%}.fg-timeline-line{left:20px}.fg-event-card.left,.fg-event-card.right{margin-left:2.5rem}}