@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap";:root{--color-cream:#faf7f2;--color-offwhite:#f5f0e8;--color-anthracite:#2c2c2c;--color-dark:#1a1a1a;--color-teal:#4a9e8e;--color-teal-dark:#3a7d70;--color-gold:#c5a55a;--color-gold-light:#d4b96e;--color-text:#3a3a3a;--color-text-light:#6b6b6b;--color-border:#e0d8cc;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Inter", -apple-system, sans-serif;--max-width:1200px;--nav-height:80px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-cream);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--color-dark);font-weight:500;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.4rem,2.5vw,1.8rem)}h4{font-size:1.2rem}p{color:var(--color-text-light);margin-bottom:1rem}a{color:var(--color-teal-dark);text-decoration:none;transition:color .3s}a:hover{color:var(--color-gold)}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.section{padding:6rem 0}.section--dark{background-color:var(--color-anthracite);color:var(--color-cream)}.section--dark h2,.section--dark h3,.section--dark h4{color:var(--color-cream)}.section--dark p{color:#b0ada8}.section--teal{background-color:var(--color-teal);color:#fff}.section--teal h2,.section--teal h3{color:#fff}.section--teal p{color:#ffffffd9}.section--offwhite{background-color:var(--color-offwhite)}.btn{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;padding:1rem 2.5rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn--primary{background-color:var(--color-teal);color:#fff}.btn--primary:hover{background-color:var(--color-teal-dark);color:#fff}.btn--outline{color:var(--color-anthracite);border:1.5px solid var(--color-anthracite);background:0 0}.btn--outline:hover{background-color:var(--color-anthracite);color:#fff}.btn--gold{background-color:var(--color-gold);color:#fff}.btn--gold:hover{background-color:var(--color-gold-light);color:#fff}.btn--white{color:var(--color-anthracite);background:#fff}.btn--white:hover{background:var(--color-cream);color:var(--color-anthracite)}.btn--large{padding:1.2rem 3rem;font-size:.9rem}.tag{letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold);border:1px solid var(--color-gold);padding:.3rem .8rem;font-size:.7rem;font-weight:600;display:inline-block}.divider{background-color:var(--color-gold);width:60px;height:2px;margin:1.5rem 0}.text-center{text-align:center}.text-center .divider{margin:1.5rem auto}.grid{gap:2rem;display:grid}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.placeholder-img{aspect-ratio:16/10;background:linear-gradient(135deg, var(--color-teal) 0%, var(--color-teal-dark) 100%);color:#ffffff4d;letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;width:100%;font-size:.8rem;display:flex}.placeholder-img--portrait{aspect-ratio:3/4}.placeholder-img--square{aspect-ratio:1}.placeholder-img--gold{background:linear-gradient(135deg, var(--color-gold) 0%, #8b7340 100%)}.placeholder-img--dark{background:linear-gradient(135deg, var(--color-anthracite) 0%, #444 100%)}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--color-text);margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--font-sans);border:1px solid var(--color-border);color:var(--color-text);background:#fff;padding:.9rem 1rem;font-size:.95rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-teal);outline:none}.form-group textarea{resize:vertical;min-height:120px}.form-check{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.form-check input[type=checkbox]{accent-color:var(--color-teal);margin-top:.3rem}.form-check label{color:var(--color-text-light);font-size:.85rem}.card{border:1px solid var(--color-border);background:#fff;transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.card__body{padding:2rem}@media (width<=1024px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.section{padding:4rem 0}.container{padding:0 1.25rem}}.navbar{height:var(--nav-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);z-index:1000;background:#faf7f2f7;position:fixed;top:0;left:0;right:0}.navbar__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar__logo img{border-radius:4px;width:auto;height:50px}.navbar__links{align-items:center;gap:2rem;list-style:none;display:flex}.navbar__links a{letter-spacing:.05em;text-transform:uppercase;color:var(--color-anthracite);padding:.25rem 0;font-size:.85rem;font-weight:500;position:relative}.navbar__links a:after{content:"";background-color:var(--color-gold);width:0;height:1.5px;transition:width .3s;position:absolute;bottom:-2px;left:0}.navbar__links a:hover:after,.navbar__links a.active:after{width:100%}.navbar__links a.active{color:var(--color-teal-dark)}.navbar__cta-mobile{display:none}.navbar__actions{align-items:center;gap:.75rem;display:flex}.navbar__cta-desktop{padding:.7rem 1.8rem;font-size:.75rem}.navbar__cta-apply{padding:.6rem 1.2rem}.navbar__user{align-items:center;gap:.5rem;display:flex}.navbar__avatar{background:var(--color-teal);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:600;display:flex;overflow:hidden}.navbar__avatar img{object-fit:cover;width:100%;height:100%}.navbar__signout{cursor:pointer;color:var(--color-text-light);background:0 0;border:none;align-items:center;padding:4px;transition:color .3s;display:flex}.navbar__signout:hover{color:var(--color-anthracite)}.navbar__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar__burger span{background:var(--color-anthracite);width:24px;height:2px;transition:all .3s;display:block}.navbar__burger--open span:first-child{transform:rotate(45deg)translate(5px,5px)}.navbar__burger--open span:nth-child(2){opacity:0}.navbar__burger--open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.navbar__mobile-overlay{display:none}@media (width<=768px){.navbar__burger{display:flex}.navbar__cta-desktop,.navbar__links{display:none}.navbar__mobile-overlay{background:var(--color-cream);z-index:9999;flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding:2rem;list-style:none;display:none;position:fixed;inset:0}.navbar__mobile-overlay--open{display:flex}.navbar__mobile-overlay a{letter-spacing:.08em;text-transform:uppercase;color:var(--color-anthracite);padding:.5rem 0;font-size:1.1rem;font-weight:500}.navbar__mobile-overlay a:hover,.navbar__mobile-overlay a.active{color:var(--color-teal-dark)}.navbar__cta-mobile{margin-top:1rem;display:block}}.footer{background-color:var(--color-anthracite);color:var(--color-cream);padding:5rem 0 2rem}.footer__top{border-bottom:1px solid #ffffff1a;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;display:grid}.footer__brand p{color:#999;max-width:280px;margin-top:1rem;font-size:.9rem}.footer__logo{border-radius:4px;width:auto;height:60px}.footer__col h4{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1.2rem;font-size:.8rem;font-weight:600}.footer__col ul{list-style:none}.footer__col li{margin-bottom:.6rem}.footer__col a{color:#b0ada8;font-size:.9rem;transition:color .3s}.footer__col a:hover{color:#fff}.footer__bottom{text-align:center;padding-top:2rem}.footer__bottom p{color:#666;font-size:.8rem}@media (width<=768px){.footer__top{grid-template-columns:1fr 1fr;gap:2rem}.footer__brand{grid-column:1/-1}}@media (width<=480px){.footer__top{grid-template-columns:1fr}}.cookie-banner{background:var(--color-dark);z-index:9999;padding:1.2rem 0;position:fixed;bottom:0;left:0;right:0}.cookie-banner__inner{justify-content:space-between;align-items:center;gap:2rem;display:flex}.cookie-banner__inner p{color:#b0ada8;margin:0;font-size:.85rem}.cookie-banner__inner a{color:var(--color-gold);text-decoration:underline}.cookie-banner__inner .btn{white-space:nowrap;padding:.6rem 1.5rem;font-size:.75rem}@media (width<=768px){.cookie-banner__inner{text-align:center;flex-direction:column}}.hero{min-height:100vh;margin-top:calc(-1 * var(--nav-height));background:linear-gradient(135deg,#2c2c2c 0%,#1a1a1a 50%,#3a7d70 100%);align-items:center;display:flex;position:relative;overflow:hidden}.hero__overlay{opacity:.05;background:url(/logo.jpg) 50%/300px no-repeat;position:absolute;inset:0}.hero__content{z-index:1;padding-top:var(--nav-height);position:relative}.hero__content .tag{color:var(--color-gold);border-color:#c5a55a66}.hero__content h1{color:var(--color-cream);margin:1.5rem 0}.hero__subtitle{max-width:560px;font-size:1.1rem;line-height:1.7;color:#b0ada8!important}.hero__ctas{gap:1rem;margin-top:2.5rem;display:flex}.step{text-align:center;padding:2rem}.step__number{font-family:var(--font-serif);color:var(--color-gold);margin-bottom:1rem;font-size:3rem;font-weight:300;line-height:1}.vibe-value{border-bottom:1px solid var(--color-border);padding:1.5rem 0}.vibe-value:last-child{border-bottom:none}.vibe-value h4{color:var(--color-teal-dark);margin-bottom:.5rem}.diff{text-align:center;padding:2rem 1.5rem}.diff__icon{color:var(--color-gold);margin-bottom:1rem;font-size:2.5rem}.diff h4{margin-bottom:.75rem}.event-preview{align-items:center}.event-preview__info{padding:1rem 0}.event-preview__meta{line-height:2}.event-preview__meta strong{color:var(--color-text)}@media (width<=768px){.hero{min-height:80vh}.hero__ctas{flex-direction:column}.hero__ctas .btn{text-align:center}}.page-header{padding:calc(var(--nav-height) + 4rem) 0 4rem;background:var(--color-offwhite)}.timeline{max-width:700px;margin:3rem auto 0;padding-left:120px;position:relative}.timeline:before{content:"";background:var(--color-border);width:2px;position:absolute;top:0;bottom:0;left:100px}.timeline__item{padding-bottom:2.5rem;padding-left:2rem;position:relative}.timeline__item:before{content:"";background:var(--color-teal);border:3px solid var(--color-cream);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-7px}.timeline__time{text-align:right;width:80px;font-family:var(--font-serif);color:var(--color-gold);font-size:1.4rem;font-weight:500;position:absolute;top:0;left:-120px}.timeline__content h4{margin-bottom:.5rem}.conduct-list{padding:0;list-style:none}.conduct-list li{color:var(--color-text-light);border-bottom:1px solid var(--color-border);padding:.8rem 0 .8rem 2rem;position:relative}.conduct-list li:before{content:"◆";color:var(--color-gold);font-size:.7rem;position:absolute;top:1rem;left:0}.faq__item{border-bottom:1px solid var(--color-border)}.faq__item summary{font-family:var(--font-serif);color:var(--color-dark);cursor:pointer;justify-content:space-between;align-items:center;padding:1.2rem 0;font-size:1.1rem;list-style:none;display:flex}.faq__item summary:after{content:"+";color:var(--color-gold);font-size:1.5rem;font-weight:300;transition:transform .3s}.faq__item[open] summary:after{content:"−"}.faq__item summary::-webkit-details-marker{display:none}.faq__item p{padding-bottom:1.2rem;font-size:.95rem;line-height:1.7}@media (width<=768px){.timeline{padding-left:80px}.timeline:before{left:60px}.timeline__time{width:55px;font-size:1.1rem;left:-80px}}.events-list{flex-direction:column;gap:2rem;margin-top:2rem;display:flex}.event-card{border:1px solid var(--color-border);background:#fff;grid-template-columns:350px 1fr;transition:box-shadow .3s;display:grid;overflow:hidden}.event-card:hover{box-shadow:0 12px 40px #00000014}.event-card__image{min-height:250px}.event-card__body{flex-direction:column;padding:2rem;display:flex}.event-card__date{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.event-card__day{color:var(--color-teal-dark);font-size:.9rem;font-weight:600}.event-card__time{color:var(--color-text-light);font-size:.85rem}.event-card__body h3{margin-bottom:.5rem}.event-card__location{margin-bottom:.75rem;font-size:.85rem;color:var(--color-gold)!important}.event-card__footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.event-card__meta{flex-direction:column;gap:.25rem;display:flex}.event-card__price{font-family:var(--font-serif);color:var(--color-dark);font-size:1.2rem;font-weight:600}.event-card__spots{color:var(--color-text-light);font-size:.8rem}.event-card__footer .btn{padding:.7rem 1.5rem;font-size:.75rem}.event-card__booked-badge{color:var(--color-teal-dark);text-align:center;letter-spacing:.05em;text-transform:uppercase;background:#4a9e8e1a;margin-top:.75rem;padding:.4rem 1rem;font-size:.8rem;font-weight:600}.event-card__body .btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.event-card{grid-template-columns:1fr}.event-card__image{min-height:200px}}.apply-form{border:1px solid var(--color-border);background:#fff;padding:3rem}.apply-form .grid{gap:1rem}@media (width<=768px){.apply-form{padding:1.5rem}.apply-form .grid--2{grid-template-columns:1fr}}.admin .page-header{padding-bottom:2rem}.admin-login{border:1px solid var(--color-border);background:#fff;padding:2.5rem}.admin-login h3{margin-bottom:1.5rem}.admin-error{color:#c0392b;margin-bottom:1rem;font-size:.85rem}.admin-stats{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.admin-stat{border:1px solid var(--color-border);text-align:center;background:#fff;padding:1.5rem}.admin-stat__number{font-family:var(--font-serif);color:var(--color-teal);font-size:2.5rem;font-weight:600}.admin-stat__label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-top:.25rem;font-size:.8rem}.admin-tabs{border-bottom:2px solid var(--color-border);gap:0;margin-bottom:2rem;display:flex}.admin-tab{font-family:var(--font-sans);color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.8rem 1.5rem;font-size:.85rem;font-weight:500;transition:all .2s}.admin-tab:hover{color:var(--color-text)}.admin-tab--active{color:var(--color-teal-dark);border-bottom-color:var(--color-teal)}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);border-bottom:2px solid var(--color-border);white-space:nowrap;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.75rem 1rem}.admin-table tbody tr:hover{background:#4a9e8e08}.admin-actions{white-space:nowrap;gap:.5rem;display:flex}.admin-btn{font-size:.75rem;font-family:var(--font-sans);border:1px solid var(--color-border);cursor:pointer;background:#fff;padding:.35rem .75rem;transition:all .2s}.admin-btn:hover{border-color:var(--color-teal);color:var(--color-teal)}.admin-btn--danger{color:#c0392b}.admin-btn--danger:hover{color:#fff;background:#c0392b;border-color:#c0392b}.admin-badge{text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.admin-badge--upcoming{color:var(--color-teal-dark);background:#4a9e8e1a}.admin-badge--past{color:#999;background:#0000000d}.admin-badge--confirmed{color:var(--color-teal-dark);background:#4a9e8e1a}.admin-badge--cancelled{color:#c0392b;background:#c0392b1a}.admin-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.admin-modal{background:var(--color-cream);border:1px solid var(--color-border);width:100%;max-width:600px;max-height:90vh;padding:2.5rem;overflow-y:auto}.admin-modal h3{margin-bottom:1.5rem}.admin-user-list{max-height:300px;overflow-y:auto}.admin-user-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.admin-status-select{border:1px solid var(--color-border);font-size:.75rem;font-family:var(--font-sans);background:#fff;padding:.25rem .5rem}.admin-img-preview{margin-bottom:.75rem;display:inline-block;position:relative}.admin-img-preview img{object-fit:cover;border:1px solid var(--color-border);max-width:200px;max-height:120px}.admin-img-preview button{color:#fff;cursor:pointer;background:#000000b3;border:none;padding:2px 8px;font-size:.7rem;position:absolute;top:4px;right:4px}@media (width<=768px){.admin-stats{grid-template-columns:1fr}.admin-tabs{overflow-x:auto}.admin-table{font-size:.8rem}.admin-modal{padding:1.5rem}}.event-hero{background-position:50%;background-size:cover;height:400px;position:relative}.event-hero--placeholder{background:linear-gradient(135deg, var(--color-anthracite) 0%, var(--color-teal-dark) 100%)}.event-hero__overlay{background:linear-gradient(#0000 30%,#000000b3);align-items:flex-end;padding-bottom:3rem;display:flex;position:absolute;inset:0}.event-layout{grid-template-columns:1fr 360px;align-items:start;gap:3rem;display:grid}.event-main h2{margin-bottom:0}.event-map-section{margin-top:3rem}.event-map-section h3{margin-bottom:.5rem}.event-map{border:1px solid var(--color-border);width:100%;height:350px}.event-sidebar__card{border:1px solid var(--color-border);top:calc(var(--nav-height) + 2rem);background:#fff;padding:2rem;position:sticky}.event-sidebar__row{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:.75rem 0;font-size:.9rem;display:flex}.event-sidebar__row:last-of-type{border-bottom:none}.event-sidebar__label{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.event-sidebar__price{font-family:var(--font-serif);color:var(--color-dark);font-size:1.3rem;font-weight:600}.event-sidebar__badge{color:var(--color-teal-dark);text-align:center;text-transform:uppercase;letter-spacing:.05em;background:#4a9e8e1a;margin-top:1rem;padding:.5rem;font-size:.8rem;font-weight:600}@media (width<=768px){.event-hero{height:250px}.event-layout{grid-template-columns:1fr;gap:2rem}.event-sidebar__card{position:static}}
