@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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{--brand-blue:#266298;--brand-blue-deep:#1b4a74;--brand-red:#dc3e38;--color-ink:#1f272c;--color-ink-soft:#3e474b;--color-ink-deep:#161d21;--color-muted:#5d6970;--color-accent:var(--brand-blue);--color-accent-hover:var(--brand-blue-deep);--color-accent-light:#4f86b8;--color-accent-soft:#e7eff7;--color-accent-glow:#26629838;--color-bg:#f3f5f7;--color-bg-soft:#e9edf1;--color-bg-hover:#e1e6eb;--color-surface:#fff;--color-cream:var(--color-bg);--color-cream-dark:var(--color-bg-soft);--color-success:#1e7a4c;--color-success-soft:#e4f3ea;--color-danger:#b8322b;--color-danger-soft:#fbeae9;--color-warning:#9a5a06;--color-warning-soft:#fcf1df;--color-border:#dce1e6;--color-border-strong:#c2cad1;--color-border-accent:#26629859;--font-body:"Archivo Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--header-h:68px;--breadcrumb-h:44px;--content-max:1240px;--page-pad:clamp(16px, 4vw, 40px);--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--shadow-xs:0 1px 1px #161d210a;--shadow-sm:0 1px 3px #161d2114;--shadow-md:0 6px 18px #161d211a;--shadow-lg:0 14px 36px #161d2124;--shadow-xl:0 22px 54px #161d212e;--transition:.18s cubic-bezier(.2, 0, 0, 1);--transition-fast:.1s cubic-bezier(.2, 0, 0, 1);--transition-slow:.3s cubic-bezier(.2, 0, 0, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:calc(var(--header-h) + 12px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-bg);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--color-ink-deep);font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;line-height:1.15}h1{letter-spacing:-.02em;font-size:clamp(2rem,4.2vw,3.25rem);font-weight:720;font-stretch:122%}h2{font-size:clamp(1.45rem,2.6vw,2rem);font-weight:680;font-stretch:112%}h3{font-size:1.15rem;font-weight:650}p{text-wrap:pretty}a{color:var(--color-accent);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-accent-soft)}.page-shell{width:100%;max-width:calc(var(--content-max) + 2 * var(--page-pad));padding:2.5rem var(--page-pad) 3.5rem;margin:0 auto}.page-shell--bar{padding-top:.9rem;padding-bottom:.9rem}.page-shell--hero{padding-top:3rem;padding-bottom:3rem}.page-shell--grid{padding-top:2rem;padding-bottom:4rem}.page-title{letter-spacing:-.02em;margin:0 0 .6rem;font-size:clamp(1.9rem,4vw,2.75rem);font-weight:720;font-stretch:122%}.page-lead{max-width:62ch;color:var(--color-muted);margin:0 0 2rem;font-size:1.075rem}.section-title{margin:0 0 .75rem;font-size:clamp(1.45rem,2.6vw,2rem);font-weight:680;font-stretch:112%}.section-subtitle{max-width:62ch;color:var(--color-muted);margin:0 0 2rem}.surface-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.surface-card--elevated{box-shadow:var(--shadow-sm)}.surface-card--interactive{cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition)}.surface-card--interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-md);min-height:44px;color:var(--color-ink);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition), border-color var(--transition), color var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1.25rem;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);color:#fff}.btn-secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){border-color:var(--color-ink-soft);color:var(--color-ink-deep)}.btn-ghost{color:var(--color-accent)}.btn-ghost:hover:not(:disabled){background:var(--color-accent-soft)}.btn-sm{min-height:36px;padding:0 .9rem;font-size:.875rem}.btn-block{width:100%}.btn-retry{margin-top:1rem}.btn-hero{color:var(--color-ink-deep);background:#fff}.btn-hero:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-ink-deep)}.btn-hero-outline{color:#fff;border-color:#ffffff8c}.btn-hero-outline:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#fff}.alert{border-radius:var(--radius-md);border:1px solid #0000;margin:0 0 1.25rem;padding:.8rem 1rem;font-size:.95rem}.alert-error{background:var(--color-danger-soft);color:var(--color-danger);border-color:#b8322b33}.alert-success{background:var(--color-success-soft);color:var(--color-success);border-color:#1e7a4c33}.alert-info{background:var(--color-accent-soft);border-color:var(--color-border-accent);color:var(--color-ink-soft)}.empty-state-block{text-align:center;color:var(--color-muted);padding:3rem 1.5rem}.field-label{color:var(--color-ink-soft);margin-bottom:.4rem;font-size:.875rem;font-weight:600;display:block}.input,.select,.field-input,.field-textarea,.field-select,.qty-select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-ink);transition:border-color var(--transition), box-shadow var(--transition);padding:.6rem .8rem;font-size:1rem}.input:hover,.field-input:hover,.field-textarea:hover,.field-select:hover,.qty-select:hover{border-color:var(--color-muted)}.input:focus,.select:focus,.field-input:focus,.field-textarea:focus,.field-select:focus,.qty-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow);outline:none}.field-textarea,textarea.input{resize:vertical;min-height:132px;line-height:1.55}.field-select,.qty-select,select.input{cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}.badge-pill{border-radius:var(--radius-pill);align-items:center;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge-accent{background:var(--color-accent);color:#fff}.badge-soft{background:var(--color-accent-soft);color:var(--color-accent-hover)}.picker-grid{flex-wrap:wrap;gap:.5rem;display:flex}.picker-chip{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);min-height:40px;color:var(--color-ink);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);padding:0 .95rem;font-size:.95rem;font-weight:500}.picker-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.picker-chip.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.loading-state{padding:4rem var(--page-pad);text-align:center;color:var(--color-muted)}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:32px;height:32px;margin:0 auto 1rem;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.error-boundary[data-v-094833ce]{place-items:center;min-height:50vh;padding:2rem;display:grid}.error-card[data-v-094833ce]{text-align:center;max-width:420px;padding:2rem}.error-card h2[data-v-094833ce]{margin:0 0 .75rem}.error-card p[data-v-094833ce]{color:var(--color-muted);margin:0 0 1.25rem}.whatsapp-fab[data-v-851bc1ce]{z-index:900;color:#fff;width:3.5rem;height:3.5rem;box-shadow:var(--shadow-lg);transition:transform var(--transition), box-shadow var(--transition);background:#25d366;border-radius:50%;place-items:center;text-decoration:none;display:grid;position:fixed;bottom:1.25rem;right:1.25rem}.whatsapp-fab svg[data-v-851bc1ce]{width:1.9rem;height:1.9rem}.whatsapp-fab[data-v-851bc1ce]:hover{color:#fff;transform:translateY(-3px);box-shadow:0 12px 28px #25d36659}.whatsapp-fab[data-v-851bc1ce]:focus-visible{outline-offset:3px;outline:3px solid #25d36659}@media print{.whatsapp-fab[data-v-851bc1ce]{display:none!important}}.app-container[data-v-8411fe1c]{flex-direction:column;min-height:100vh;display:flex}.skip-link[data-v-8411fe1c]{z-index:2000;background:var(--color-surface);color:var(--color-ink-deep);padding:.75rem 1rem;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link[data-v-8411fe1c]:focus{left:0}.app-header[data-v-8411fe1c]{z-index:1000;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:saturate(1.4)blur(8px);backdrop-filter:saturate(1.4)blur(8px);background:#fffffff5;position:sticky;top:0}.header-inner[data-v-8411fe1c]{max-width:calc(var(--content-max) + 2 * var(--page-pad));height:var(--header-h);padding:0 var(--page-pad);justify-content:space-between;align-items:center;gap:1.5rem;margin:0 auto;display:flex}.logo-link[data-v-8411fe1c]{flex-shrink:0;display:inline-flex}.brand-logo[data-v-8411fe1c]{width:min(188px,48vw);height:auto}.menu-btn[data-v-8411fe1c]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:44px;height:44px;color:var(--color-ink);cursor:pointer;justify-content:center;align-items:center;display:none}.main-nav[data-v-8411fe1c]{align-items:center;gap:.25rem;display:flex}.main-nav>a[data-v-8411fe1c]{border-radius:var(--radius-md);min-height:40px;color:var(--color-ink-soft);align-items:center;gap:.45rem;padding:0 .8rem;font-size:.95rem;font-weight:550;display:inline-flex;position:relative}.main-nav>a[data-v-8411fe1c]:hover{color:var(--color-ink-deep);background:var(--color-bg)}.main-nav>a.router-link-active[data-v-8411fe1c]{color:var(--color-accent)}.main-nav>a.router-link-active[data-v-8411fe1c]:after{content:"";background:var(--color-accent);height:2px;position:absolute;bottom:-14px;left:.8rem;right:.8rem}.main-nav>.nav-quote[data-v-8411fe1c]{border:1px solid var(--color-border-strong);color:var(--color-ink);margin-left:.5rem}.main-nav>.nav-quote[data-v-8411fe1c]:hover{border-color:var(--color-ink-soft);background:var(--color-surface)}.main-nav>.nav-quote.router-link-active[data-v-8411fe1c]:after{display:none}.cart-badge[data-v-8411fe1c]{border-radius:var(--radius-pill);background:var(--brand-red);color:#fff;font-variant-numeric:tabular-nums;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-grid}.app-main[data-v-8411fe1c]{flex:1}.app-footer[data-v-8411fe1c]{background:var(--color-ink-deep);color:#ffffffb8}.footer-grid[data-v-8411fe1c]{max-width:calc(var(--content-max) + 2 * var(--page-pad));padding:3.5rem var(--page-pad) 2.5rem;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:2.5rem;margin:0 auto;display:grid}.footer-brand img[data-v-8411fe1c]{filter:brightness(0)invert();width:160px;height:auto;margin-bottom:1rem}.footer-brand p[data-v-8411fe1c]{max-width:36ch;margin:0;font-size:.95rem}.footer-title[data-v-8411fe1c]{color:#fff;letter-spacing:.01em;margin:0 0 .9rem;font-size:.95rem;font-weight:650;font-stretch:112%}.footer-links[data-v-8411fe1c]{gap:.5rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:grid}.footer-links a[data-v-8411fe1c]{color:#ffffffb8}.footer-links a[data-v-8411fe1c]:hover{color:#fff}.footer-bottom[data-v-8411fe1c]{max-width:calc(var(--content-max) + 2 * var(--page-pad));padding:1.25rem var(--page-pad) 1.5rem;color:#ffffff80;border-top:1px solid #ffffff1a;margin:0 auto;font-size:.85rem}.footer-bottom p[data-v-8411fe1c]{margin:0}.page-fade-enter-active[data-v-8411fe1c],.page-fade-leave-active[data-v-8411fe1c]{transition:opacity .14s}.page-fade-enter-from[data-v-8411fe1c],.page-fade-leave-to[data-v-8411fe1c]{opacity:0}@media (width<=980px){.menu-btn[data-v-8411fe1c]{display:inline-flex}.main-nav[data-v-8411fe1c]{inset:var(--header-h) 0 auto 0;padding:.5rem var(--page-pad) 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:0;display:none;position:fixed}.main-nav.open[data-v-8411fe1c]{display:flex}.main-nav>a[data-v-8411fe1c]{border-bottom:1px solid var(--color-border);border-radius:0;min-height:48px;padding:0 .25rem;font-size:1.05rem}.main-nav>a.router-link-active[data-v-8411fe1c]:after{display:none}.main-nav>.nav-quote[data-v-8411fe1c]{border-radius:var(--radius-md);justify-content:center;margin:.75rem 0 0}.footer-grid[data-v-8411fe1c]{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand[data-v-8411fe1c]{grid-column:1/-1}}@media (width<=560px){.footer-grid[data-v-8411fe1c]{grid-template-columns:minmax(0,1fr);gap:2rem}}
