.lb-root{position:fixed;inset:0;z-index:var(--lb-z, 2147483647);width:var(--lb-vw, 100dvw);height:var(--lb-vh, 100dvh);overscroll-behavior:none}.lb-backdrop{position:absolute;inset:0;background:rgba(var(--lb-backdrop-rgb, 0,0,0),var(--lb-backdrop-opacity, .85))}.lb-center{position:absolute;inset:0;padding:max(var(--lb-padding, 1rem),env(safe-area-inset-top)) var(--lb-padding, 1rem) max(var(--lb-padding, 1rem),env(safe-area-inset-bottom)) var(--lb-padding, 1rem);display:flex;align-items:center;justify-content:center;pointer-events:none}.lb-card{position:relative;max-width:100%;max-height:100%;pointer-events:auto}.lb-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--lb-radius, 12px);box-shadow:var(--lb-image-shadow, 0 20px 60px rgba(0,0,0,.5))}.lb-close{position:absolute;top:max(.5rem,env(safe-area-inset-top));right:max(.5rem,env(safe-area-inset-right));width:var(--lb-close-size, 40px);height:var(--lb-close-size, 40px);border:0;border-radius:999px;background:var(--lb-close-bg, rgba(255,255,255,.95));padding:var(--lb-close-padding, 8px);box-shadow:var(--lb-close-shadow, 0 4px 16px rgba(0,0,0,.25));cursor:pointer;display:grid;place-items:center}.lb-caption{position:absolute;left:0;right:0;bottom:max(.5rem,env(safe-area-inset-bottom));text-align:center;color:var(--lb-caption-color, rgba(255,255,255,.95));font-size:var(--lb-caption-size, 14px);padding:var(--lb-caption-padding-y, .5rem) var(--lb-caption-padding-x, 1rem)}@media (prefers-reduced-motion: no-preference){.lb-root{animation:lb-fade .12s ease-out}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}}.pricing-page{font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg)}.pricing-page{max-width:var(--w-max);margin:0 auto;padding:var(--s-12) var(--s-4)}.pricing-container{max-width:var(--w-max);margin-left:auto;margin-right:auto;padding-left:var(--s-4);padding-right:var(--s-4)}.pricing-page .pricing-header{text-align:center;margin-bottom:var(--s-12)}.pricing-page .pricing-header h1{font-size:2rem;font-weight:700}.pricing-page .pricing-header p{margin-top:var(--s-2);color:var(--c-muted)}.pricing-page .packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-6)}.pricing-page .card{position:relative;border:2px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-panel);padding:var(--s-6);display:flex;flex-direction:column;justify-content:space-between}.pricing-page .card.highlighted{border-color:var(--c-accent);box-shadow:var(--shadow-lg)}.pricing-page .badge{position:absolute;top:var(--s-4);right:var(--s-4);background:var(--c-badge-bg);border:1px solid var(--c-badge-border);border-radius:var(--r-full);padding:var(--s-2) var(--s-4);font-size:.75rem;font-weight:500}.pricing-page .card-header{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2)}.pricing-page .icon-wrapper{border:1px solid var(--c-border-strong);border-radius:var(--r-lg);padding:var(--s-2)}.pricing-page .blurb{font-size:.875rem;color:var(--c-muted);margin-bottom:var(--s-4)}.pricing-page .price{display:flex;align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-4)}.pricing-page .amount{font-size:2rem;font-weight:700}.pricing-page .unit{font-size:.875rem;color:var(--c-muted)}.pricing-page .features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s-2);font-size:.875rem}.pricing-page .features li{display:flex;align-items:center;gap:var(--s-2)}.pricing-page .actions{margin-top:var(--s-4);display:flex;gap:var(--s-2)}.pricing-page .btn{flex:1;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,border .2s,color .2s}.pricing-page .btn.solid{background:var(--c-accent);color:red;border:1px solid var(--c-accent)}.pricing-page .btn.solid:hover{background:var(--c-accent-900)}.pricing-page .btn.outline{background:var(--c-panel);color:var(--c-text);border:1px solid var(--c-outline)}.pricing-page .btn.outline:hover{background:var(--c-outline-hover)}.pricing-page .addons{margin-top:var(--s-12)}.pricing-page .addons h2{font-size:1.25rem;font-weight:600}.pricing-page .addon-list{margin-top:var(--s-4);display:grid;gap:var(--s-3)}.pricing-page .addon-item{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-4);font-size:.875rem;background:var(--c-panel)}.pricing-page .addon-name{display:flex;align-items:center;gap:var(--s-2)}.pricing-page .addon-price{font-weight:500}.pricing-page .notes{margin-top:var(--s-12)}.pricing-page .notes h2{font-size:1.25rem;font-weight:600;margin-bottom:var(--s-4)}.pricing-page .notes ul{display:grid;gap:var(--s-3);list-style:none;padding:0}.pricing-page .notes li{border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-4);font-size:.875rem;background:var(--c-panel)}.pricing-page .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:50}.pricing-page .modal{background:var(--c-panel);border-radius:var(--r-xl);padding:var(--s-8);max-width:32rem;width:100%;box-shadow:var(--shadow-xl);color:var(--c-text)}.pricing-page .contact-form{display:grid;gap:var(--s-3);margin-top:var(--s-4)}.pricing-page .contact-form label{font-size:.875rem;font-weight:500}.pricing-page .contact-form input,.pricing-page .contact-form textarea{border:1px solid var(--c-border-strong);border-radius:var(--r-lg);padding:var(--s-3);font-size:.875rem;width:100%;background:var(--c-panel);color:var(--c-text)}.pricing-page .contact-form textarea{resize:vertical;min-height:5rem}.pricing-page .form-actions{margin-top:var(--s-4);display:flex;justify-content:flex-end;gap:var(--s-2)}:root{--maxw: var(--container-maxw, 1100px);--gap: var(--space-3, 12px);--corner-radius: var(--radius, 14px)}html,body{height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif);color:var(--color-text, #111);background:var(--color-bg, #fff);-webkit-tap-highlight-color:transparent}h1{font-size:clamp(1.3rem,2.5vw,2rem);margin:.6rem 0}h2{font-size:clamp(1.1rem,2vw,1.5rem);margin:.6rem 0}h3{font-size:clamp(1rem,1.7vw,1.25rem);margin:.5rem 0}p,label,input,button,small{font-size:clamp(.95rem,1.2vw,1rem)}.container{max-width:var(--container-maxw, 1100px);margin-inline:auto;padding:var(--space-2, 12px)}header.container{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:saturate(1.2) blur(6px);backdrop-filter:saturate(1.2) blur(6px);background:var(--header-blur-bg, color-mix(in srgb, var(--color-bg, #ffffff) 65%, transparent));border-bottom:1px solid var(--color-border-weak, #eee)}header a{color:inherit}header nav a{padding:8px 10px;border-radius:10px;text-decoration:none}header nav a:hover{background:var(--surface-hover, #f4f4f4)}button,.button{cursor:pointer;border:1px solid var(--btn-border, #ddd);background:var(--btn-bg, #111);color:var(--btn-fg, #fff);border-radius:10px;padding:10px 14px}button.btn-plain{background:transparent;color:inherit;border:0;padding:0;font:inherit;line-height:inherit}button.btn-plain:focus-visible{outline:2px solid var(--focus-ring, #4f46e5);outline-offset:2px;border-radius:10px}button.secondary{background:var(--btn-secondary-bg, #fff);color:var(--btn-secondary-fg, #111);border-color:var(--btn-secondary-border, #ccc)}button:hover{background:var(--btn-bg-hover, #000)}button:active{transform:translateY(1px)}input,textarea,select{width:100%;box-sizing:border-box;padding:10px 12px;background:var(--input-bg, #fff);color:var(--input-fg, #111);border:1px solid var(--input-border, #ddd);border-radius:10px}input:focus,textarea:focus,select:focus{outline:2px solid var(--focus-ring, #4f46e5);outline-offset:2px}form.row{display:grid;gap:var(--space-3, 12px)}@media (min-width: 768px){form.row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){form.row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 480px){form .actions{display:grid;gap:8px}form .actions button{width:100%}}.card{border:1px solid var(--color-border-weak, #eee);border-radius:var(--corner-radius, 14px);padding:12px;background:var(--color-surface, #fff);box-shadow:var(--shadow-card, 0 1px 0 rgba(0, 0, 0, .02))}.grid{display:grid;gap:var(--space-3, 12px);grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width: 640px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.photo{border-radius:var(--corner-radius, 14px);overflow:hidden;background:var(--photo-bg, #fafafa);border:1px solid var(--color-border-weak, #eee);position:relative;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease;will-change:transform}.photo img{display:block;width:100%;height:auto;aspect-ratio:var(--photo-thumb-aspect, 4/3);object-fit:var(--photo-thumb-fit, cover)}.photo .meta{padding:8px 10px;color:var(--photo-meta-color, var(--color-text, #111));display:var(--photo-caption-display, block)}.photo .meta small{color:var(--photo-meta-subtle, var(--color-muted, #666))}.photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--photo-hover-overlay, transparent);opacity:0;transition:opacity .14s ease}.photo:hover,.photo:focus-visible{background:var(--photo-hover-bg, var(--photo-bg));border-color:var(--photo-hover-border, var(--color-border-weak));box-shadow:var(--photo-hover-shadow, var(--shadow-card));transform:translateY(var(--photo-hover-translate-y, -2px))}.photo:hover:after,.photo:focus-visible:after{opacity:var(--photo-hover-overlay-opacity, 1)}.photo:hover .meta,.photo:focus-visible .meta{color:var(--photo-hover-meta, var(--photo-meta-color));font-weight:var(--photo-hover-meta-weight, 500)}.photo:hover .meta small,.photo:focus-visible .meta small{color:var(--photo-hover-meta-subtle, var(--photo-meta-subtle))}button.btn-plain:active{transform:none}@media (prefers-reduced-motion: reduce){.photo{transition:none}.photo:after{transition:none}}nav.menu-bar,.filters{display:flex;gap:8px;flex-wrap:wrap}nav.menu-bar button,.filters button{padding:8px 12px;border-radius:999px;border:1px solid var(--tag-border, #ddd);background:var(--tag-bg, #fff);color:var(--tag-fg, #111)}.filters input{min-width:200px}button,a,input,select,textarea{min-height:44px}img,video,canvas,svg{max-width:100%;height:auto}body{padding-bottom:env(safe-area-inset-bottom)}header.container{padding-top:env(safe-area-inset-top)}button:hover:not(.btn-plain){background:var(--btn-bg-hover, #000)}button.btn-plain:hover{background:transparent}.photo:hover{background:var(--photo-hover-bg, var(--photo-bg));border-color:var(--photo-hover-border, var(--color-border-weak, #eee))}.photo:hover .meta{color:var(--photo-hover-meta, var(--photo-meta-color))}.photo:hover .meta small{color:var(--photo-hover-meta-subtle, var(--photo-meta-subtle))}.booking-form{display:grid;gap:1rem;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.btn-ghost{border:0;background:transparent;font-size:1.25rem;font-weight:600;cursor:pointer;border-radius:.375rem;padding:.25rem .5rem;color:var(--bk-card-fg);transition:background .2s,color .2s}.btn-ghost:hover:not(:disabled){background:var(--bk-accent-bg);color:var(--bk-accent)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.booking-month-title{font-weight:600}.booking-calendar{display:grid;gap:.5rem}.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.booking-weekday{text-align:center;font-size:.85rem;color:var(--bk-muted-fg)}.booking-day{aspect-ratio:1 / 1;border:1px solid var(--bk-border);border-radius:.5rem;background:var(--bk-card);color:var(--bk-card-fg);cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.booking-day.muted{opacity:.35}.booking-day.today{outline:2px dashed var(--bk-accent);outline-offset:-3px}.booking-day:disabled{opacity:.35;cursor:not-allowed}.booking-day:hover:not(:disabled),.booking-day:focus-visible{border-color:var(--bk-accent);box-shadow:var(--bk-ring);outline:0}button.booking-day.selected,button.booking-day[aria-pressed=true]{background:var(--bk-accent-bg);border-color:var(--bk-accent);color:var(--bk-card-fg)}.booking-slots{position:relative;min-height:140px}.booking-slots-header{display:flex;align-items:baseline;gap:.75rem}.booking-duration{font-size:.9rem;color:var(--bk-muted-fg)}.booking-slots-empty{font-size:.95rem;color:var(--bk-muted-fg)}.booking-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.5rem;transition:opacity .18s ease}.booking-slot{padding:.5rem;border:1px solid var(--bk-border);border-radius:.5rem;background:var(--bk-card);color:var(--bk-card-fg);cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.booking-slot:hover:not(:disabled),.booking-slot:focus-visible{border-color:var(--bk-accent);box-shadow:var(--bk-ring);outline:0}.booking-slot:disabled{opacity:.45;cursor:not-allowed}button.booking-slot.selected,button.booking-slot[aria-pressed=true],.booking-slot[data-selected=true]{border-color:var(--bk-accent)!important;background:var(--bk-accent-bg)!important;color:var(--bk-accent-fg)!important;box-shadow:0 0 0 2px color-mix(in oklab,var(--bk-accent) 35%,transparent) inset;font-weight:600}.booking-slots-loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--bk-overlay-bg);color:var(--bk-card-fg);border-radius:.5rem;opacity:.96;z-index:1}.booking-slots[data-loading=true] .booking-slot-grid,.booking-slots[data-loading=true] .booking-slots-empty{opacity:0;visibility:hidden;pointer-events:none}.booking-notes{min-height:90px;width:100%}.booking-messages{margin-top:.5rem}.booking-msg.success{color:#166534}.booking-msg.error{color:#b91c1c}.booking-cta{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));background:var(--bk-card);border-top:1px solid var(--bk-border)}.booking-cta-btn{grid-column:2;justify-self:center;padding:.6rem 1rem;border-radius:.5rem;border:1px solid var(--bk-accent);background:var(--bk-accent-bg);color:var(--bk-accent);font-weight:600}.booking-cta-btn:disabled{opacity:.6}.booking-cta-msg{grid-column:3;justify-self:end;min-height:1.25em;color:var(--bk-muted-fg)}.booking-cta-msg .ok{color:#166534}.booking-cta-msg .error{color:#b91c1c}.booking-scope{scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom));overscroll-behavior-y:contain}.booking-form input,.booking-form textarea,.booking-slot{font-size:16px}@supports (height: 100dvh){.booking-scope{min-height:100dvh}}@media (max-width: 480px){.booking-cta{grid-template-columns:1fr;row-gap:.5rem}.booking-cta-btn{grid-column:1;justify-self:center;width:100%}.booking-cta-msg{grid-column:1;justify-self:center;text-align:center}}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;z-index:50}.modal-card{background:var(--bk-card);color:var(--bk-card-fg);width:min(520px,92vw);border-radius:12px;padding:1rem;box-shadow:var(--bk-shadow-lg)}.modal-card h3{margin:0 0 .75rem}.modal-row{display:grid;gap:.5rem;margin-bottom:.75rem}.modal-row input,.modal-row textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--bk-border);border-radius:8px;background:var(--bk-card);color:var(--bk-card-fg)}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.btn{padding:.55rem .9rem;border-radius:8px;cursor:pointer;border:1px solid var(--bk-border);background:var(--bk-accent-bg);color:var(--bk-accent)}.btn.secondary{background:transparent;color:var(--bk-card-fg)}.modal-error{color:#b91c1c;margin-top:.25rem}
