@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--canvas:#fcf6ec;--surface:#fff;--surface-sunk:#f5eede;--ink:#1b3a40;--ink-soft:#4c6a6e;--heading:#0f2d33;--accent:#bd4a0f;--accent-hover:#a5400b;--accent-ink:#ad440d;--accent-bright:#e85f1c;--on-accent:#fffaf3;--teal:#0e6e7d;--kelp:#2f8f4e;--water-top:#dff0ef;--water-mid:#8fd0d4;--water-deep:#0e6e7d;--sun:#f6c56a;--line:#1b3a401f;--line-strong:#1b3a4042;--shadow-1:0 1px 2px #0e2d330f, 0 6px 16px -4px #0e2d331a;--shadow-2:0 1px 1px #0e2d330d, 0 14px 34px -10px #0e2d3333, 0 34px 64px -28px #0e2d333d;--scrim:#09181abd;--grain-opacity:.03;--font-display:"Bricolage Grotesque Variable", "Trebuchet MS", system-ui, sans-serif;--font-text:"Figtree Variable", system-ui, -apple-system, sans-serif;--display-stretch:100%;--radius-sm:10px;--radius-md:14px;--radius-lg:22px;--radius-xl:28px;--radius-pill:999px;--gutter:max(clamp(1rem, 4vw, 2.5rem), env(safe-area-inset-left), env(safe-area-inset-right));--container:1240px;--section-pad:clamp(4.5rem, 3rem + 5vw, 8rem);--nav-height:64px;--nav-top:max(env(safe-area-inset-top), 12px);--nav-offset:calc(var(--nav-top) + var(--nav-height));--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.32, .72, 0, 1);--z-sticky:20;--z-nav:40;--z-skip:50;--z-grain:60}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--canvas:#0d1f22;--surface:#15302f;--surface-sunk:#0a181a;--ink:#e7ede9;--ink-soft:#a6bdbb;--heading:#f3f8f4;--accent:#f47a3c;--accent-hover:#f68c54;--accent-ink:#f79a62;--accent-bright:#f78a4e;--on-accent:#0d1f22;--teal:#58c2cf;--kelp:#64c17f;--water-top:#123b40;--water-mid:#167884;--water-deep:#0a2a30;--sun:#e8b45a;--line:#e7ede91f;--line-strong:#e7ede93d;--shadow-1:0 1px 2px #00000052, 0 6px 16px -4px #0006;--shadow-2:0 1px 1px #0000004d, 0 14px 34px -10px #00000085, 0 34px 64px -28px #00000094;--scrim:#030a0bd1;--grain-opacity:.02}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-offset) + 1.5rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html[data-nav-open]{overflow:hidden}body{background:var(--canvas);min-height:100dvh;color:var(--ink);font:400 1.0625rem/1.6 var(--font-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}body:after{content:"";z-index:var(--z-grain);pointer-events:none;opacity:var(--grain-opacity);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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img,svg{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}:where(ul[role=list],ol[role=list]){padding:0;list-style:none}a{color:inherit}button{font:inherit;color:inherit}main:focus{outline:none}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}::selection{background:color-mix(in oklab, var(--accent) 35%, transparent)}p,li,dd{text-wrap:pretty}.container{width:min(100% - 2 * var(--gutter), var(--container));margin-inline:auto}.section{padding-block:var(--section-pad) calc(var(--section-pad) * 1.1)}.display-xl,.display-l,.display-m{font-family:var(--font-display);font-stretch:var(--display-stretch);color:var(--heading);text-wrap:balance}.display-xl{letter-spacing:-.035em;font-size:clamp(2.5rem,1.5rem + 3.4vw,4.25rem);font-weight:700;line-height:1.02}.display-l{letter-spacing:-.03em;font-size:clamp(2rem,1.35rem + 2.1vw,3.1rem);font-weight:680;line-height:1.05}.display-m{letter-spacing:-.02em;font-size:clamp(1.45rem,1.2rem + .9vw,1.9rem);font-weight:650;line-height:1.15}.lede{max-width:46ch;color:var(--ink-soft);font-size:clamp(1.125rem,1rem + .4vw,1.3rem);line-height:1.55}.eyebrow{font:650 .8125rem/1.2 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.25rem}.inline-link{color:var(--ink);-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 75%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 75%, transparent);text-underline-offset:4px;font-weight:600;text-decoration-thickness:2px}.inline-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-skip);border-radius:var(--radius-pill);background:var(--ink);color:var(--canvas);transition:transform .2s var(--ease-out);padding:.75rem 1.125rem;font-weight:650;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.icon{flex:none;width:1.25em;height:1.25em}.icon--inline{width:.85em;height:.85em}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}html:not(.js) [data-requires-js]{display:none!important}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform .9s var(--ease-out);transition-delay:calc(var(--reveal-i,0) * 90ms);transform:translateY(18px)}.js [data-reveal].is-visible{opacity:1;transform:none}}.nav-sentinel{pointer-events:none;width:1px;height:24px;position:absolute;top:0;left:0}.site-header{z-index:var(--z-nav);padding:var(--nav-top) var(--gutter) 0;pointer-events:none;position:fixed;inset:0 0 auto}.nav{z-index:2;max-width:1120px;height:var(--nav-height);border-radius:var(--radius-pill);background:color-mix(in oklab, var(--surface) 80%, transparent);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-1);-webkit-backdrop-filter:blur(18px)saturate(1.5);backdrop-filter:blur(18px)saturate(1.5);pointer-events:auto;transition:background-color .3s var(--ease-out), box-shadow .3s var(--ease-out);align-items:center;gap:.25rem;margin-inline:auto;padding-inline:.5rem;display:flex;position:relative}.site-header[data-scrolled] .nav{background:color-mix(in oklab, var(--surface) 92%, transparent);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-2)}.nav__brand{border-radius:var(--radius-pill);align-items:center;gap:.625rem;margin-right:auto;padding:.25rem .875rem .25rem .25rem;text-decoration:none;display:flex}.nav__brand img{width:44px;height:44px}.nav__wordmark{font:700 1.3rem/1 var(--font-display);font-stretch:var(--display-stretch);letter-spacing:-.025em;color:var(--heading);white-space:nowrap}.nav__links{align-items:center;gap:.125rem;display:none}.nav__link{border-radius:var(--radius-pill);min-height:44px;color:var(--ink);transition:background-color .2s var(--ease-out);align-items:center;gap:.3rem;padding-inline:1rem;font-weight:600;text-decoration:none;display:inline-flex}.nav__link:hover{background:color-mix(in oklab, var(--ink) 7%, transparent)}.nav__link[aria-current=page]{background:color-mix(in oklab, var(--ink) 10%, transparent)}.nav__call{border-radius:var(--radius-pill);background:var(--accent);min-height:48px;color:var(--on-accent);transition:background-color .24s var(--ease-out), transform .16s var(--ease-out);align-items:center;gap:.5rem;margin-left:.375rem;padding:0 1.25rem 0 1rem;font-weight:650;text-decoration:none;display:none}.nav__call:hover{background:var(--accent-hover)}.nav__call:active{transform:scale(.98)}.nav__call .icon{width:18px;height:18px}.nav__toggle{border-radius:var(--radius-pill);background:var(--ink);width:48px;height:48px;color:var(--canvas);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;place-items:center;display:grid}.nav__toggle-bars{width:18px;height:12px;position:relative}.nav__toggle-bars span{width:100%;height:2px;transition:transform .38s var(--ease-soft);background:currentColor;border-radius:2px;position:absolute;top:5px;left:0}.nav__toggle-bars span:first-child{transform:translateY(-3px)}.nav__toggle-bars span:last-child{transform:translateY(3px)}.nav__toggle[aria-expanded=true] .nav__toggle-bars span:first-child{transform:rotate(45deg)}.nav__toggle[aria-expanded=true] .nav__toggle-bars span:last-child{transform:rotate(-45deg)}.sheet{z-index:1;padding:calc(var(--nav-offset) + 2rem) var(--gutter) max(2rem, env(safe-area-inset-bottom));overscroll-behavior:contain;background:color-mix(in oklab, var(--canvas) 94%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);pointer-events:auto;flex-direction:column;justify-content:space-between;gap:2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet[hidden]{display:none}.sheet__list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.sheet__link{font:700 clamp(2.4rem, 9vw, 3.25rem)/1.1 var(--font-display);font-stretch:var(--display-stretch);letter-spacing:-.035em;color:var(--heading);align-items:center;gap:.5rem;padding-block:.375rem;text-decoration:none;display:flex}.sheet__link[aria-current=page]{color:var(--accent-ink)}.sheet__footer{color:var(--ink-soft);justify-items:start;gap:1rem;display:grid}.sheet__list li,.sheet__footer{transition:opacity .5s var(--ease-out), transform .65s var(--ease-out);transition-delay:calc(var(--stagger,0) * 55ms)}@starting-style{.sheet:not([hidden]) .sheet__list li,.sheet:not([hidden]) .sheet__footer{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.sheet__list li,.sheet__footer{transition:none}}@media (width>=900px){.nav__links{display:flex}.nav__call{display:inline-flex}.nav__toggle,.sheet{display:none!important}}.button{border-radius:var(--radius-pill);min-height:52px;font:650 1rem/1 var(--font-text);white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .16s var(--ease-out), background-color .24s var(--ease-out), box-shadow .24s var(--ease-out), color .24s var(--ease-out);border:0;justify-content:center;align-items:center;gap:.75rem;padding-inline:1.5rem;text-decoration:none;display:inline-flex}.button[data-has-icon]{padding-right:.4375rem}.button:active{transform:scale(.98)}.button__icon{border-radius:var(--radius-pill);background:color-mix(in oklab, currentColor 13%, transparent);width:38px;height:38px;transition:transform .32s var(--ease-soft);place-items:center;display:grid}.button__icon .icon{width:18px;height:18px}.button:hover .button__icon{transform:translate(3px)}.button--primary{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px 0 #ffffff38, 0 10px 24px -12px color-mix(in oklab, var(--accent) 80%, transparent)}.button--primary:hover{background:var(--accent-hover)}.button--secondary{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong);background:0 0}.button--secondary:hover{background:color-mix(in oklab, var(--ink) 6%, transparent);box-shadow:inset 0 0 0 1.5px color-mix(in oklab, var(--ink) 45%, transparent)}.button[hidden]{display:none}.text-link{min-height:48px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 75%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 75%, transparent);text-underline-offset:6px;align-items:center;gap:.375rem;padding-inline:.5rem;font-weight:650;text-decoration-thickness:2px;display:inline-flex}.text-link .button__icon{background:0 0;width:auto;height:auto}.text-link:hover .button__icon{transform:translate(3px)}.icon-button{border-radius:var(--radius-pill);background:var(--surface);width:48px;height:48px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;touch-action:manipulation;transition:background-color .2s var(--ease-out), transform .16s var(--ease-out), opacity .2s var(--ease-out);border:0;place-items:center;padding:0;display:grid}.icon-button:hover{background:color-mix(in oklab, var(--ink) 8%, var(--surface))}.icon-button:active{transform:scale(.95)}.icon-button:disabled{opacity:.4;cursor:default}.icon-button .icon{width:20px;height:20px}.chip{border-radius:var(--radius-pill);background:var(--surface);min-height:44px;box-shadow:inset 0 0 0 1px var(--line);font:600 .9375rem/1 var(--font-text);color:var(--ink);white-space:nowrap;cursor:pointer;scroll-snap-align:start;touch-action:manipulation;transition:background-color .2s var(--ease-out), color .2s var(--ease-out);border:0;flex:none;align-items:center;gap:.5rem;padding-inline:1rem;text-decoration:none;display:inline-flex}.chip:hover{background:color-mix(in oklab, var(--ink) 7%, var(--surface))}.chip[aria-pressed=true],.chip[aria-current=true]{background:var(--ink);color:var(--canvas);box-shadow:none}.chip__count{font-variant-numeric:tabular-nums;opacity:.62;font-weight:500}.frame{border-radius:var(--radius-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-1);padding:6px}.frame__inner{border-radius:calc(var(--radius-lg) - 6px);background:var(--surface-sunk);overflow:hidden}.frame img{aspect-ratio:1;object-fit:cover;width:100%}.site-footer{padding-block:3rem max(3rem, env(safe-area-inset-bottom));border-top:1px solid var(--line)}.site-footer__grid{text-align:center;justify-items:center;gap:1.5rem;display:grid}.site-footer__brand{font:700 1.4rem/1 var(--font-display);font-stretch:var(--display-stretch);letter-spacing:-.025em;color:var(--heading);align-items:center;gap:.75rem;text-decoration:none;display:flex}.site-footer__brand img{width:56px;height:56px}.site-footer__nav{flex-wrap:wrap;justify-content:center;gap:0 1.25rem;display:flex}.site-footer__nav a{min-height:44px;color:var(--ink-soft);transition:color .2s var(--ease-out);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.site-footer__nav a:hover{color:var(--ink)}.site-footer__owner{color:inherit;cursor:default;text-decoration:none}.site-footer__legal{color:var(--ink-soft);font-size:.875rem}@media (width>=900px){.site-footer__grid{text-align:left;grid-template-columns:auto 1fr auto;place-items:center stretch}}.page-hero{padding-top:calc(var(--nav-offset) + clamp(2.5rem, 6vw, 5rem));padding-bottom:clamp(2.5rem,5vw,4rem)}.page-hero__grid{align-items:end;gap:2.5rem;display:grid}.page-hero__copy{justify-items:start;gap:1.25rem;display:grid}@media (width>=900px){.page-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.tag{border-radius:var(--radius-pill);background:color-mix(in oklab, var(--accent) 14%, var(--surface));min-height:24px;color:var(--accent-ink);font:600 .75rem/1 var(--font-text);letter-spacing:.01em;white-space:nowrap;align-items:center;padding:0 .625rem;display:inline-flex}.stars{color:var(--accent-bright);gap:.125rem;display:inline-flex}.stars__star{width:18px;height:18px}.photos__head{gap:1rem;margin-bottom:2rem;display:grid}.chips{margin-inline:calc(var(--gutter) * -1);padding:.25rem var(--gutter) .75rem;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);scrollbar-width:none;gap:.5rem;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}@media (width>=900px){.chips{flex-wrap:wrap;margin-inline:0;padding-inline:0;overflow:visible}}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:8px;margin-top:1.25rem;display:grid}.photo-grid__item[hidden]{display:none}.photo-tile{aspect-ratio:1;border-radius:var(--radius-md);background:var(--surface-sunk);display:block;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out)}.photo-tile:hover img{transform:scale(1.05)}@media (width>=640px){.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}@media (width>=900px){.photo-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.photo-grid__item[data-large]{grid-area:span 2/span 2}.photo-grid__item[data-large] .photo-tile{border-radius:var(--radius-lg)}}.photos__footer{justify-items:center;gap:1rem;margin-top:2.25rem;display:grid}.photos__status{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.9375rem}.lightbox{border-radius:var(--radius-xl);background:var(--surface);width:min(92vw,500px);max-width:none;max-height:none;color:var(--ink);box-shadow:var(--shadow-2);overscroll-behavior:contain;border:0;padding:0}.lightbox::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox[open]{animation:lightbox-in .38s var(--ease-out)}.lightbox__figure{padding:10px 10px 0}.lightbox__img{aspect-ratio:1;object-fit:cover;border-radius:calc(var(--radius-xl) - 10px);background:var(--surface-sunk);width:100%}.lightbox__caption{text-align:center;min-height:1.5em;color:var(--ink-soft);padding:.875rem 1rem 0;font-size:.9375rem}.lightbox__controls{justify-content:center;gap:.5rem;padding:.875rem 1rem 1rem;display:flex}@keyframes lightbox-in{0%{opacity:0;transform:translateY(14px)scale(.98)}}@media (prefers-reduced-motion:reduce){.lightbox[open]{animation:none}}html:has(.jump){scroll-padding-top:calc(var(--nav-offset) + 5.5rem)}.jump-sentinel{height:1px}.jump{top:calc(var(--nav-offset) + 10px);z-index:var(--z-sticky);padding-inline:var(--gutter);position:sticky}.jump:before{content:"";inset:calc(-1 * (var(--nav-offset) + 10px)) 0 -20px;z-index:-1;background:linear-gradient(to bottom, var(--canvas) 80%, transparent);opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out);position:absolute}.jump[data-stuck]:before{opacity:1}.jump__bar{max-width:var(--container);border-radius:var(--radius-pill);background:color-mix(in oklab, var(--surface) 84%, transparent);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-1);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);margin-inline:auto;padding:.375rem}.jump__list{border-radius:var(--radius-pill);scroll-snap-type:x proximity;scrollbar-width:none;gap:.25rem;scroll-padding-inline:1.5rem;display:flex;position:relative;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 1.25rem calc(100% - 1.25rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 1.25rem calc(100% - 1.25rem),#0000)}.jump__list::-webkit-scrollbar{display:none}.jump .chip{min-height:40px;box-shadow:none;background:0 0}.jump .chip:hover{background:color-mix(in oklab, var(--ink) 7%, transparent)}.jump .chip[aria-current=true]{background:var(--ink);color:var(--canvas)}.ocean{background:linear-gradient(to bottom, var(--water-top) 0%, var(--water-mid) 48%, var(--water-deep) 100%);isolation:isolate;width:100vw;height:clamp(250px,38vh,400px);margin-inline:calc(50% - 50vw);position:relative;overflow:hidden}.ocean__scene{position:absolute;inset:0}.ocean__beams{background:repeating-linear-gradient(114deg, transparent 0 40px, color-mix(in oklab, var(--sun) 40%, transparent) 40px 56px, transparent 56px 120px);mix-blend-mode:screen;opacity:.5;pointer-events:none;position:absolute;inset:-20% -10% 0}.ocean[data-ocean-visible] .ocean__beams{animation:9s ease-in-out infinite alternate paused ocean-beams}.ocean[data-ocean-visible]:not([data-ocean-paused]) .ocean__beams{animation-play-state:running}@keyframes ocean-beams{0%{opacity:.32;transform:translate(-14px)}to{opacity:.6;transform:translate(14px)}}.ocean__floor{background:linear-gradient(to top, color-mix(in oklab, var(--water-deep) 85%, #000 10%), transparent);pointer-events:none;height:42%;position:absolute;inset:auto 0 0}.ocean__turtle{will-change:transform;width:clamp(104px,13vw,176px);position:absolute;top:15%;left:0;transform:translate(8vw)}.ocean[data-ocean-visible] .ocean__turtle{animation:48s linear infinite paused turtle-drift}.ocean[data-ocean-visible]:not([data-ocean-paused]) .ocean__turtle{animation-play-state:running}@keyframes turtle-drift{0%{transform:translate(-210px)}to{transform:translate(calc(100vw + 210px))}}.ocean__turtle-bob{transform:rotate(-4deg)}.ocean[data-ocean-visible] .ocean__turtle-bob{animation:6.5s ease-in-out infinite alternate paused turtle-bob}.ocean[data-ocean-visible]:not([data-ocean-paused]) .ocean__turtle-bob{animation-play-state:running}@keyframes turtle-bob{0%{transform:translateY(-8px)rotate(-5deg)}to{transform:translateY(10px)rotate(-1deg)}}.ocean__turtle-svg{width:100%;height:auto}.t-shell{fill:color-mix(in oklab, var(--water-deep) 72%, #06303a)}.t-scute{fill:color-mix(in oklab, var(--water-deep) 50%, var(--kelp) 30%)}.t-flipper,.t-neck,.t-head{fill:color-mix(in oklab, var(--water-deep) 80%, #072b33)}.t-eye{fill:var(--water-top)}.ocean__bubble{bottom:8%;left:var(--x);width:calc(14px * var(--scale,1));height:calc(14px * var(--scale,1));opacity:0;pointer-events:none;background:radial-gradient(circle at 34% 30%,#ffffffe6,#ffffff1f 70%);border-radius:50%;position:absolute;box-shadow:inset 0 0 0 1px #fff6}.ocean[data-ocean-visible] .ocean__bubble{animation:bubble-rise var(--dur,8s) linear var(--delay,0s) infinite;animation-play-state:paused}.ocean[data-ocean-visible]:not([data-ocean-paused]) .ocean__bubble{animation-play-state:running}@keyframes bubble-rise{0%{opacity:0;transform:translateY(0)translate(0)}12%{opacity:.85}80%{opacity:.7}to{opacity:0;transform:translateY(-300px)translate(12px)}}.ocean__kelp{pointer-events:none;height:58%;position:absolute;inset:auto 0 -2px}.ocean__kelp-svg{width:min(360px,60%);height:100%}.kelp{fill:color-mix(in oklab, var(--kelp) 72%, var(--water-deep));transform-box:fill-box;transform-origin:bottom;opacity:.9}.ocean[data-ocean-visible] .kelp{animation:7s ease-in-out infinite alternate paused kelp-sway}.ocean[data-ocean-visible]:not([data-ocean-paused]) .kelp{animation-play-state:running}.kelp--2{animation-duration:8.5s;animation-delay:-1.5s}.kelp--3{animation-duration:6.2s;animation-delay:-.6s}@keyframes kelp-sway{0%{transform:rotate(-3.5deg)}to{transform:rotate(3.5deg)}}.ocean__caption{z-index:2;text-align:center;align-content:center;justify-items:center;gap:.6rem;width:min(88%,34rem);margin-inline:auto;padding:clamp(1.25rem,3vw,2rem);display:grid;position:absolute;inset:0}.ocean__caption:before{content:"";z-index:-1;border-radius:var(--radius-lg);background:color-mix(in oklab, var(--surface) 88%, transparent);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;inset:0}.ocean__caption .display-l{margin:0;font-size:clamp(1.6rem,1.2rem + 1.8vw,2.3rem)}.ocean__text{max-width:34ch;color:var(--ink-soft);margin:0}.ocean__toggle{z-index:3;position:absolute;top:14px;right:14px}@media (prefers-reduced-motion:reduce){.ocean__beams,.ocean__turtle,.ocean__turtle-bob,.ocean__bubble,.kelp{animation:none!important}}.hero{padding-top:calc(var(--nav-offset) + clamp(1.5rem, 5vw, 3.5rem));padding-bottom:clamp(2rem,5vw,3.5rem)}.hero__grid{align-items:center;gap:clamp(1.75rem,4vw,3rem);display:grid}.hero__copy{justify-items:start;gap:1.25rem;display:grid}.hero__copy .lede{max-width:34ch}.hero__media{margin:0}.hero__media-inner{border-radius:var(--radius-xl);background:var(--surface-sunk);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-2);overflow:hidden}.hero__media img{aspect-ratio:4/3.3;object-fit:cover;width:100%}@media (width>=820px){.hero__grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}.hero__media img{aspect-ratio:4/4.4}}.serve__heading{max-width:18ch;margin-bottom:clamp(1.75rem,4vw,2.75rem)}.serve__grid{grid-template-columns:1fr;gap:1rem;display:grid}.serve-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-1);justify-items:start;gap:.6rem;padding:clamp(1.5rem,3vw,2rem);display:grid}.serve-card__icon{border-radius:var(--radius-pill);background:color-mix(in oklab, var(--teal) 16%, var(--surface));width:54px;height:54px;color:var(--teal);place-items:center;margin-bottom:.4rem;display:grid}.serve-card__icon .icon{width:26px;height:26px}.serve-card__text{color:var(--ink-soft)}@media (width>=720px){.serve__grid{grid-template-columns:repeat(3,1fr)}}.signature__grid{gap:clamp(1.75rem,4vw,3rem);display:grid}.signature__media{border-radius:var(--radius-lg);background:var(--surface-sunk);box-shadow:var(--shadow-1);margin:0 0 1.5rem;overflow:hidden}.signature__media img{aspect-ratio:5/4;object-fit:cover;width:100%}.signature__lead{justify-items:start;gap:1rem;display:grid}.signature__bowls{grid-template-columns:1fr;gap:1rem;display:grid}.bowl-card{border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-1);justify-items:start;gap:.6rem;padding:clamp(1.25rem,3vw,1.75rem);display:grid}.bowl-card__head{justify-content:space-between;align-items:baseline;gap:1rem;width:100%;display:flex}.bowl-card__name{margin:0}.bowl-card__price{font:650 1.2rem/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent-ink);flex:none}.bowl-card__desc{color:var(--ink-soft);font-size:.975rem}@media (width>=640px){.signature__bowls{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.signature__grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start}.signature__intro{top:calc(var(--nav-offset) + 1.5rem);position:sticky}}.build{background:var(--surface-sunk)}.build__head{justify-items:start;gap:1rem;max-width:48ch;margin-bottom:clamp(2rem,4vw,3rem);display:grid}.build__steps{counter-reset:step;grid-template-columns:1fr;gap:1.25rem;margin:0;padding:0;display:grid}.step{grid-template-columns:auto 1fr;align-items:start;gap:1rem;display:grid}.step__num{border-radius:var(--radius-pill);background:var(--accent);width:46px;height:46px;color:var(--on-accent);font:700 1.3rem/1 var(--font-display);font-variant-numeric:tabular-nums;place-items:center;display:grid}.step__body{gap:.35rem;display:grid}.step__title{font:650 1.2rem/1.2 var(--font-display);letter-spacing:-.01em;color:var(--heading);margin:0}.step__text{color:var(--ink-soft)}@media (width>=820px){.build__steps{grid-template-columns:repeat(3,1fr);gap:2rem}}.boba__grid{align-items:center;gap:clamp(1.75rem,4vw,3rem);display:grid}.boba__media{border-radius:var(--radius-lg);background:var(--surface-sunk);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-1);margin:0;overflow:hidden}.boba__media img{aspect-ratio:5/4;object-fit:cover;width:100%}.boba__copy{justify-items:start;gap:1rem;display:grid}@media (width>=820px){.boba__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.boba__media{order:2}}.reviews__head{justify-items:start;gap:.75rem;margin-bottom:clamp(1.75rem,4vw,2.75rem);display:grid}.reviews__rating{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:600}.reviews__grid{grid-template-columns:1fr;gap:1rem;display:grid}.review{border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-1);gap:.9rem;margin:0;padding:clamp(1.5rem,3vw,2rem);display:grid}.review__quote{color:var(--ink);margin:0;font-size:1.05rem;line-height:1.5}.review__by{color:var(--heading);gap:.1rem;font-weight:650;display:grid}.review__source{color:var(--ink-soft);font-size:.85rem;font-weight:400}@media (width>=720px){.reviews__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1040px){.reviews__grid{grid-template-columns:repeat(4,1fr)}}.visit__grid{align-items:center;gap:clamp(1.75rem,4vw,3rem);display:grid}.visit__details{justify-items:start;gap:1.25rem;display:grid}.visit__cols{grid-template-columns:1fr;gap:1.5rem 2.5rem;width:100%;display:grid}.visit__label{font:650 .8125rem/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 .5rem}.visit__address{line-height:1.5}.hours{gap:.3rem;margin:0;display:grid}.hours-row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:1.5rem;max-width:22rem;display:flex}.hours-row dt{color:var(--ink)}.hours-row dd{color:var(--ink-soft);margin:0}.visit__media{border-radius:var(--radius-lg);background:var(--surface-sunk);box-shadow:inset 0 0 0 1px var(--line), var(--shadow-2);margin:0;overflow:hidden}.visit__media img{aspect-ratio:4/3.4;object-fit:cover;width:100%}@media (width>=560px){.visit__cols{grid-template-columns:repeat(2,auto);justify-content:start;gap:1.5rem 3rem}}@media (width>=900px){.visit__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.menu-hero .page-hero__copy{max-width:44ch}.menu-body{padding-top:clamp(2rem,4vw,3rem)}.menu-section{scroll-margin-top:calc(var(--nav-offset) + 5.5rem);padding-top:clamp(2.5rem,5vw,4rem)}.menu-section+.menu-section{border-top:1px solid var(--line);margin-top:clamp(1rem,2vw,2rem)}.menu-section__head{gap:.5rem;margin-bottom:1.75rem;display:grid}.menu-section__note{color:var(--ink-soft);max-width:54ch}.menu-section__lede{color:var(--ink-soft);max-width:54ch;font-size:1.05rem}.menu-list{gap:1.25rem 3rem;margin:0;padding:0;display:grid}.menu-row{gap:.3rem;display:grid}.menu-row__line{align-items:baseline;gap:.75rem;margin:0;display:flex}.menu-row__name{font:600 1.1rem/1.3 var(--font-display);letter-spacing:-.01em;color:var(--heading)}.menu-row__line:before{content:"";border-bottom:1px dotted var(--line-strong);flex:1;order:1;align-self:end;margin-bottom:.3em}.menu-row__price{font:600 1.05rem/1.3 var(--font-text);font-variant-numeric:tabular-nums;color:var(--accent-ink);flex:none;order:2}.menu-row__desc{max-width:52ch;color:var(--ink-soft);font-size:.95rem}@media (width>=760px){.menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-list--bowls{grid-template-columns:1fr;max-width:64ch}}.build-step+.build-step{margin-top:2.25rem}.build-step__title{font:650 1.2rem/1.2 var(--font-display);letter-spacing:-.01em;color:var(--heading);margin:0 0 1rem}.build-step__text{max-width:60ch;color:var(--ink-soft)}.base-grid{grid-template-columns:1fr;gap:.875rem;display:grid}.base-card{border-radius:var(--radius-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);gap:.25rem;padding:1.1rem 1.25rem;display:grid}.base-card__name{font:650 1.05rem/1.2 var(--font-display);color:var(--heading);margin:0}.base-card__note{color:var(--ink-soft);margin:0;font-size:.9rem}.price-grid{grid-template-columns:1fr;gap:.5rem 2rem;margin:0;padding:0;display:grid}.price-cell{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;display:flex}.price-cell__name{color:var(--ink);font-weight:600}.price-cell__price{font-variant-numeric:tabular-nums;color:var(--accent-ink);flex:none;font-weight:600}@media (width>=560px){.base-grid{grid-template-columns:repeat(3,1fr)}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.menu-advisory{border-top:1px solid var(--line);max-width:70ch;color:var(--ink-soft);margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;font-size:.85rem}@page{size:letter;margin:.5in}@media print{.skip-link,.nav-sentinel,.site-header,.jump,.drift,.site-footer,body:after{display:none!important}body{color:#000;background:#fff;font-size:10.5pt}.js [data-reveal]{opacity:1!important;transform:none!important}.display-xl,.display-l,.display-m{color:#000}section{break-inside:avoid}a{text-decoration:none}}
