@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-cyrillic-400-normal-Bw4gXCin.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-400-normal-DIDQ5qyx.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-vietnamese-400-normal-DP5NnYLI.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-400-normal-0Xrw1F2p.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-ext-400-normal-CDP9IHBB.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-400-normal-BpHmUUWd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-normal-B74d1IHM.woff2) format("woff2"),url(/assets/playfair-display-latin-400-normal-DC9_0-8q.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-cyrillic-600-normal-Drpg-LIA.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-600-normal-4PP43_qm.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-vietnamese-600-normal-CabOgJsX.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-600-normal-BKsT3LgS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-ext-600-normal-Ce0DF62x.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-600-normal-B1iJ-A4M.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-600-normal-CHZ-UWfP.woff2) format("woff2"),url(/assets/playfair-display-latin-600-normal-DnqOKSPF.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-cyrillic-500-italic-CAsn5Dn6.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-500-italic-DqJeUkD8.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-vietnamese-500-italic-CDv7bGAx.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-500-italic-CsUV0mnO.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-ext-500-italic-DX_fAyXX.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-500-italic-Co7FboLO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-italic-DhPdBBsP.woff2) format("woff2"),url(/assets/playfair-display-latin-500-italic-B1Qc5XLi.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/outfit-latin-ext-300-normal-CQHgn8xH.woff2) format("woff2"),url(/assets/outfit-latin-ext-300-normal-BvDFOUSY.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/outfit-latin-300-normal-DOlZM42e.woff2) format("woff2"),url(/assets/outfit-latin-300-normal-COH0-M0r.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-7-alf5FM.woff2) format("woff2"),url(/assets/outfit-latin-ext-400-normal-B56Gh2nA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-CQm_KAGb.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DodQBVgl.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-ext-500-normal-3Hh2igas.woff2) format("woff2"),url(/assets/outfit-latin-ext-500-normal-Cgg83hKa.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DwRFpDWQ.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-CDNGX6wd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dancing-script-vietnamese-600-normal-DqeNmIFQ.woff2) format("woff2"),url(/assets/dancing-script-vietnamese-600-normal-BFzZ-RSk.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dancing-script-latin-ext-600-normal-Byy3urnl.woff2) format("woff2"),url(/assets/dancing-script-latin-ext-600-normal-Dhzv92Md.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dancing-script-latin-600-normal-C_jJ0NSz.woff2) format("woff2"),url(/assets/dancing-script-latin-600-normal-DCrQlIJl.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #070A08;--bg-raise: #0D120E;--glass: rgba(14, 19, 15, .62);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--text: #F2EAE1;--muted: rgba(242, 234, 225, .62);--faint: rgba(242, 234, 225, .38);--accent: #8FD483;--accent-deep: #3F8A38;--heart: #E3828B;--f-display: "Playfair Display", Georgia, serif;--f-body: "Outfit", system-ui, sans-serif;--header-h: 72px;--footer-h: 52px;--max: 1240px;--ease: cubic-bezier(.2, .7, .2, 1);--focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--f-body);font-weight:300;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit}img{display:block;max-width:100%}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:10px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.show-compact{display:none!important}.app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;isolation:isolate}.stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.book-canvas{touch-action:pan-y}.app[data-phase=open] .book-canvas{cursor:pointer}.logo-chip{border-radius:50%;background:var(--text);object-fit:cover;flex:none}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:var(--bg)}.silk{position:absolute;border-radius:50%;filter:blur(90px);opacity:.6;transition:opacity 1.4s var(--ease);animation:drift 28s ease-in-out infinite alternate}.silk-a{width:90vmax;height:38vmax;left:-22vmax;top:-16vmax;transform:rotate(-18deg);background:radial-gradient(closest-side,rgba(63,138,56,.75),rgba(22,63,22,.35) 55%,transparent)}.silk-b{width:70vmax;height:30vmax;right:-24vmax;top:6vmax;transform:rotate(24deg);background:radial-gradient(closest-side,rgba(22,63,22,.9),rgba(15,45,16,.4) 60%,transparent);animation-duration:34s;animation-delay:-8s}.silk-c{width:60vmax;height:26vmax;left:20vw;bottom:-18vmax;transform:rotate(-8deg);background:radial-gradient(closest-side,rgba(227,130,139,.22),rgba(227,130,139,.05) 60%,transparent);animation-duration:40s;animation-delay:-16s}@keyframes drift{0%{translate:0 0}50%{translate:4vmax 2vmax}to{translate:-3vmax 4vmax}}.grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;transition:opacity 1.4s var(--ease);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 55% at 50% 30%,#000 20%,transparent 75%)}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity 1.4s var(--ease);opacity:.7;background:radial-gradient(ellipse at 50% 55%,transparent 35%,rgba(0,0,0,.85) 100%)}.grain{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;opacity:.08;mix-blend-mode:overlay;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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.app[data-phase=open] .silk,.app[data-phase=opening] .silk{opacity:.16}.app[data-phase=open] .grid,.app[data-phase=opening] .grid{opacity:.25}.app[data-phase=open] .vignette,.app[data-phase=opening] .vignette{opacity:1}.loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-content:center;justify-items:center;gap:16px;background:var(--bg);transition:opacity .8s var(--ease),visibility .8s;font-family:var(--f-display);font-style:italic;color:var(--muted)}.loader p{margin:0}.loader-inner{display:grid;justify-items:center;gap:16px;animation:fade .4s ease .5s both}.spinner{display:inline-block;flex:none;border-radius:50%;border:2px solid rgba(242,234,225,.2);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-waiting{position:absolute;z-index:15;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:#070a08c7;border:1px solid var(--line-strong);color:var(--text);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:14px;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease}.page-waiting.is-shown{opacity:1;transform:translate(-50%,-50%) scale(1)}.waiting-image{position:relative;display:block;background:var(--bg-raise);overflow:hidden}.waiting-image img{opacity:0;transition:opacity .4s ease}.waiting-image.is-loaded img{opacity:1}.waiting-image.is-waiting:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.06) 50%,transparent 80%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.waiting-image .spinner{position:absolute;left:50%;top:50%;margin:-11px 0 0 -11px}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.loader-bar{width:120px;height:2px;border-radius:2px;background:var(--line);overflow:hidden;position:relative}.loader-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:sweep 1.2s ease-in-out infinite}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(260%)}}.loader.is-done{opacity:0;visibility:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;font-size:15px;font-weight:500;letter-spacing:.01em;white-space:nowrap;transition:transform .2s var(--ease),background .2s,border-color .2s,box-shadow .2s,opacity .2s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:default;opacity:.7}.btn-primary{background:var(--text);color:#0b0f0c;box-shadow:0 0 0 1px #fff6 inset,0 10px 30px -8px #8fd48359}.btn-primary:hover:not(:disabled){background:#fff;box-shadow:0 0 0 1px #fff inset,0 14px 40px -8px #8fd48380}.btn-ghost{background:#ffffff0d;border-color:var(--line-strong);color:var(--text);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn-ghost:hover{background:#ffffff1a;border-color:#ffffff47}.btn-sm{height:38px;padding:0 16px;font-size:14px}.text-btn{border:0;background:none;cursor:pointer;padding:6px 0;font-size:14px;font-weight:400;color:var(--accent);text-align:left}.text-btn:hover{color:#b6ebaa}.header{position:absolute;top:0;left:0;right:0;z-index:30;height:var(--header-h);background:linear-gradient(180deg,#070a08d9,#070a0873);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line);animation:fadeDown .8s var(--ease) both}.header-inner{height:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(16px,3vw,32px);display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;padding:4px;border-radius:12px}.brand-name{font-weight:600;font-size:17px;letter-spacing:.02em}.brand-name span{font-family:var(--f-display);font-style:italic;font-weight:400;color:var(--muted)}.nav{display:flex;gap:4px;margin-left:12px}.nav-link{border:0;background:none;cursor:pointer;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:400;color:var(--muted);transition:color .2s,background .2s}.nav-link:hover{color:var(--text)}.nav-link.is-active{color:var(--text);background:#ffffff12}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-link{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:#ffffff08;color:var(--muted);text-decoration:none;transition:color .2s,border-color .2s}.icon-link:hover{color:var(--text);border-color:var(--line-strong)}.header-sheet{position:absolute;top:calc(100% + 8px);left:12px;right:12px;padding:8px;background:#0c100df5;border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 60px -20px #000c;animation:fadeDown .25s var(--ease) both}.sheet-link{display:block;width:100%;text-align:left;border:0;background:none;cursor:pointer;padding:14px;border-radius:12px;font-size:16px;font-weight:400}.sheet-link:hover{background:#ffffff0d}.sheet-row{display:flex;gap:18px;padding:12px 14px 8px;border-top:1px solid var(--line);margin-top:6px;font-size:14px}.sheet-row a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--muted)}.hero{position:absolute;left:0;right:0;top:var(--header-h);z-index:2;pointer-events:none;display:flex;justify-content:center;padding:clamp(28px,6vh,72px) 20px 0;text-align:center;transition:opacity .7s var(--ease),transform .9s var(--ease)}.hero.is-hidden{opacity:0;transform:translateY(-24px)}.hero.is-hidden *{pointer-events:none!important}.hero-copy{max-width:820px;pointer-events:auto;display:flex;flex-direction:column;align-items:center}.hero-copy>*{animation:fadeUp .9s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.badge{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:6px 14px 6px 10px;border-radius:999px;border:1px solid var(--line-strong);background:#ffffff0a;font-size:13px;font-weight:400;color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.badge-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #8fd48326;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px #8fd4830d}}.hero h1{margin:0 0 32px;font-weight:600;font-size:clamp(40px,6.2vw,84px);line-height:.98;letter-spacing:-.035em;background:linear-gradient(180deg,#fff 20%,#f2eae1ad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero h1 em{font-family:var(--f-display);font-style:italic;font-weight:500;letter-spacing:-.02em;background:linear-gradient(100deg,#C9F0BF,var(--accent) 45%,#4E9B45);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.04em .08em .24em .2em;margin:0 -.02em 0 -.2em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.hero-lede{margin:0 0 28px;max-width:34em;font-size:clamp(15px,1.3vw,18px);line-height:1.6;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}@media(min-width:1024px)and (min-aspect-ratio:5/4){.hero{bottom:var(--footer-h);align-items:center;justify-content:flex-start;text-align:left;padding:0 0 0 max(clamp(40px,6vw,112px),calc((100vw - var(--max)) / 2 + 32px))}.hero.is-hidden{transform:translate(-40px)}.hero-copy{align-items:flex-start;max-width:min(560px,40vw)}.hero h1{font-size:clamp(48px,5.2vw,92px)}.hero-actions{justify-content:flex-start}}.pager{display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;border:1px solid var(--line-strong);background:#ffffff0a;animation:fadeUp .6s var(--ease) both}.app[data-phase=open]{--footer-h: 72px}.footer-center{display:flex;justify-content:center}.pager-arrow,.pager-icon{flex:none;display:grid;place-items:center;border-radius:50%;cursor:pointer;border:0;transition:background .2s,transform .15s,opacity .2s}.pager-arrow{width:44px;height:44px;background:var(--text);color:#0b0f0c}.pager-arrow:hover:not(:disabled){background:#fff}.pager-arrow:active:not(:disabled){transform:scale(.94)}.pager-icon{width:40px;height:40px;background:transparent;color:var(--muted)}.pager-icon:hover:not(:disabled){background:#ffffff12;color:var(--text)}.pager button:disabled{opacity:.3;cursor:default}.pager-status{display:grid;justify-items:center;gap:2px;min-width:210px;padding:0 8px;text-align:center}.pager-title{font-family:var(--f-display);font-style:italic;font-size:17px;color:var(--text);max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pager-track{width:100px;height:2px;margin-top:5px;background:var(--line);border-radius:2px;overflow:hidden}.pager-track span{display:block;height:100%;background:var(--accent);transition:width .5s var(--ease)}.footer{position:absolute;left:0;right:0;bottom:0;z-index:30;height:var(--footer-h);border-top:1px solid var(--line);background:#070a08b3;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:13px;color:var(--muted);animation:fadeUp .8s var(--ease) both}.footer-inner{height:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(16px,3vw,32px) env(safe-area-inset-bottom);display:flex;align-items:center;justify-content:space-between;gap:16px}.footer p{margin:0}.footer-motto{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}.footer-motto svg{color:var(--heart)}.footer-links{display:flex;gap:18px}@media(min-width:900px){.footer-inner{display:grid;grid-template-columns:1fr auto 1fr}.footer-links{justify-self:end}}.footer-links a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text)}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:45;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .3s ease both}.contents-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);overflow-y:auto;background:#0b0f0cf0;border-left:1px solid var(--line);padding:24px 26px 40px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:-30px 0 80px -20px #000c;animation:slideIn .45s var(--ease) both}.eyebrow{margin:0;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.contents-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.contents-head h2{margin:4px 0 0;font-size:32px;font-weight:600;letter-spacing:-.02em}.contents-list{list-style:none;margin:0;padding:0}.contents-list>li{border-top:1px solid var(--line);padding:4px 0 6px}.contents-cat{width:100%;display:grid;grid-template-columns:34px 1fr;align-items:baseline;gap:8px;border:0;background:none;cursor:pointer;padding:12px 0 8px;text-align:left;border-radius:8px}.contents-num{font-family:var(--f-display);font-style:italic;color:var(--accent)}.contents-name{font-size:18px;font-weight:500;transition:color .2s}.contents-cat:hover .contents-name{color:var(--accent)}.contents-items{list-style:none;margin:0 0 6px;padding:0 0 0 42px;display:flex;flex-wrap:wrap;gap:0 14px}.contents-items button{border:0;background:none;padding:5px 0;cursor:pointer;font-size:14px;color:var(--muted);text-align:left;transition:color .2s}.contents-items button:hover{color:var(--text)}.listmenu{position:absolute;left:0;right:0;top:var(--header-h);bottom:var(--footer-h);z-index:25;overflow-y:auto;background:#070a08d1;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:fade .35s ease both;scroll-behavior:smooth}.app.is-list .listmenu{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.listmenu-inner{max-width:var(--max);margin:0 auto;padding:40px clamp(16px,3vw,32px) 60px}.listmenu-intro{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:18px}.listmenu-intro .badge{margin-bottom:14px}.listmenu-intro h1{margin:0 0 12px;font-size:clamp(36px,5vw,60px);font-weight:600;letter-spacing:-.035em;outline:none}.listmenu-notice{margin:0 0 12px;color:var(--muted)}.listmenu-nav{position:sticky;top:0;z-index:2;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1*clamp(16px,3vw,32px));padding:14px clamp(16px,3vw,32px);background:linear-gradient(180deg,#070a08f2 70%,#070a0800)}.listmenu-nav::-webkit-scrollbar{display:none}.listmenu-nav a{flex:none;text-decoration:none;padding:8px 14px;border-radius:999px;font-size:13px;color:var(--muted);border:1px solid var(--line);background:#ffffff08;transition:color .2s,border-color .2s}.listmenu-nav a:hover{color:var(--text);border-color:var(--line-strong)}.listmenu-section{padding-top:36px;scroll-margin-top:64px}.section-head{display:flex;align-items:baseline;gap:16px;margin-bottom:20px}.section-num{font-family:var(--f-display);font-style:italic;font-size:28px;color:var(--accent)}.section-head h2{margin:0;font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.025em}.listmenu-blurb{margin:2px 0 0;font-family:var(--f-display);font-style:italic;color:var(--muted)}.listmenu-grid{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.dish{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#ffffff06;transition:transform .35s var(--ease),border-color .35s,background .35s}.dish:hover{transform:translateY(-3px);border-color:var(--line-strong);background:#ffffff0b}.dish-photo{position:relative}.dish-photo img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;background:var(--bg-raise)}.dish-sub{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:#070a08a6;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dish-sub svg{color:var(--heart)}.dish-text{padding:16px 18px 18px}.dish h3{margin:0 0 6px;font-size:19px;font-weight:600;letter-spacing:-.01em;display:flex;justify-content:space-between;gap:12px}.dish-price{color:var(--accent);font-weight:500}.dish p{margin:0 0 8px;line-height:1.55;color:var(--muted);font-size:14.5px}.locations{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.location{border:1px solid var(--line);border-radius:20px;padding:20px 22px;background:#ffffff06}.location h3{margin:0 0 10px;font-size:20px;font-weight:600;letter-spacing:-.01em;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.veg-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:999px;border:1px solid rgba(76,175,80,.45);background:#4caf501a;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#9be3a0}.veg-mark{width:12px;height:12px;border:1.5px solid #4CAF50;border-radius:2px;display:grid;place-items:center}.veg-mark:after{content:"";width:5px;height:5px;border-radius:50%;background:#4caf50}.location-address{display:flex;gap:10px;margin:0 0 14px;line-height:1.55;color:var(--muted)}.location-address svg{flex:none;margin-top:3px;color:var(--accent)}.location-actions{display:flex;flex-wrap:wrap;gap:8px 18px}.location-actions a{color:var(--accent);text-decoration:none;font-weight:400}.location-actions a:hover{color:#b6ebaa}.visit-list{list-style:none;padding:0;margin:0;display:grid;gap:12px;font-size:16px}.visit-list li,.visit-list a{display:inline-flex;align-items:center;gap:10px}.visit-list a{color:var(--accent);text-decoration:none}@keyframes fade{0%{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-12px)}}@keyframes slideIn{0%{transform:translate(48px);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:899px){:root{--header-h: 60px;--footer-h: 44px}.show-compact{display:grid!important}.hide-compact{display:none!important}.nav{display:none}.header-actions{gap:8px}.brand-name{font-size:16px}.footer{font-size:12px}.app[data-phase=open]{--footer-h: 68px}.footer.is-reading .footer-copy,.footer.is-reading .footer-links{display:none}.footer.is-reading .footer-center{flex:1}.pager{flex:1;justify-content:space-between}.pager-status{min-width:0;flex:1}.pager-title{max-width:100%;font-size:16px}}@media(max-width:420px){.brand-name span,.footer-links span{display:none}.footer-links{gap:14px}.hero h1{font-size:clamp(36px,11vw,46px)}.hero-actions .btn{height:46px;padding:0 18px}.listmenu-grid{grid-template-columns:1fr}}@media(max-height:640px)and (min-width:900px){.hero{padding-top:20px}.hero h1{font-size:clamp(36px,5vw,60px);margin-bottom:12px}.badge{margin-bottom:14px}.hero-lede{margin-bottom:18px}}
