@font-face{font-family:IvyOra Display;src:url(/fonts/IvyOraDisplay.woff2)format("woff2"),url(/fonts/IvyOraDisplay.woff)format("woff")}@font-face{font-family:RegencyScriptFLF;src:url(/fonts/RegencyScriptFLF.woff2)format("woff2"),url(/fonts/RegencyScriptFLF.woff)format("woff")}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#334338;background:#d0ecd7;font-family:IvyOra Display,serif;overflow-x:hidden}.fade{opacity:0;animation:1.5s forwards fadeIn;transform:translateY(25px)}.delay1{animation-delay:.25s}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.intro-overlay{z-index:5000;background:#d0ecd7;display:flex;position:fixed;inset:0}.intro-panel{align-items:center;width:50%;height:100%;transition:transform 1.1s cubic-bezier(.65,0,.35,1);display:flex;overflow:hidden;box-shadow:0 0 40px #00000026}.intro-panel-left{justify-content:flex-end}.intro-panel-right{justify-content:flex-start}.intro-panel img{object-fit:contain;width:auto;max-width:98%;height:auto;max-height:96%}.intro-opening .intro-panel-left{transform:translate(-100%)}.intro-opening .intro-panel-right{transform:translate(100%)}#menu{display:none}.burger{cursor:pointer;z-index:3000;width:44px;height:44px;position:fixed;top:14px;left:14px}.burger span{background:#334338;border-radius:5px;width:26px;height:2px;transition:all .35s;position:absolute;left:9px}.burger span:first-child{top:13px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:29px}#menu:checked+.burger span:first-child{background:#d0ecd7;transform:translateY(8px)rotate(45deg)}#menu:checked+.burger span:nth-child(2){opacity:0}#menu:checked+.burger span:nth-child(3){background:#d0ecd7;transform:translateY(-8px)rotate(-45deg)}.overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;visibility:hidden;z-index:1000;background:#00000059;transition:all .35s;position:fixed;inset:0}#menu:checked~.overlay{opacity:1;visibility:visible}nav{z-index:2000;background:#334338;width:260px;height:100vh;padding-top:120px;transition:all .35s;position:fixed;top:0;left:-290px;box-shadow:8px 0 25px #00000059}#menu:checked~nav{left:0}nav ul{list-style:none}nav li{margin:12px 35px}nav a{color:#d0ecd7;padding:10px 0;font-size:1.35rem;text-decoration:none;transition:all .25s;display:block}nav a:hover{color:#e8d7b7;padding-left:8px}main{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;min-height:80vh;padding-top:2vh;padding-bottom:5px;display:flex}.hero{flex-direction:column;align-items:center;width:100%;margin-top:6vh;display:flex}.hero h1{color:#334338;margin-bottom:28px;font-family:RegencyScriptFLF,cursive;font-size:5.2rem;font-weight:400;line-height:1.1}.home-text h1{margin-bottom:1.6vh;font-size:2.8rem}.home-text h2{margin-bottom:1vh;font-size:2.3rem;font-weight:400}.home-text p{margin-bottom:1vh;font-size:1.1rem;line-height:1.1}.home-image{width:min(58vw,820px);max-width:820px;height:auto;transition:transform .3s;display:block}.main-image{filter:drop-shadow(0 12px 30px #00000040);width:min(82vw,480px);max-width:480px;height:auto;transition:transform .3s;display:block}@media (hover:hover){.home-image:hover,.main-image:hover{transform:scale(1.02)}}#root:has(.home-text){flex-direction:column;height:100dvh;display:flex;overflow:hidden}#root:has(.home-text) main{flex:auto;min-height:0}#root:has(.home-text) .home-text{flex:auto;min-height:0}:is(#root:has(.home-text) .home-text>h1,#root:has(.home-text) .home-text>h2,#root:has(.home-text) .home-text>p){flex-shrink:0}#root:has(.home-text) .home-text picture{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}#root:has(.home-text) .home-image{width:auto;max-width:90vw;height:auto;max-height:100%}.grid-content{box-sizing:border-box;align-items:stretch;gap:36px;width:100%;max-width:1400px;margin:0 auto 32px;padding:0 40px;display:flex}.text-container{text-align:left;box-sizing:border-box;background:#d0ecd7;border-radius:10px;flex:1;padding:1.4rem 1.5rem}.text-container h2{border-bottom:1px solid #e8d7b7;margin-bottom:10px;padding-bottom:10px;font-family:RegencyScriptFLF,cursive;font-size:2rem;font-weight:400}.text-container p{margin-bottom:14px;line-height:1.6}.text-container a,.text-container a:visited{color:#334338}.field-label{color:#334338;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:.78rem;font-style:normal;font-weight:900;display:block}.text-container-switched{order:2}.map-container{box-sizing:border-box;background:#fff;border-top:3px solid #334338;border-radius:10px;flex:1;padding:12px;box-shadow:0 8px 20px #00000014}.map-container iframe{border:none;border-radius:6px;width:100%;height:100%;min-height:320px;display:block}.map-container-switched{order:1}.lead{color:#5c6b60;max-width:520px;margin:0 auto 40px;font-size:1.15rem}.agenda-list{box-sizing:border-box;text-align:left;grid-template-columns:repeat(3,minmax(200px,1fr));gap:10px 36px;width:100%;max-width:1100px;margin:0 auto 30px;padding:0 20px;list-style:none;display:grid}.agenda-list li{border-left:2px solid #e8d7b7;flex-direction:column;gap:1px;padding:6px 0 6px 18px;display:flex}.agenda-time{color:#334338;font-size:.82rem;font-weight:600}.agenda-text{line-height:1.3}.agenda-detail{color:#5c6b60;font-size:.8rem;display:block}.dresscode-info{box-sizing:border-box;text-align:left;background:#d0ecd7;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:8px 32px;width:100%;max-width:1000px;margin:0 auto 14px;padding:1.25rem 1.75rem;display:grid}.dresscode-info p{margin-bottom:0;line-height:1.5}.dresscode-gallery{box-sizing:border-box;grid-template-columns:repeat(3,1fr);gap:20px 32px;width:100%;max-width:1000px;margin:0 auto 14px;padding:0 20px;display:grid}.dresscode-card{box-sizing:border-box;cursor:pointer;background:#fff;border-top:3px solid #334338;border-radius:10px;margin:0;padding:12px;box-shadow:0 8px 20px #00000014}.dresscode-card img{object-fit:cover;border-radius:6px;width:100%;height:174px;display:block}.dresscode-card figcaption{letter-spacing:.1em;text-transform:uppercase;color:#334338;text-align:center;padding-top:12px;font-size:.78rem;font-weight:700}.lightbox-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-sizing:border-box;cursor:zoom-out;z-index:5000;background:#000000bf;justify-content:center;align-items:center;padding:60px 40px;display:flex;position:fixed;inset:0}.lightbox-image{cursor:default;border-radius:8px;max-width:100%;max-height:100%;display:block;box-shadow:0 20px 60px #00000080}.lightbox-close{color:#334338;cursor:pointer;z-index:5001;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.8rem;line-height:1;display:flex;position:fixed;top:20px;right:24px}.lightbox-close:hover{background:#fff}.contact-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(260px,320px));justify-content:center;gap:28px;width:100%;max-width:900px;margin:0 auto 50px;padding:0 20px;display:grid}.contact-card{text-align:center;background:#fff;border-top:3px solid #334338;border-radius:10px;padding:1.9rem 1.75rem;box-shadow:0 8px 20px #00000014}.contact-card h3{margin-bottom:.5rem;font-family:RegencyScriptFLF,cursive;font-size:2rem;font-weight:400}.contact-role{color:#5c6b60;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #e8d7b7;margin-bottom:1rem;padding-bottom:1rem;font-size:.78rem;font-style:normal;display:inline-block}.contact-phone{letter-spacing:.03em;font-size:1.05rem}footer{pointer-events:none;justify-content:center;width:100%;display:flex;bottom:18px;left:0}footer img{opacity:.95;width:120px;height:auto}.loading-screen{color:#334338;background:#d0ecd7;justify-content:center;align-items:center;height:100vh;font-family:IvyOra Display,serif;display:flex}.login-gate{background:#d0ecd7;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:360px;padding:2.5rem;box-shadow:0 10px 30px #0000001f}.login-card h1{color:#334338;margin-bottom:.5rem;font-family:RegencyScriptFLF,cursive;font-size:2.6rem;font-weight:400}.login-subtitle{color:#5c6b60;margin-bottom:1.5rem}.login-card form{flex-direction:column;gap:.75rem;display:flex}.login-card input{border:1px solid #cfe0d3;border-radius:8px;padding:.7rem .9rem;font-family:inherit;font-size:1rem}.login-card button{color:#d0ecd7;cursor:pointer;background:#334338;border:none;border-radius:8px;padding:.7rem .9rem;font-family:inherit;font-size:1rem;transition:background .15s}.login-card button:hover:not(:disabled){background:#243027}.login-card button:disabled{opacity:.6;cursor:default}.login-error{color:#b3413a;margin-top:1rem;margin-bottom:0;font-size:.9rem}@media (width<=900px){.hero{padding-left:20px;padding-right:20px}.agenda-list{width:300px;max-width:calc(100% - 40px);margin:0 auto 30px;display:block}.agenda-list li{flex-direction:row;gap:1.25rem;margin-left:-2px;padding:16px 0 16px 22px}.agenda-time{min-width:3.6rem;font-size:1rem}.agenda-text{line-height:1.5}.grid-content{text-align:center;flex-direction:column;align-items:center;padding-left:0;padding-right:0;display:flex}.text-container,.text-container h2,.text-container p,.dresscode-info,.dresscode-info p{text-align:center;width:100%}.dresscode-info{display:block}.dresscode-info p{margin-bottom:12px}.dresscode-info p:last-child{margin-bottom:0}.dresscode-gallery{grid-template-columns:1fr;padding-left:0;padding-right:0}.contact-grid{padding-left:0;padding-right:0}.text-container-switched{order:1}.map-container{width:100%;max-width:700px}.map-container iframe{height:400px}.map-container-switched{order:2}}@media (width<=768px){.burger{top:10px;left:10px}.burger span{height:4px}.burger span:first-child{top:10px}.burger span:nth-child(2){top:20px}.burger span:nth-child(3){top:30px}#menu:checked+.burger span:first-child{transform:translateY(10px)rotate(45deg)}#menu:checked+.burger span:nth-child(3){transform:translateY(-10px)rotate(-45deg)}nav{width:240px}nav a{font-size:1.2rem}.hero{margin-top:max(64px,6vh)}.hero h1{margin-bottom:16px;font-size:3.6rem}.home-text h1{font-size:1.9rem}.home-text h2{font-size:1.6rem}.home-text p{font-size:.75rem}.home-image{width:min(82vw,600px);max-width:600px}.main-image{width:92%;max-width:360px}footer img{width:85px}}@media (width<=400px){.hero{padding-left:16px;padding-right:16px}.hero h1{font-size:2.9rem}.home-text h1{font-size:1.5rem}.home-text h2{font-size:1.4rem}.home-text p{font-size:.6rem}.main-image{max-width:300px}footer img{width:70px}.grid-content{gap:30px}.login-gate{padding:1rem}.login-card{padding:1.75rem 1.5rem}.login-card h1{font-size:2.1rem}}
