.gallery-page{background:radial-gradient(circle at 12% 8%,rgba(255,210,118,.13),transparent 20rem),linear-gradient(90deg,rgba(255,210,118,.055) 1px,transparent 0) 0 0 /48px 48px,linear-gradient(180deg,#0c0a07,#151006)}.gallery-filters{position:-webkit-sticky;position:sticky;top:var(--nav-height);z-index:20;display:flex;gap:.42rem;margin-bottom:.85rem;padding:.5rem;overflow-x:auto;border:1px solid var(--line-strong);border-radius:6px;background:linear-gradient(180deg,rgba(255,226,163,.08),rgba(18,15,11,.94)),rgba(18,15,11,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);scrollbar-width:none}.gallery-filters::-webkit-scrollbar{display:none}.filter-btn{min-height:38px;flex:0 0 auto;padding:.48rem .76rem;border:1px solid rgba(255,210,118,.22);border-radius:4px;background:rgba(255,226,163,.045);color:var(--muted-strong);cursor:pointer;font-size:.8rem;font-weight:900;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease}.filter-btn.active,.filter-btn:hover{background:rgba(255,210,118,.13);border-color:rgba(255,218,126,.58);color:var(--gold-soft)}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.58rem;gap:.58rem}.gallery-item{position:relative;min-height:188px;overflow:hidden;border:1px solid rgba(255,210,118,.22);border-radius:6px;background:var(--bg-soft);box-shadow:0 0 20px rgba(255,196,75,.07);cursor:pointer}.gallery-item:nth-child(10n+1),.gallery-item:nth-child(10n+7){grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;min-height:188px;object-fit:cover;transition:transform .26s ease,filter .26s ease}.gallery-item:nth-child(10n+1) img,.gallery-item:nth-child(10n+7) img{min-height:388px}.gallery-item:hover img{transform:scale(1.035);filter:saturate(1.08)}.gallery-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:.8rem;background:linear-gradient(180deg,transparent,rgba(8,7,6,.72));opacity:0;transition:opacity .18s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(255,218,126,.5);border-radius:50%;background:rgba(8,7,6,.82);color:var(--gold-soft);font-size:0}.gallery-icon:before{content:"+";font-size:1.35rem;font-weight:300;line-height:1}.lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:4rem 1rem;background:radial-gradient(circle at 50% 42%,rgba(255,210,118,.2),transparent 38%),rgba(0,0,0,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.lightbox-content{max-width:min(1000px,92vw);max-height:86vh}.lightbox-content img{max-height:86vh;width:auto;border:1px solid var(--line-strong);border-radius:6px;object-fit:contain;box-shadow:0 24px 80px rgba(0,0,0,.48)}.lightbox-close,.lightbox-next,.lightbox-prev{position:fixed;z-index:2001;display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid rgba(255,218,126,.48);border-radius:50%;background:rgba(8,7,6,.9);color:var(--ink);cursor:pointer;font-size:2rem;line-height:1}.lightbox-close{top:1.2rem;right:1.2rem}.lightbox-next,.lightbox-prev{top:50%;transform:translateY(-50%)}.lightbox-prev{left:1.2rem}.lightbox-next{right:1.2rem}.lightbox-close:hover,.lightbox-next:hover,.lightbox-prev:hover{background:var(--paper-strong);color:var(--ink-dark)}@media (max-width:1100px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-item:nth-child(10n+1),.gallery-item:nth-child(10n+7){grid-column:auto;grid-row:auto;min-height:156px}.gallery-item img,.gallery-item:nth-child(10n+1) img,.gallery-item:nth-child(10n+7) img{min-height:156px}}@media (max-width:560px){.gallery-filters{top:calc(var(--nav-height) - 1px);margin-right:-12px;margin-left:-12px;margin-bottom:.7rem;padding:.44rem 12px;border-right:0;border-left:0;border-radius:0;background:rgba(8,7,5,.98);scroll-snap-type:x proximity}.filter-btn{min-height:36px;padding:.44rem .62rem;font-size:.74rem;scroll-snap-align:start}.lightbox{padding:5rem .75rem 5.5rem}.lightbox-content{max-width:96vw}.lightbox-close,.lightbox-next,.lightbox-prev{width:44px;height:44px}.lightbox-next,.lightbox-prev{top:auto;bottom:1rem;transform:none}.gallery-grid{gap:.5rem}.gallery-item,.gallery-item img,.gallery-item:nth-child(10n+1),.gallery-item:nth-child(10n+1) img,.gallery-item:nth-child(10n+7),.gallery-item:nth-child(10n+7) img{min-height:148px}.gallery-overlay{opacity:1;padding:.55rem}.gallery-icon{width:34px;height:34px}}.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.75fr);grid-gap:1.25rem;gap:1.25rem}.contact-column,.hours-panel,.map-panel{border:1px solid var(--line);border-radius:2px;background:linear-gradient(180deg,rgba(255,226,163,.055),rgba(255,248,234,.015)),transparent;box-shadow:0 0 22px rgba(255,196,75,.06)}.contact-column{grid-row:span 2;padding:1.8rem}.contact-column .section-heading{margin-top:.4rem}.contact-card-list{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:2rem}.contact-card{padding-top:.95rem;border-top:1px solid rgba(255,210,118,.22)}.contact-card span{display:block;color:var(--gold-soft);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.contact-card a,.contact-card p{display:inline-block;margin-top:.35rem;color:var(--ink);font-size:1.06rem;text-decoration:none}.contact-card a:hover{color:var(--gold-soft)}.hours-panel{padding:1.45rem}.hours-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.hours-panel h2{margin-top:.3rem;color:var(--ink);font-family:Aptos,Segoe UI,Arial,sans-serif;font-size:1.08rem;font-weight:700}.status-badge{flex:0 0 auto;padding:.38rem .62rem;border:1px solid rgba(255,210,118,.4);border-radius:2px;background:rgba(255,210,118,.08);color:var(--gold-soft);font-size:.76rem;font-weight:700}.status-badge.closed{border-color:hsla(41,47%,71%,.2);background:transparent;color:var(--muted-strong)}.hours-list{display:grid;grid-gap:.2rem;gap:.2rem;margin-top:1.2rem}.hours-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;color:var(--muted-strong);border-top:1px solid rgba(255,210,118,.18)}.hours-row.current-day{color:var(--ink)}.hours-row strong{color:inherit;font-weight:900}.map-panel{min-height:390px;overflow:hidden}.map-panel iframe{width:100%;height:100%;filter:grayscale(1) invert(.9) contrast(.86)}@media (max-width:900px){.contact-layout{grid-template-columns:1fr;gap:1rem}.contact-column{grid-row:auto}.map-panel{min-height:340px}}@media (max-width:560px){.contact-column,.hours-panel{padding:1.15rem}.contact-card-list{gap:0;margin-top:1.35rem}.contact-card{padding:.9rem 0}.contact-card a,.contact-card p{font-size:1rem}.hours-panel__header,.hours-row{display:grid}.hours-panel__header{gap:.75rem}.status-badge{width:-moz-fit-content;width:fit-content}.hours-list{margin-top:.9rem}.hours-row{gap:.15rem;padding:.62rem 0}.map-panel{min-height:280px}.contact-layout{gap:.75rem}.contact-card a,.contact-card p{min-height:40px;align-items:center;line-height:1.35}.contact-card a{display:inline-flex}.hours-panel__header{grid-template-columns:1fr auto;align-items:start}.hours-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.hours-row strong{text-align:right;white-space:nowrap}.map-panel{min-height:250px}}@media (max-width:380px){.hours-panel__header,.hours-row{grid-template-columns:1fr}.hours-row strong{text-align:left}}.install-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--nav-height) + 2rem) 1rem 3rem;background:var(--bg)}.install-container{width:min(520px,100%);padding:clamp(1.25rem,4vw,1.8rem);border:1px solid var(--line);border-radius:2px;background:hsla(41,47%,71%,.025);box-shadow:var(--shadow-soft)}.install-header{text-align:center}.install-icon img{width:74px;height:74px;margin:0 auto 1.15rem;border:1px solid hsla(41,47%,71%,.18);border-radius:18px}.install-header h1,.install-success h1{color:var(--ink);font-size:clamp(2rem,7vw,2.85rem);line-height:1}.install-subtitle,.install-success p{margin-top:.7rem;color:var(--muted-strong)}.install-content{margin-top:1.6rem}.install-instructions,.install-prompt-section{display:grid;grid-gap:.9rem;gap:.9rem}.install-steps{display:grid;grid-template-columns:34px 1fr;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.9rem 0;border-top:1px solid hsla(41,47%,71%,.14);color:var(--muted-strong)}.step-number{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid hsla(41,47%,71%,.3);border-radius:999px;color:var(--gold-soft);font-size:.78rem;font-weight:800}.install-footer{margin-top:1.4rem}.install-footer,.install-success{text-align:center}.success-icon{display:inline-flex;width:72px;height:72px;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:50%;background:var(--ink);color:var(--bg);font-size:2.2rem;font-weight:900}.install-footer .btn-install-secondary,.install-instructions .btn-install-primary,.install-prompt-section .btn-install-primary{width:100%}@media (max-width:520px){.install-page{align-items:flex-start;padding-top:calc(var(--nav-height) + 1.25rem)}}.admin-page{min-height:100svh;padding:1rem;background:linear-gradient(180deg,#10100d,#0b0b09);color:#fff8ea}.admin-centered,.admin-login-page{display:grid;place-items:center}.admin-login{width:min(420px,100%);display:grid;grid-gap:1rem;gap:1rem;padding:1rem;border:1px solid rgba(255,220,145,.28);border-radius:8px;background:hsla(0,0%,100%,.035)}.admin-kicker{color:#ffd978;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.admin-page h1,.admin-page h2{color:#fff8ea;font-family:var(--font-sans);letter-spacing:0}.admin-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-1rem -1rem 1rem;padding:max(.85rem,env(safe-area-inset-top)) 1rem .85rem;border-bottom:1px solid rgba(255,220,145,.18);background:rgba(11,11,9,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-topbar h1{font-size:1.15rem}.admin-item-actions,.admin-section__header,.admin-size-editor__top,.admin-topbar__actions{display:flex;align-items:center;gap:.5rem}.admin-topbar__actions{flex-wrap:wrap;justify-content:flex-end}.admin-layout{display:grid;grid-template-columns:190px minmax(0,1fr);grid-gap:1rem;gap:1rem;max-width:1320px;margin:0 auto 5.5rem}.admin-tabs{position:-webkit-sticky;position:sticky;top:78px;align-self:start;display:grid;grid-gap:.35rem;gap:.35rem}.admin-page button,.admin-primary,.admin-tabs button{min-height:42px;border:1px solid rgba(255,220,145,.28);border-radius:6px;background:hsla(0,0%,100%,.045);color:#fff8ea;cursor:pointer;font-weight:800}.admin-tabs button{width:100%;padding:.72rem .8rem;text-align:left}.admin-tabs button small,.admin-tabs button span{display:block}.admin-tabs button small{margin-top:.12rem;color:hsla(42,55%,78%,.76);font-size:.72rem;font-weight:700;line-height:1.2}.admin-tabs button.active small{color:rgba(29,22,10,.72)}.admin-primary,.admin-tabs button.active{border-color:rgba(255,225,151,.75);background:linear-gradient(135deg,#fff1bd,#d9a738);color:#1d160a}.admin-page button:disabled{cursor:not-allowed;opacity:.48}.admin-panel,.admin-stack{min-width:0}.admin-stack{display:grid;grid-gap:1rem;gap:1rem}.admin-section{padding:1rem;border:1px solid rgba(255,220,145,.18);border-radius:8px;background:hsla(0,0%,100%,.03)}.admin-section__header{justify-content:space-between;margin-bottom:1rem}.admin-section__header h2{font-size:1.05rem}.admin-note{display:grid;grid-gap:.22rem;gap:.22rem;margin-bottom:.9rem;padding:.78rem .85rem;border:1px solid rgba(255,220,145,.16);border-radius:8px;background:linear-gradient(135deg,rgba(255,217,120,.1),hsla(0,0%,100%,.025)),rgba(0,0,0,.16)}.admin-note strong{color:#ffd978;font-size:.86rem}.admin-field small,.admin-guide p,.admin-note p{color:#d9c9a5;font-size:.82rem;line-height:1.38}.admin-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-bottom:.85rem}.admin-guide article{padding:.8rem;border:1px solid rgba(255,220,145,.15);border-radius:8px;background:rgba(0,0,0,.16)}.admin-guide strong{display:block;margin-bottom:.22rem;color:#fff8ea;font-size:.9rem}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.admin-field{display:grid;grid-gap:.32rem;gap:.32rem;min-width:0}.admin-field span,.admin-size-editor__top span{color:#e6d4aa;font-size:.78rem;font-weight:800}.admin-field small{display:block;margin-top:-.08rem}.admin-field input,.admin-field select,.admin-field textarea,.admin-size-row input{width:100%;min-height:42px;border:1px solid rgba(255,220,145,.2);border-radius:6px;background:rgba(0,0,0,.28);color:#fff8ea;padding:.62rem .7rem}.admin-field textarea{min-height:94px;resize:vertical}.admin-error{color:#ff9a8f;font-weight:800}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.admin-quick-grid button,.admin-stats article{border:1px solid rgba(255,220,145,.18);border-radius:8px;background:hsla(0,0%,100%,.035);padding:1rem}.admin-stats span{display:block;color:#ffd978;font-size:1.7rem;font-weight:900}.admin-stats p{color:#e6d4aa;font-size:.9rem}.admin-quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-hours,.admin-quick-grid{display:grid;grid-gap:.65rem;gap:.65rem}.admin-hours-row{display:grid;grid-template-columns:120px repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;align-items:end}.admin-hours-row strong{padding-bottom:.68rem}.admin-list{display:grid;grid-gap:.75rem;gap:.75rem}.admin-list.compact{gap:.5rem}.admin-edit-card,.admin-edit-row{min-width:0;border:1px solid rgba(255,220,145,.15);border-radius:8px;background:rgba(0,0,0,.16)}.admin-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.75fr) auto;grid-gap:.65rem;gap:.65rem;align-items:end;padding:.75rem}.admin-edit-card{display:grid;grid-template-columns:128px minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;padding:.75rem}.admin-edit-card__media{overflow:hidden;border-radius:6px;background:hsla(0,0%,100%,.04);aspect-ratio:1}.admin-edit-card__media img{width:100%;height:100%;object-fit:cover}.admin-edit-card__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;min-width:0}.admin-edit-card__fields .admin-field:has(textarea),.admin-size-editor{grid-column:1/-1}.admin-item-actions{align-content:start;align-items:stretch;flex-direction:column}.admin-item-actions button{width:84px;min-height:34px}.admin-item-actions .danger{border-color:rgba(255,116,95,.5);color:#ffb6aa}.admin-size-editor{display:grid;grid-gap:.42rem;gap:.42rem;padding:.65rem;border:1px solid rgba(255,220,145,.15);border-radius:6px}.admin-size-editor__top{justify-content:space-between}.admin-size-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;grid-gap:.4rem;gap:.4rem}.admin-savebar{position:fixed;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));left:1rem;z-index:40;max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid rgba(255,220,145,.24);border-radius:8px;background:rgba(11,11,9,.94);box-shadow:0 20px 60px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-savebar span{color:#e6d4aa;font-weight:800}.admin-savebar .admin-primary{min-width:136px}@media (max-width:980px){.admin-layout{grid-template-columns:1fr}.admin-tabs{position:-webkit-sticky;position:sticky;top:72px;z-index:25;display:flex;gap:.45rem;margin:0 -1rem;padding:.65rem 1rem;overflow-x:auto;background:rgba(11,11,9,.94);scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{display:grid;align-content:center;flex:0 0 auto;width:auto;min-height:38px;text-align:center;white-space:nowrap}.admin-guide,.admin-quick-grid,.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.admin-page{padding:.75rem}.admin-topbar{align-items:flex-start;margin:-.75rem -.75rem .75rem;padding-right:.75rem;padding-left:.75rem}.admin-topbar__actions button{min-height:36px;padding:0 .62rem}.admin-edit-card,.admin-edit-card__fields,.admin-edit-row,.admin-form-grid,.admin-hours-row{grid-template-columns:1fr}.admin-edit-card__media{width:100%;max-height:190px;aspect-ratio:16/9}.admin-item-actions{flex-direction:row;flex-wrap:wrap}.admin-item-actions button{flex:1 1 84px;width:auto}.admin-hours-row strong{padding-bottom:0}.admin-section{padding:.8rem}}@media (max-width:430px){.admin-guide,.admin-quick-grid,.admin-stats{grid-template-columns:1fr}.admin-savebar{right:.75rem;left:.75rem}}.admin-field-addon-group{display:flex;gap:.5rem}.admin-field-addon-group input{flex:1 1}.admin-field-addon-group button{width:auto;min-width:80px}.admin-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.admin-modal{background:#10100d;border:1px solid rgba(255,220,145,.28);border-radius:8px;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6)}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,220,145,.18);background:hsla(0,0%,100%,.03)}.admin-modal-header h2{font-size:1.1rem;margin:0}.admin-modal-header button{background:transparent;border:none;color:#fff8ea;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .5rem}.admin-modal-body{padding:1rem;overflow-y:auto}.admin-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:1rem;gap:1rem}.admin-image-grid button{background:transparent;border:1px solid rgba(255,220,145,.15);border-radius:6px;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:background .2s,border-color .2s;min-height:auto;font-weight:400}.admin-image-grid button:hover{background:rgba(255,220,145,.1);border-color:rgba(255,220,145,.4)}.admin-image-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}.admin-image-grid small{color:#e6d4aa;font-size:.75rem;word-break:break-all;line-height:1.2}