:root{--bg:#f6f0e1;--bg2:#eae4cd;--surface:#fcf8ec;--primary:#77815f;--primary-deep:#4a5240;--secondary:#c08159;--amber:#d9a05b;--cta:#4a5240;--ink:#3e4233;--muted:#77785f;--line:#4a524029;--font-display:"Cormorant Garamond", serif;--font-body:"Mulish", sans-serif;--font-script:"Caveat", cursive}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.container{max-width:1200px;margin:0 auto;padding-inline:28px}.container-narrow{max-width:1100px;margin:0 auto;padding-inline:28px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{cursor:pointer;font-family:var(--font-body);border:none;align-items:center;gap:9px;text-decoration:none;transition:transform .2s,box-shadow .25s,background .25s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--cta);color:#fff;box-shadow:0 10px 24px -12px var(--cta)}.btn-primary:hover{box-shadow:0 16px 30px -12px var(--cta)}.btn-ghost{color:var(--primary-deep);border:1.5px solid var(--primary-deep);background:0 0}.btn-ghost:hover{background:var(--primary-deep);color:#fff}.btn:focus-visible{outline:2px solid var(--primary-deep);outline-offset:3px}.card{transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -28px #28231e66}.gallery-filters{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:36px;display:flex}.filterpill{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--muted);letter-spacing:.02em;font-size:13.5px;font-weight:600;font-family:var(--font-body);border-radius:999px;padding:9px 20px;transition:all .25s}.filterpill:hover{color:var(--primary-deep);border-color:var(--primary)}.filterpill[data-active=true]{background:var(--primary-deep);color:#fff;border-color:var(--primary-deep);box-shadow:0 8px 20px -12px var(--primary-deep)}.filterpill:focus-visible{outline:2px solid var(--primary-deep);outline-offset:2px}.masonry{column-count:4;column-gap:16px}.gallery-note{text-align:center;color:var(--muted);margin-top:14px;font-size:13.5px}.gallery-status{text-align:center;color:var(--muted);padding:30px 0;font-size:14px}.gtile{width:100%;font:inherit;color:inherit;text-align:left;break-inside:avoid;cursor:pointer;-webkit-appearance:none;appearance:none;background:0 0;border:0;margin-bottom:16px;padding:0;transition:transform .35s,box-shadow .35s;display:block;position:relative}.gtile:hover{transform:translateY(-4px);box-shadow:0 24px 46px -28px #28231e80}.gtile:hover .goverlay{opacity:1}.gtile:focus-visible{outline:2px solid var(--primary-deep);outline-offset:2px}.gtile-media{background:var(--surface);border-radius:6px;padding:12px 12px 16px;display:block;position:relative;box-shadow:0 20px 40px -28px #322a1e80}.gtile-photo{background:var(--bg2);display:block;position:relative;overflow:hidden}.gimg{width:100%;height:auto;display:block}.goverlay{opacity:0;pointer-events:none;background:linear-gradient(#0000 45%,#28231e8c);align-items:flex-end;padding:16px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gchip{color:var(--primary-deep);letter-spacing:.06em;text-transform:uppercase;background:#ffffffeb;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700}.lb-overlay{z-index:200;backdrop-filter:blur(6px);background:#1c1916d1;justify-content:center;align-items:center;padding:28px;animation:.25s lbIn;display:flex;position:fixed;inset:0}.lb-overlay[hidden]{display:none}.lb-figure{touch-action:pan-y;width:100%;max-width:760px;margin:0;animation:.3s cubic-bezier(.2,.7,.3,1) lbPop;position:relative}.lb-stage{justify-content:center;align-items:center;display:flex}.lb-img{border-radius:18px;width:auto;max-width:100%;height:auto;max-height:78vh;display:block;box-shadow:0 40px 90px -40px #000000b3}.lb-caption{flex-direction:column;gap:10px;margin-top:16px;display:flex}.lb-desc{color:#fff;font-family:var(--font-display);font-size:clamp(16px,3.5vw,20px);line-height:1.35}.lb-desc[hidden]{display:none}.lb-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.lb-cat{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#ffffff29;border-radius:999px;padding:6px 14px;font-size:11.5px;font-weight:700}.lb-counter{color:#ffffffb3;font-size:13.5px;font-family:var(--font-body)}.lb-nav{cursor:pointer;color:#fff;backdrop-filter:blur(4px);z-index:3;background:#ffffff24;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:background .2s;display:flex}.lb-nav:hover{background:#ffffff47}.lb-nav:focus-visible{outline-offset:2px;outline:2px solid #fff}.lb-prev{position:absolute;top:50%;left:24px;transform:translateY(-50%)}.lb-next{position:absolute;top:50%;right:24px;transform:translateY(-50%)}.lb-close{width:44px;height:44px;position:absolute;top:24px;right:24px}.navlink{color:var(--ink);white-space:nowrap;padding:4px 0;text-decoration:none;transition:color .25s;position:relative}.navlink:hover,.navlink[aria-current=page]{color:var(--primary-deep)}.navlink:after{content:"";background:var(--primary-deep);width:0;height:1.5px;transition:width .3s;position:absolute;bottom:-2px;left:0}.navlink:hover:after,.navlink[aria-current=page]:after{width:100%}.menu-btn{cursor:pointer;border:1.5px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--primary-deep);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s;display:none}.menu-btn:hover{background:var(--bg2)}.menu-btn .ic-close{display:none}.navtoggle{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.mobile-menu{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);z-index:60;padding:6px 28px 20px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 24px 44px -28px #28231e80}.mobile-menu a{font-family:var(--font-body);color:var(--ink);border-bottom:1px solid var(--line);padding:14px 4px;font-size:17px;font-weight:600;text-decoration:none;display:block}.mobile-menu a.mm-book{background:var(--cta);color:#fff;text-align:center;border-bottom:none;border-radius:999px;margin-top:14px;padding:15px}@media (width<=1024px){.nav-links,.header-book{display:none!important}.menu-btn{display:inline-flex!important}.navtoggle:checked~.mobile-menu{display:block}.navtoggle:checked~div .menu-btn .ic-open{display:none}.navtoggle:checked~div .menu-btn .ic-close{display:inline}}@media (width<=560px){.top-hours{display:none!important}}.langbtn{cursor:pointer;font-family:var(--font-body);letter-spacing:.06em;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 7px;font-size:12.5px;font-weight:700;transition:all .2s}.langbtn[aria-pressed=true]{color:var(--primary-deep);background:var(--bg2)}.langbtn:focus-visible{outline:2px solid var(--primary-deep);outline-offset:2px}details.faq{border-bottom:1px solid var(--line)}details.faq summary{cursor:pointer;font-family:var(--font-display);color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-size:21px;list-style:none;display:flex}details.faq summary::-webkit-details-marker{display:none}details.faq summary .chev{color:var(--primary-deep);flex-shrink:0;transition:transform .3s}details.faq[open] summary .chev{transform:rotate(45deg)}details.faq .ans{color:var(--muted);max-width:680px;padding:0 4px 22px;font-size:15px;line-height:1.7}.price-row{transition:background .2s}.price-row:hover{background:var(--bg2)}.channel{background:var(--surface);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;transition:transform .2s,box-shadow .25s,border-color .2s;display:flex}.channel:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 18px 38px -26px #28231e80}.field{width:100%;font-family:var(--font-body);color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:13px;outline:none;padding:14px 15px;font-size:15px;transition:border-color .2s,box-shadow .2s}.field::placeholder{color:#a6a596}.field:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent)}.field.invalid{border-color:#c0573f;box-shadow:0 0 0 3px #c0573f24}textarea.field{resize:vertical;min-height:130px;line-height:1.6}@media (width<=880px){.hero-grid,.about-grid,.two-col,.three-col,.svc-hero,.svc-row,.steps-grid,.price-hero,.contact-grid{grid-template-columns:1fr!important}.svc-row .svc-media{order:-1!important}.gallery-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=1100px){.masonry{column-count:3}}@media (width<=760px){.masonry{column-count:2}.lb-nav{background:#ffffff38;width:48px;height:48px}.lb-prev,.lb-next{top:auto!important;bottom:22px!important;transform:none!important}.lb-prev{margin-left:-58px;left:50%!important}.lb-next{margin-right:-58px;right:50%!important}}@media (width<=460px){.masonry{column-count:1}}.js .reveal{opacity:0}.reveal[data-inview=true]{opacity:1;animation:.9s cubic-bezier(.2,.7,.3,1) forwards revealUp}.shine{position:relative;overflow:hidden}.shine:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#fff6,#0000);width:55%;height:100%;animation:5.5s ease-in-out infinite sheen;position:absolute;top:0;left:-130%;transform:skew(-20deg)}.marquee-track{width:max-content;animation:30s linear infinite marquee;display:flex}.grain{z-index:1;opacity:.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");position:fixed;inset:0}.candle{pointer-events:none;border-radius:50%;animation:5.5s ease-in-out infinite flicker;position:absolute}@keyframes flicker{0%,to{opacity:.55;transform:scale(1)}18%{opacity:.7}42%{opacity:.5;transform:scale(1.05)}61%{opacity:.72}83%{opacity:.58;transform:scale(1.02)}}.ff{pointer-events:none;background:radial-gradient(circle,#f4d9a0 0%,#f4d9a000 70%);border-radius:50%;position:absolute}@keyframes fireflyA{0%,to{opacity:.15;transform:translate(0)}30%{opacity:.75}50%{opacity:.4;transform:translate(14px,-18px)}75%{opacity:.7}}@keyframes fireflyB{0%,to{opacity:.2;transform:translate(0)}40%{opacity:.7;transform:translate(-16px,-10px)}70%{opacity:.35;transform:translate(-6px,-22px)}}.tape{backdrop-filter:blur(1px);pointer-events:none;background:#d6c39899;border-left:1px dashed #78643c40;border-right:1px dashed #78643c40;width:76px;height:24px;position:absolute;box-shadow:0 2px 5px #322a1e1f}.polaroid{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px 16px 14px;position:relative;box-shadow:0 30px 60px -36px #322a1e8c}.polaroid-cap{font-family:var(--font-script);color:var(--primary-deep);text-align:center;padding:10px 0 2px;font-size:23px}.steam{transform-origin:bottom;animation:3.2s ease-out infinite steamRise}@keyframes steamRise{0%{opacity:0;transform:translateY(4px)scaleX(1)}25%{opacity:.55}to{opacity:0;transform:translateY(-26px)scaleX(1.6)}}.gtile:nth-child(3n+1):not(:hover){transform:rotate(-.5deg)}.gtile:nth-child(3n+2):not(:hover){transform:rotate(.5deg)}.gtile:nth-child(3n):not(:hover){transform:rotate(-.35deg)}.gtile:before{content:"";z-index:2;background:#d6c39899;border-left:1px dashed #78643c40;border-right:1px dashed #78643c40;width:58px;height:20px;position:absolute;top:-10px;left:50%;box-shadow:0 2px 5px #322a1e1f}.gtile:nth-child(3n+1):before{transform:translate(-50%)rotate(-3deg)}.gtile:nth-child(3n+2):before{transform:translate(-50%)rotate(3deg)}.gtile:nth-child(3n):before{transform:translate(-50%)rotate(-1.5deg)}@keyframes revealUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes heroIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes sway2{0%,to{transform:rotate(3deg)translateY(0)}50%{transform:rotate(-3deg)translateY(-6px)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes spinSlowRev{to{transform:rotate(-360deg)}}@keyframes breathe{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.78;transform:scale(1.07)}}@keyframes fall{0%{opacity:0;transform:translateY(-40px)rotate(0)}12%{opacity:.85}88%{opacity:.7}to{opacity:0;transform:translateY(640px)rotate(280deg)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes sheen{0%,55%{left:-130%}78%,to{left:150%}}@keyframes lbIn{0%{opacity:0}to{opacity:1}}@keyframes lbPop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.heroIn{animation:.9s cubic-bezier(.2,.7,.3,1) both heroIn}.swayEl{transform-origin:bottom;animation:7s ease-in-out infinite sway}.swayEl2{transform-origin:bottom;animation:9s ease-in-out infinite sway2}.floatEl{animation:6s ease-in-out infinite floaty}.spinSlow{animation:70s linear infinite spinSlow}.spinSlowRev{animation:95s linear infinite spinSlowRev}.glowPulse{animation:8s ease-in-out infinite breathe}.leaf{pointer-events:none;will-change:transform;animation-name:fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}.swayEl,.swayEl2,.floatEl,.heroIn,.spinSlow,.spinSlowRev,.glowPulse,.leaf,.marquee-track,.ff,.candle,.steam{animation:none!important}.gtile:nth-child(3n+1):not(:hover),.gtile:nth-child(3n+2):not(:hover),.gtile:nth-child(3n):not(:hover){transform:none!important}.shine:after{display:none!important}.btn:hover,.card:hover,.gtile:hover{transform:none!important}.lb-overlay,.lb-figure{animation:none!important}}
