*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:auto;min-height:100%;overflow:auto}.landing{width:100%;height:100dvh;font-family:var(--font-montserrat), sans-serif;background:#131110;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.fog-canvas{z-index:10;pointer-events:none;position:fixed;inset:0}.grain{z-index:11;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px;position:absolute;inset:0}.content{z-index:5;flex-direction:column;align-items:center;display:flex;position:relative}.logo-wrap{text-align:center;margin-bottom:44px;animation:.9s cubic-bezier(.22,1,.36,1) forwards slide-up}.lh-svg{width:64px;height:auto;margin:0 auto;display:block}.landing .logo-main{font-family:var(--font-raleway), sans-serif;letter-spacing:.12em;color:var(--ink);text-shadow:0 2px 14px #000000e6;margin-top:2px;font-size:clamp(44px,11vw,93px);font-weight:900;line-height:1}.landing .logo-rule-row{justify-content:center;align-items:center;margin:4px 0 0;display:flex}.landing .logo-rule{background:linear-gradient(to right, transparent, var(--rust) 60%);flex:1;max-width:90px;height:1.5px}.landing .logo-rule.right{background:linear-gradient(to left, transparent, var(--rust) 60%)}.landing .logo-cafe{font-family:var(--font-raleway), sans-serif;letter-spacing:.44em;color:var(--ink);white-space:nowrap;padding:0 16px;font-size:clamp(1.1rem,3vw,1.45rem);font-weight:700}.logo-beacon{font-family:var(--font-montserrat), sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#f0e8dc94;margin-top:10px;font-size:clamp(.88rem,2.2vw,1.08rem);font-weight:600}.eyebrow{letter-spacing:.06em;color:#c9a84cd9;text-align:center;cursor:default;text-shadow:0 0 22px #c9a84c2e;max-width:420px;margin-bottom:32px;margin-left:auto;margin-right:auto;font-size:clamp(.88rem,2.2vw,1.05rem);font-style:italic;font-weight:400;line-height:1.5;transition:color .18s,text-shadow .18s}.eyebrow:hover,.eyebrow:active{color:#c9a84c;text-shadow:0 0 12px #c9a84ce6,0 0 28px #c9a84c80,0 0 55px #c9a84c33}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{transform:translateY(20px)}to{transform:translateY(0)}}.btn-grid{opacity:0;grid-template-columns:1fr 1fr;gap:11px;width:min(560px,100vw - 40px);animation:.85s cubic-bezier(.22,1,.36,1) .45s forwards fade-up;display:grid}.glass-btn{-webkit-backdrop-filter:blur(36px)saturate(180%)brightness(1.08);backdrop-filter:blur(36px)saturate(180%)brightness(1.08);cursor:pointer;opacity:0;background:linear-gradient(160deg,#ffffff2e 0%,#ffffff12 40%,#ffffff08 60%,#ffffff17 100%);border:1px solid #ffffff38;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:18px 14px;text-decoration:none;transition:transform .26s cubic-bezier(.34,1.4,.64,1),box-shadow .24s,border-color .24s,background .24s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #00000080,inset 0 1px #ffffff47,inset 0 -1px #0000004d,inset 1px 0 #ffffff1f,inset -1px 0 #ffffff1f}.glass-btn:hover,.glass-btn.lit{transform:translateY(-4px)scale(1.038)}.glass-btn:hover,.glass-btn.lit,.glass-btn.beam-lit{border-color:rgba(var(--ab),.55);background:linear-gradient(160deg, #ffffff3d 0%, rgba(var(--ab),.2) 40%, rgba(var(--ab),.15) 60%, #ffffff24 100%);box-shadow:0 20px 50px #0000008c, 0 0 0 1px rgba(var(--ab),.45), 0 0 24px rgba(var(--ab),.32), 0 0 60px rgba(var(--ab),.15), 0 2px 0 #ffffff80 inset, 0 -1px 0 #00000026 inset, 0 0 22px rgba(var(--ab),.12) inset}.glass-btn:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffbf 30%,#ffffffe6 50%,#ffffffbf 70%,#0000);border-radius:50%;height:1.5px;transition:opacity .24s,background .24s;position:absolute;top:0;left:8%;right:8%}.glass-btn:hover:before,.glass-btn.lit:before,.glass-btn.beam-lit:before{background:linear-gradient(90deg,#0000,#ffffffd1 25%,#ffffffeb 50%,#ffffffd1 75%,#0000);height:2px}.glass-btn:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 85% 60% at 50% 110%, rgba(var(--ab),.42) 0%, rgba(var(--ab),.15) 40%, transparent 65%);opacity:0;transition:opacity .24s;position:absolute;inset:0}.glass-btn:hover:after,.glass-btn.lit:after,.glass-btn.beam-lit:after{opacity:1}.glass-btn:active{transform:translateY(-1px)scale(1.016)}.glass-btn:first-child{animation:.5s cubic-bezier(.22,1,.36,1) .6s forwards btn-in}.glass-btn:nth-child(2){animation:.5s cubic-bezier(.22,1,.36,1) .72s forwards btn-in}.glass-btn:nth-child(3){animation:.5s cubic-bezier(.22,1,.36,1) .84s forwards btn-in}.glass-btn:nth-child(4){animation:.5s cubic-bezier(.22,1,.36,1) .96s forwards btn-in}.glass-btn:nth-child(5){animation:.5s cubic-bezier(.22,1,.36,1) 1.08s forwards btn-in}.glass-btn:nth-child(6){animation:.5s cubic-bezier(.22,1,.36,1) 1.2s forwards btn-in}.glass-btn.is-primary:not(:hover):not(.lit):not(.beam-lit){border-color:rgba(var(--ab), .62);box-shadow:0 4px 24px #00000080, 0 0 0 1px rgba(var(--ab), .28), 0 0 22px rgba(var(--ab), .3), 0 1px 0 #ffffff47 inset, 0 -1px 0 #0000004d inset}.glass-btn.is-primary:not(:hover):not(.lit):not(.beam-lit):after{opacity:.5}.glass-btn.is-primary .btn-sub{color:#ffffff9e}@keyframes btn-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.btn-icon{z-index:1;filter:drop-shadow(0 1px 3px #00000080);flex-shrink:0;font-size:1.35rem;line-height:1;position:relative}.btn-text{z-index:1;flex-direction:column;align-items:center;gap:1px;min-width:0;display:flex;position:relative}.btn-label{font-family:var(--font-raleway), sans-serif;color:var(--ink);white-space:nowrap;letter-spacing:.04em;text-align:center;font-size:1.1rem;font-weight:800}.btn-sub{color:#f0e8dc66;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;text-align:center;font-size:.6rem;font-weight:500;transition:color .22s,text-shadow .22s}.glass-btn:hover .btn-sub,.glass-btn.lit .btn-sub,.glass-btn.beam-lit .btn-sub{color:#ffffffeb;text-shadow:0 0 6px #ffffff80,0 0 16px #ffffff4d}.btn-arrow{display:none}.landing-topbar{top:max(14px, env(safe-area-inset-top));z-index:15;opacity:0;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 16px;animation:.9s cubic-bezier(.22,1,.36,1) .35s forwards fade-up;display:flex;position:absolute;left:0;right:0}.lp-pill{-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);font-family:var(--font-montserrat), sans-serif;letter-spacing:.03em;color:#f0e8dcd9;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff24;border-radius:30px;align-items:center;gap:6px;padding:7px 14px;font-size:.74rem;font-weight:600;display:inline-flex}.lp-dot{background:#4ade80;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite brand-pulse;box-shadow:0 0 6px #4ade80}.lp-dot.closed{background:#9ca3af;box-shadow:0 0 6px #9ca3af}.lp-pill-btn{cursor:pointer;transition:border-color .2s,box-shadow .2s,color .2s,transform .18s cubic-bezier(.34,1.4,.64,1)}.lp-pill-btn:hover{color:#fff;border-color:#c85c38e6;transform:translateY(-1px);box-shadow:0 0 0 1.5px #c85c38b3,0 0 14px #c85c3866}.lp-pill-btn:focus-visible{outline-offset:3px;outline:2px solid #c85c38}@media (max-width:400px){.lp-pill{padding:6px 11px;font-size:.68rem}}.lp-modal-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s lp-overlay-in;display:flex;position:fixed;inset:0}@keyframes lp-overlay-in{0%{opacity:0}to{opacity:1}}.lp-modal{background:var(--surface-overlay);text-align:center;border:1px solid #ffffff24;border-radius:24px;width:100%;max-width:360px;padding:28px 24px 24px;animation:.26s cubic-bezier(.34,1.3,.64,1) lp-modal-pop;position:relative;box-shadow:0 8px 40px #00000080}@keyframes lp-modal-pop{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.lp-modal-close{width:32px;height:32px;color:var(--ink);cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;transition:background .15s;display:flex;position:absolute;top:12px;right:12px}.lp-modal-close:hover{background:#ffffff38}.lp-modal-pin{color:var(--rust-lt);margin:0 auto 8px;display:block}.lp-modal-title{font-family:var(--font-raleway), sans-serif;color:var(--ink);margin-bottom:10px;font-size:1.15rem;font-weight:900}.lp-modal-addr{color:#f0e8dccc;margin-bottom:6px;font-size:.88rem;line-height:1.6}.lp-modal-hours{color:#f0e8dc8c;margin-bottom:18px;font-size:.78rem}.lp-modal-maps{background:linear-gradient(160deg, var(--rust-lt) 0%, var(--rust) 55%, var(--rust-dk) 100%);color:#fff;font-family:var(--font-raleway), sans-serif;letter-spacing:.03em;border-radius:14px;padding:12px 22px;font-size:.88rem;font-weight:800;text-decoration:none;transition:transform .2s cubic-bezier(.34,1.4,.64,1),box-shadow .2s;display:inline-block;box-shadow:0 4px 18px #c85c3873}.lp-modal-maps:hover{transform:translateY(-2px);box-shadow:0 6px 24px #c85c38a6}.lp-modal-maps:focus-visible{outline-offset:3px;outline:2px solid #fff}.footer-tag{text-align:center;z-index:15;letter-spacing:.06em;color:#c9a84ca6;cursor:default;font-size:clamp(.88rem,2.2vw,1.05rem);font-style:italic;font-weight:400;text-decoration:none;transition:color .18s,text-shadow .18s;display:block;position:absolute;bottom:20px;left:0;right:0}.footer-tag:hover,.footer-tag:active{color:#c9a84c;text-shadow:0 0 12px #c9a84ce6,0 0 28px #c9a84c80,0 0 55px #c9a84c33}.scroll-cue{z-index:15;color:var(--ink);opacity:.5;pointer-events:none;justify-content:center;transition:opacity .3s;animation:2s ease-in-out infinite cue-bob;display:flex;position:absolute;bottom:48px;left:0;right:0}.scroll-cue.is-scrolled{opacity:0}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.lp-band{z-index:20;background:var(--surface-page);font-family:var(--font-montserrat), sans-serif;position:relative}.lp-band-inner{max-width:720px;margin:0 auto;padding:44px 20px 40px}.lpb-heading{font-family:var(--font-raleway), sans-serif;letter-spacing:.03em;color:var(--ink);margin-bottom:14px;font-size:1.3rem;font-weight:800}.lpb-strip{scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:12px;margin:0 -20px;padding-bottom:8px;padding-left:20px;padding-right:20px;display:flex;overflow-x:auto}.lpb-card{border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--line);width:150px;transition:border-color var(--t-med), transform var(--t-med);flex:none;display:block;overflow:hidden}.lpb-card:hover{border-color:var(--rust);transform:translateY(-2px)}.lpb-card:focus-visible{outline:var(--focus-ring);outline-offset:2px}.lpb-card img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.lpb-shimmer{aspect-ratio:4/3;background:linear-gradient(100deg, var(--surface-raised) 30%, #322922 50%, var(--surface-raised) 70%);background-size:200% 100%;width:100%;animation:1.3s ease-in-out infinite paused lpb-shimmer;display:block}.lp-band.is-live .lpb-shimmer{animation-play-state:running}@keyframes lpb-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lpb-info{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.lpb-info-line{color:var(--ink-2);font-size:.9rem;line-height:1.7}.lpb-info-line strong{color:var(--ink);font-weight:700}.lpb-find{font-family:var(--font-raleway), sans-serif;letter-spacing:.03em;color:var(--rust-text);transition:color var(--t-fast);align-items:center;gap:6px;margin-top:10px;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}.lpb-find:hover{color:var(--rust-text-hover)}.lpb-find:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:6px}.lpb-reviews{color:var(--ink-2);transition:color var(--t-fast);align-items:center;gap:8px;margin-top:24px;font-size:.85rem;text-decoration:none;display:flex}.lpb-reviews:hover{color:var(--ink)}.lpb-reviews:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:6px}.lpb-reviews-star{color:var(--warn-text);flex-shrink:0}.glass-btn:focus-visible{outline:2px solid rgba(var(--ab), 1);outline-offset:3px;border-radius:22px}@media (max-width:400px){.btn-grid{grid-template-columns:1fr}}@media (max-width:640px),(max-height:820px){html,body{height:auto;min-height:100%;overflow:auto}.landing{height:auto;min-height:100dvh;padding:max(14px, env(safe-area-inset-top,0px)) 0 max(14px, env(safe-area-inset-bottom,0px))}.landing-topbar{z-index:15;margin-bottom:auto;padding-bottom:14px;position:relative;top:auto}.content{margin:24px 0;padding-bottom:0}.footer-tag{z-index:15;margin-top:auto;padding-top:14px;position:relative;top:auto;bottom:auto}.scroll-cue{margin-top:8px;position:relative;bottom:auto}}@media (max-width:640px){.eyebrow{margin-bottom:16px}.footer-tag{padding-left:24px;padding-right:24px;font-size:.7rem;line-height:1.45}}@media (prefers-reduced-motion:reduce){.logo-wrap{opacity:1;animation:none;transform:none}.btn-grid{opacity:1;animation:none}.glass-btn{opacity:1;animation:none;transform:none!important}.glass-btn,.glass-btn:before,.glass-btn:after,.eyebrow,.footer-tag{transition:none}.landing-topbar{opacity:1;animation:none}.lp-dot,.lp-modal-overlay,.lp-modal{animation:none}.lp-pill-btn,.lp-modal-maps,.lp-modal-close{transition:none}.scroll-cue,.lpb-shimmer{animation:none}.scroll-cue,.lpb-card,.lpb-find,.lpb-reviews{transition:none}.lpb-card:hover{transform:none}}
