@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.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{color-scheme:light dark;--bg:light-dark(#f3f6f8,#152332);--surface:light-dark(#fff,#1c3042);--ink:light-dark(#173750,#e3eff7);--muted:light-dark(#546c7d,#afc3d2);--accent:light-dark(#1f597c,#92cbea);--line:light-dark(#d2dfe6,#3d5265);--soft:light-dark(#e1ebf0,#294356);--on:light-dark(#fff,#142a3b);--radius:8px;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:DM Sans Variable,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55}a{color:var(--accent);text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}button,a,input,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Fraunces Variable,Georgia,serif;font-weight:400;line-height:1.15}h1{letter-spacing:-.045em;font-size:clamp(2.4rem,5vw,3.4rem)}h2{letter-spacing:-.025em;font-size:1.65rem}h3{font-size:1.25rem}strong{font-weight:500}img{max-width:100%;height:auto;display:block}.shell,.header-inner,.footer-inner{max-width:1120px;margin:0 auto;padding-inline:32px}.shell{min-height:65vh;padding-block:38px 54px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:83px;display:flex}.brand{letter-spacing:-.04em;color:var(--ink);align-items:center;gap:10px;font-family:Fraunces Variable,Georgia,serif;font-size:1.6rem;font-weight:500;text-decoration:none;display:inline-flex}.brand svg{width:25px;height:25px}.header-region{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.nav-link{align-items:center;min-height:44px;font-size:.9rem;text-decoration:none;display:inline-flex}.preview-bar{text-align:center;background:var(--soft);color:var(--ink);padding:8px 20px;font-size:.75rem}.preview-bar span{color:var(--muted)}.hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;margin-bottom:32px;display:grid}.hero h1{margin:16px 0 20px}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-size:.69rem;font-weight:500}.lede{color:var(--muted);max-width:500px;font-size:1rem;line-height:1.7}.hero-figure{position:relative}.hero-figure img{aspect-ratio:1.58;object-fit:cover;border-radius:var(--radius);width:100%}.hero-figure figcaption{background:var(--surface);color:var(--muted);border-radius:4px;padding:3px 7px;font-size:.65rem;position:absolute;bottom:10px;right:10px}.search-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:13px;min-height:60px;margin-bottom:25px;padding:7px 17px;display:flex}.search-form svg{color:var(--muted)}.search-form input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;min-height:44px;font-size:1rem}.search-form input::placeholder{color:var(--muted)}.clear-search,.text-button{color:var(--accent);text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:10px;text-decoration:underline}.collection-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:17px;display:flex}.collection-heading h2{letter-spacing:0;font-family:inherit;font-size:1rem}.small{color:var(--muted);font-size:.8rem}.muted{color:var(--muted)}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.recipe-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .15s;overflow:hidden}.recipe-card:hover{border-color:var(--accent)}.card-link{color:var(--ink);height:100%;text-decoration:none;display:block}.card-link:focus-visible{outline-offset:-4px}.card-image{position:relative}.card-image img{aspect-ratio:1.6;object-fit:cover;width:100%}.image-label{background:var(--surface);color:var(--muted);border-radius:4px;padding:3px 7px;font-size:.65rem;position:absolute;bottom:8px;left:8px}.card-copy{padding:20px}.card-copy h2{margin:8px 0;font-size:1.55rem}.card-copy>.muted{font-size:.87rem}.card-context{letter-spacing:.045em;color:var(--muted);font-size:.65rem}.card-action{color:var(--accent);justify-content:space-between;align-items:center;margin-top:27px;font-size:.8rem;display:flex}.empty-state{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:38px 24px}.empty-state p{color:var(--muted);max-width:560px;margin:12px 0}.empty-state .text-button{padding-left:0}.launch-state{margin-top:30px}.site-footer{border-top:1px solid var(--line)}.footer-inner{color:var(--muted);justify-content:space-between;gap:20px;padding-block:23px;font-size:.75rem;display:flex}.back-link{align-items:center;gap:8px;min-height:44px;margin-bottom:20px;font-size:.85rem;text-decoration:none;display:inline-flex}.recipe-head{grid-template-columns:1.25fr .75fr;align-items:center;gap:40px;display:grid}.recipe-head h1{margin:12px 0 16px}.recipe-head img{aspect-ratio:1.5;object-fit:cover;border-radius:var(--radius);width:100%}.tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.tags span{background:var(--soft);border-radius:4px;padding:5px 10px;font-size:.78rem}.jump-links{flex-wrap:wrap;gap:10px;margin:30px 0;display:flex}.jump-links a{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:44px;padding:9px 15px;font-size:.88rem;text-decoration:none}.recipe-columns{grid-template-columns:.85fr 1.15fr;align-items:start;gap:40px;display:grid}section[id]{scroll-margin-top:25px}.gear-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.gear-panel h2{margin-bottom:18px}.gear-list{margin:0;padding:0;list-style:none}.gear-list li{border-top:1px solid var(--line);padding:13px 0}.gear-list label{cursor:pointer;align-items:start;gap:11px;min-height:44px;display:flex}.gear-list input{accent-color:var(--accent);flex-shrink:0;width:18px;height:18px;margin:4px 0 0}.gear-list .gear-name{font-weight:500;display:block}.gear-list .small{margin-top:3px;display:block}.gear-list label:has(input:checked) .gear-name{color:var(--muted);text-decoration:line-through}.gear-link{align-items:center;gap:6px;min-height:44px;margin-left:29px;font-size:.8rem;display:inline-flex}.checklist-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.checklist-footer button{font-size:.8rem}.steps{counter-reset:step;margin:22px 0 35px;padding:0;list-style:none}.steps li{counter-increment:step;padding:0 0 23px 40px;position:relative}.steps li:before{content:counter(step);background:var(--soft);width:26px;height:26px;color:var(--accent);border-radius:50%;place-items:center;font-size:.8rem;display:grid;position:absolute;top:0;left:0}.steps h3{letter-spacing:0;font-family:inherit;font-size:1rem;font-weight:500;line-height:1.5}.steps p{color:var(--muted);margin-top:5px;font-size:.93rem}.tip{background:var(--soft);border-radius:var(--radius);margin-top:15px;padding:17px 20px;font-size:.92rem}.bait-note{border-top:1px solid var(--line);margin-bottom:32px;padding-top:22px}.bait-note p{color:var(--muted);margin-top:12px;font-size:.92rem}.video-section{border-top:1px solid var(--line);margin-top:35px;padding-top:28px}.video-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:18px;margin-top:20px;padding:20px;display:flex}.video-play{background:var(--soft);color:var(--accent);border-radius:50%;padding:15px}.video-title{font-size:1rem}.chapters{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.chapters a{align-items:center;min-height:44px;font-size:.8rem;display:inline-flex}.editorial-notes{border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface);margin:25px 0;padding:16px 20px;font-size:.85rem}.editorial-notes summary{cursor:pointer;min-height:30px;color:var(--accent);align-content:center}.editorial-notes ul{color:var(--muted);padding-left:20px;line-height:1.8}.illustration-note{color:var(--muted);margin-bottom:20px;font-size:.8rem}.button{background:var(--accent);min-height:44px;color:var(--on);border-radius:var(--radius);align-items:center;padding:12px 18px;text-decoration:none;display:inline-flex}.error-page{margin-block:40px}.error-page h1{margin-block:20px}.error-page .button{margin-top:10px}.sr-only{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{background:var(--surface);z-index:10;padding:12px;position:absolute;top:-100px;left:15px}.skip-link:focus{top:8px}@media (width<=760px){.shell,.header-inner,.footer-inner{padding-inline:22px}.header-region{display:none}.hero{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:2.45rem}.desktop-break{display:none}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-columns{grid-template-columns:1fr;gap:30px}.recipe-head{grid-template-columns:1fr 1fr;gap:25px}}@media (width<=520px){.shell{padding-block:26px 38px}.header-inner{gap:10px;min-height:73px}.brand{font-size:1.35rem}.nav-link{font-size:.8rem}.hero,.recipe-head{grid-template-columns:1fr;gap:22px}.hero h1{font-size:2.7rem}.hero-figure img{aspect-ratio:1.65}.hero{margin-bottom:25px}.recipe-grid{grid-template-columns:1fr}.recipe-head h1{font-size:2.65rem}.recipe-head img{aspect-ratio:1.75}.collection-heading{flex-wrap:wrap;gap:5px}.footer-inner{flex-direction:column;gap:5px}.gear-panel{padding:20px}.video-card{align-items:flex-start;gap:13px;padding:17px}.video-play{padding:9px}.preview-bar span{display:block}.back-link{margin-bottom:16px}.jump-links{gap:7px}.jump-links a{padding-inline:11px;font-size:.8rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
