:root{--bg: #F6F0E1;--bg2: #EAE4CD;--surface: #FCF8EC;--primary: #77815F;--primary-deep: #4A5240;--secondary: #C08159;--amber: #D9A05B;--cta: #4A5240;--ink: #3E4233;--muted: #77785F;--line: rgba(74, 82, 64, .16);--font-display: "Cormorant Garamond", serif;--font-body: "Mulish", sans-serif;--font-script: "Caveat", cursive}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.container{max-width:1200px;margin:0 auto;padding-inline:28px}.container-narrow{max-width:1100px;margin:0 auto;padding-inline:28px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{cursor:pointer;border:none;font-family:var(--font-body);transition:transform .2s ease,box-shadow .25s ease,background .25s ease;text-decoration:none;display:inline-flex;align-items:center;gap:9px}.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{background:transparent;color:var(--primary-deep);border:1.5px solid var(--primary-deep)}.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 ease,box-shadow .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -28px #28231e66}.gallery-filters{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:36px}.filterpill{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:13.5px;font-weight:600;letter-spacing:.02em;padding:9px 20px;border-radius:999px;transition:all .25s;font-family:var(--font-body)}.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);font-size:13.5px;margin-top:14px}.gallery-status{text-align:center;color:var(--muted);font-size:14px;padding:30px 0}.gtile{display:block;width:100%;padding:0;font:inherit;color:inherit;text-align:left;position:relative;break-inside:avoid;margin-bottom:16px;cursor:pointer;transition:transform .35s ease,box-shadow .35s ease;border:0;background:transparent;-webkit-appearance:none;appearance:none}.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{display:block;position:relative;background:var(--surface);border-radius:6px;padding:12px 12px 16px;box-shadow:0 20px 40px -28px #322a1e80}.gtile-photo{display:block;position:relative;overflow:hidden;background:var(--bg2)}.gimg{display:block;width:100%;height:auto}.goverlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(40,35,30,.55),transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:16px;pointer-events:none}.gchip{background:#ffffffeb;color:var(--primary-deep);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px}.lb-overlay{position:fixed;inset:0;z-index:200;background:#1c1916d1;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:28px;animation:lbIn .25s ease}.lb-overlay[hidden]{display:none}.lb-figure{position:relative;max-width:760px;width:100%;margin:0;animation:lbPop .3s cubic-bezier(.2,.7,.3,1);touch-action:pan-y}.lb-stage{display:flex;align-items:center;justify-content:center}.lb-img{max-width:100%;max-height:78vh;width:auto;height:auto;display:block;border-radius:18px;box-shadow:0 40px 90px -40px #000000b3}.lb-caption{display:flex;flex-direction:column;gap:10px;margin-top:16px}.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{display:flex;align-items:center;justify-content:space-between;gap:12px}.lb-cat{background:#ffffff29;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:999px}.lb-counter{color:#ffffffb3;font-size:13.5px;font-family:var(--font-body)}.lb-nav{cursor:pointer;border:none;background:#ffffff24;color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;backdrop-filter:blur(4px);z-index:3}.lb-nav:hover{background:#ffffff47}.lb-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.lb-prev{position:absolute;left:24px;top:50%;transform:translateY(-50%)}.lb-next{position:absolute;right:24px;top:50%;transform:translateY(-50%)}.lb-close{position:absolute;top:24px;right:24px;width:44px;height:44px}.navlink{position:relative;text-decoration:none;color:var(--ink);padding:4px 0;transition:color .25s;white-space:nowrap}.navlink:hover,.navlink[aria-current=page]{color:var(--primary-deep)}.navlink:after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:0;background:var(--primary-deep);transition:width .3s}.navlink:hover:after,.navlink[aria-current=page]:after{width:100%}.menu-btn{display:none;cursor:pointer;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--primary-deep);transition:background .2s;flex-shrink:0}.menu-btn:hover{background:var(--bg2)}.menu-btn .ic-close{display:none}.navtoggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.mobile-menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 24px 44px -28px #28231e80;padding:6px 28px 20px;z-index:60}.mobile-menu a{display:block;padding:14px 4px;font-family:var(--font-body);font-size:17px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.mobile-menu a.mm-book{margin-top:14px;background:var(--cta);color:#fff;text-align:center;border-radius:999px;padding:15px;border-bottom:none}@media(max-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(max-width:560px){.top-hours{display:none!important}}.langbtn{cursor:pointer;border:none;background:transparent;font-family:var(--font-body);font-weight:700;font-size:12.5px;letter-spacing:.06em;color:var(--muted);padding:4px 7px;border-radius:6px;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;list-style:none;padding:20px 4px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font-display);font-size:21px;color:var(--ink)}details.faq summary::-webkit-details-marker{display:none}details.faq summary .chev{transition:transform .3s;color:var(--primary-deep);flex-shrink:0}details.faq[open] summary .chev{transform:rotate(45deg)}details.faq .ans{padding:0 4px 22px;color:var(--muted);font-size:15px;line-height:1.7;max-width:680px}.price-row{transition:background .2s}.price-row:hover{background:var(--bg2)}.channel{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:transform .2s ease,box-shadow .25s ease,border-color .2s}.channel:hover{transform:translateY(-2px);box-shadow:0 18px 38px -26px #28231e80;border-color:var(--primary)}.field{width:100%;font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:13px;padding:14px 15px;transition:border-color .2s,box-shadow .2s;outline:none}.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(max-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(max-width:1100px){.masonry{column-count:3}}@media(max-width:760px){.masonry{column-count:2}.lb-nav{width:48px;height:48px;background:#ffffff38}.lb-prev,.lb-next{top:auto!important;bottom:22px!important;transform:none!important}.lb-prev{left:50%!important;margin-left:-58px}.lb-next{right:50%!important;margin-right:-58px}}@media(max-width:460px){.masonry{column-count:1}}.js .reveal{opacity:0}.reveal[data-inview=true]{opacity:1;animation:revealUp .9s cubic-bezier(.2,.7,.3,1) forwards}.shine{position:relative;overflow:hidden}.shine:after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-20deg);animation:sheen 5.5s ease-in-out infinite;pointer-events:none}.marquee-track{display:flex;width:max-content;animation:marquee 30s linear infinite}.grain{position:fixed;inset:0;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")}.candle{position:absolute;border-radius:50%;pointer-events:none;animation:flicker 5.5s ease-in-out infinite}@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{position:absolute;border-radius:50%;background:radial-gradient(circle,#f4d9a0,#f4d9a000 70%);pointer-events:none}@keyframes fireflyA{0%,to{transform:translate(0);opacity:.15}30%{opacity:.75}50%{transform:translate(14px,-18px);opacity:.4}75%{opacity:.7}}@keyframes fireflyB{0%,to{transform:translate(0);opacity:.2}40%{transform:translate(-16px,-10px);opacity:.7}70%{transform:translate(-6px,-22px);opacity:.35}}.tape{position:absolute;width:76px;height:24px;background:#d6c39899;border-left:1px dashed rgba(120,100,60,.25);border-right:1px dashed rgba(120,100,60,.25);box-shadow:0 2px 5px #322a1e1f;backdrop-filter:blur(1px);pointer-events:none}.polaroid{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px 16px 14px;box-shadow:0 30px 60px -36px #322a1e8c}.polaroid-cap{font-family:var(--font-script);font-size:23px;color:var(--primary-deep);text-align:center;padding:10px 0 2px}.steam{animation:steamRise 3.2s ease-out infinite;transform-origin:bottom center}@keyframes steamRise{0%{transform:translateY(4px) scaleX(1);opacity:0}25%{opacity:.55}to{transform:translateY(-26px) scaleX(1.6);opacity:0}}.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:"";position:absolute;top:-10px;left:50%;z-index:2;width:58px;height:20px;background:#d6c39899;border-left:1px dashed rgba(120,100,60,.25);border-right:1px dashed rgba(120,100,60,.25);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{transform:scale(1);opacity:.5}50%{transform:scale(1.07);opacity:.78}}@keyframes fall{0%{transform:translateY(-40px) rotate(0);opacity:0}12%{opacity:.85}88%{opacity:.7}to{transform:translateY(640px) rotate(280deg);opacity:0}}@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:heroIn .9s cubic-bezier(.2,.7,.3,1) both}.swayEl{transform-origin:bottom center;animation:sway 7s ease-in-out infinite}.swayEl2{transform-origin:bottom center;animation:sway2 9s ease-in-out infinite}.floatEl{animation:floaty 6s ease-in-out infinite}.spinSlow{animation:spinSlow 70s linear infinite}.spinSlowRev{animation:spinSlowRev 95s linear infinite}.glowPulse{animation:breathe 8s ease-in-out infinite}.leaf{position:absolute;top:0;pointer-events:none;will-change:transform;animation-name:fall;animation-timing-function:linear;animation-iteration-count:infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!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}}
