html{scroll-behavior:smooth;scroll-padding-top:110px}header{position:sticky;top:0;z-index:30;transition:box-shadow .3s,padding .3s;background:#fffffff5;backdrop-filter:blur(16px)}body.scrolled header{box-shadow:0 4px 25px #25112716;padding-top:8px;padding-bottom:8px}.reading-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#e73751,#9c54b8);width:var(--progress,0%);z-index:100}.quick-tools{position:fixed;right:20px;bottom:82px;display:flex;flex-direction:column;gap:8px;z-index:35}.quick-tools button{border:1px solid #eadce5;border-radius:30px;background:white;color:#6b305d;padding:11px 16px;box-shadow:0 4px 20px #34102315}.back-top{visibility:hidden}body.scrolled .back-top{visibility:visible}.button,button,.card,.gallery img{transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #e7375130;text-decoration:none}.card:hover{transform:translateY(-7px);box-shadow:0 16px 35px #361b331c}.gallery img:hover{transform:scale(1.025)}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal-ready.revealed{opacity:1;transform:none}.slider-shell{position:relative}.slider-shell .ux_slider{scrollbar-width:none;gap:0;scroll-behavior:smooth}.slider-shell .ux_slider::-webkit-scrollbar{display:none}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #fff8;background:#fffD;color:#362038;width:40px;height:40px;border-radius:50%;z-index:2;font-size:22px}.slider-prev{left:10px}.slider-next{right:10px}.slider-dots{display:flex;justify-content:center;gap:8px;padding:12px}.slider-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:#dbcbd6}.slider-dots button[aria-current=true]{background:#e73751;transform:scale(1.35)}.slider-pause{display:block;margin:0 auto 12px;border:0;background:transparent;color:#786577;font-size:12px}.feature-dialog{width:min(620px,94vw);padding:35px;border-radius:18px;background:#fff;color:#302633;box-shadow:0 30px 100px #0004}.feature-dialog::backdrop{background:#211326a8;backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .25s ease-out}.dialog-close{position:absolute;right:12px;top:12px;border:0;background:#f6eff3;border-radius:50%;padding:8px 12px}.feature-dialog h2{font-family:Georgia,serif;font-weight:400;font-size:32px}label{display:block;font-size:14px;margin:12px 0}input,textarea,select{display:block;width:100%;padding:12px;border:1px solid #dfd5dd;border-radius:7px;background:#fff;font:inherit;color:inherit;margin-top:5px}input:focus,textarea:focus,select:focus{outline:2px solid #bf7eae;outline-offset:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.consent{display:flex;align-items:flex-start;gap:10px}.consent input{width:auto;flex-shrink:0}.honeypot{display:none}.form-status{font-weight:600}.eyebrow{letter-spacing:3px;color:#b15a7d;font-size:12px}.search-hit{display:block;padding:14px;border-bottom:1px solid #eee}.search-hit small{display:block;color:#8a7787}.album-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.album-tools input{max-width:300px}.album-tools button,.favorite-button{padding:9px 14px;border:1px solid #dfcddb;background:white;border-radius:25px;color:#73365f}.favorite-button[aria-pressed=true]{background:#fce3ec;color:#b12654}.card{position:relative}.card .favorite-button{position:absolute;right:8px;top:8px}.card[hidden]{display:none}.gallery img:focus{outline:3px solid #e73751}#lightbox{width:min(1200px,98vw);text-align:center;border-radius:12px}#lightbox>img{display:block;margin:auto;transition:transform .2s;cursor:zoom-in}#lightbox>img.zoomed{transform:scale(1.5);cursor:zoom-out}#lightbox .lb-toolbar{display:flex;justify-content:center;gap:12px;position:relative;padding:12px;align-items:center;color:white}#lightbox .lb-toolbar button{position:static;border-radius:20px;padding:8px 14px}#lightbox .lb-caption{color:white;font-size:13px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);background:#342337;color:white;padding:12px 24px;border-radius:30px;z-index:100;opacity:0;transition:.3s;pointer-events:none}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.admin-page{background:#faf7fa}.admin-page main{max-width:1000px}.admin-page section{margin-top:30px}.booking-entry{background:white;padding:20px;border:1px solid #eadfea;border-radius:12px;margin:12px 0}.booking-entry select{max-width:220px}.content-intro{padding:25px;background:#fbf5fa;border-left:3px solid #e73751;white-space:pre-wrap}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid #bb648e;outline-offset:3px}@keyframes dialog-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:800px){.feature-dialog{padding:28px 20px}.form-grid{grid-template-columns:1fr}.quick-tools{right:12px}.gallery img{height:220px}header nav.open{max-height:70vh;overflow:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none}}
.flipbook{background:linear-gradient(135deg,#f7eff5,#e9e2e9);padding:24px;border-radius:12px;margin:30px 0;perspective:1200px}.flipbook-pages{min-height:350px;display:flex;align-items:center;justify-content:center}.flipbook-pages img{max-height:70vh;max-width:100%;object-fit:contain;box-shadow:8px 10px 24px #20132430;cursor:zoom-in}.flipbook-pages img[hidden]{display:none}.book-page-active{animation:turn-page .5s ease-out;transform-origin:left center}.book-controls{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px}.book-controls button{border:1px solid #cab9c6;background:white;border-radius:20px;padding:10px 15px;color:#74345d}@keyframes turn-page{from{opacity:.3;transform:rotateY(-20deg)}to{opacity:1;transform:rotateY(0)}}
nav a[aria-current=page]{color:#c32f60}nav a{position:relative}nav a::after{content:'';height:2px;position:absolute;left:0;bottom:-5px;background:#e73751;width:0;transition:width .25s}nav a:hover::after,nav a[aria-current=page]::after{width:100%}
.feature-dialog button{position:static}.feature-dialog .dialog-close{position:absolute;right:12px;top:12px}.feature-dialog form>.button{display:inline-block;position:static;background:var(--accent);padding:11px 23px;color:white;border-radius:24px}.feature-dialog{max-height:94vh;overflow-y:auto}.feature-dialog .dialog-close{z-index:2}
