:root{--ivory:#faf7f2;--ink:#2a2024;--burgundy:#6b2233;--cream:#f8ede6;--sand:#f1e6da;--sand-text:#6b4a2e;--taupe:#8a7f76;--hairline:#e8e1d7;--body-text:#5a4f52}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--ivory);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.shell{max-width:440px;margin:0 auto;min-height:100vh;padding:28px 22px 40px;display:flex;flex-direction:column}.serif{font-family:Fraunces,Georgia,serif;font-weight:500}.brand{font-size:12px;letter-spacing:3px;color:var(--taupe);margin-bottom:4px}h1{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:30px;line-height:1.2;margin-bottom:6px}.sub{font-size:14px;color:var(--taupe);line-height:1.5;margin-bottom:26px}.card{background:#fff;border:1px solid var(--hairline);border-radius:16px;padding:18px;margin-bottom:12px}.card.tap{cursor:pointer;transition:border-color .15s ease}.card.tap:hover{border-color:var(--burgundy)}.card-title{font-size:15px;font-weight:500}.card-sub{font-size:12.5px;color:var(--taupe);margin-top:2px;line-height:1.5}.icon{font-size:22px;color:var(--burgundy)}.row{display:flex;gap:14px;align-items:center}.bbtn{display:block;width:100%;background:var(--burgundy);color:var(--cream);border:none;border-radius:14px;padding:15px;font-size:15px;font-weight:500;font-family:inherit;cursor:pointer;margin-top:6px}.bbtn:disabled{opacity:.5;cursor:default}.gbtn{display:block;width:100%;background:transparent;color:var(--burgundy);border:1px solid #d8c9bc;border-radius:14px;padding:13px;font-size:14px;font-family:inherit;cursor:pointer;margin-top:10px}.pill{display:inline-block;background:var(--sand);color:var(--sand-text);font-size:11px;padding:4px 11px;border-radius:999px}.pill.dark{background:var(--burgundy);color:var(--cream)}.chip{display:inline-block;background:#fff;border:1px solid #d8c9bc;color:var(--ink);font-size:13px;padding:9px 15px;border-radius:999px;cursor:pointer;margin:0 6px 8px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip.sel{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy)}input[type=text],textarea{width:100%;background:var(--ivory);border:1px solid #d8c9bc;border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;color:var(--ink);outline:none}input[type=text]:focus,textarea:focus{border-color:var(--burgundy)}textarea{min-height:80px;resize:vertical}.back{font-size:13px;cursor:pointer;margin-bottom:16px;background:none;border:none;font-family:inherit;padding:0;text-align:left}.back,.label{color:var(--taupe)}.label{font-size:11.5px;letter-spacing:1.5px;margin:24px 0 10px;text-transform:uppercase}.muted{color:var(--taupe);font-size:13px}.rationale{font-size:13px;line-height:1.6;color:var(--body-text)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;min-height:50vh;text-align:center}.spinner{width:36px;height:36px;border:2px solid var(--hairline);border-top-color:var(--burgundy);border-radius:50%;animation:spin .9s linear infinite;margin-bottom:18px}@keyframes spin{to{transform:rotate(1turn)}}.errbox{background:#fcebeb;border:1px solid #f0c0c0;border-radius:12px;padding:14px;font-size:13.5px;color:#791f1f;margin-bottom:14px;line-height:1.5}.footer{margin-top:auto;padding-top:36px;font-size:11px;color:var(--taupe);text-align:center;line-height:1.7}.divider{border:none;border-top:1px solid var(--hairline);margin:12px 0}.buy-note{font-size:11px;color:var(--taupe);text-align:center;margin-top:8px}.alt-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.hero-card{border:1.5px solid var(--burgundy)}.wine-avatar{width:44px;height:44px;border-radius:50%;background:var(--burgundy);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}ol.steps,ul.ingredients{padding-left:20px;font-size:14px;line-height:1.7;color:var(--body-text)}ol.steps li{margin-bottom:8px}.how-step{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.how-n{width:26px;height:26px;border-radius:50%;background:var(--burgundy);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.card.dark{background:var(--ink);border-color:var(--ink)}.card.dark .serif{color:var(--cream)}.card.dark .card-sub{color:hsla(23,56%,94%,.65)}.card.dark .icon{color:var(--cream)}.tb{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;padding:3px 10px;border-radius:999px;border:1px solid var(--hairline);background:#fff;vertical-align:middle}.tb .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.hero-wash{background:linear-gradient(180deg,#f2dfd8,#f6eae2 50%,#faf7f2);margin:-28px -22px 8px;padding:34px 22px 16px}.hero-wash,.hero-wash>*{position:relative}.vines{position:absolute;top:0;left:0;width:100%;opacity:.12;pointer-events:none}.pc{display:inline-flex;align-items:center;gap:5px;background:hsla(0,0%,100%,.75);border:1px solid #dcc8bc;font-size:11.5px;padding:6px 11px;border-radius:999px;margin:0 5px 6px 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pc b{font-weight:500;color:var(--burgundy)}.ob-row{display:flex;gap:10px}.ob-card{flex:1 1;background:#fff;border:1px solid var(--hairline);border-radius:16px;padding:14px;cursor:pointer}.fb-row{display:flex;gap:10px;margin:14px 0 4px}.fbb{flex:1 1;background:#fff;border:1px solid #d8c9bc;border-radius:12px;padding:10px;font-size:13px;text-align:center;cursor:pointer;color:var(--burgundy);font-family:inherit}.fbb.on{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy)}@media (min-width:600px){.shell{padding-top:40px}.hero-wash{width:100vw;margin:-40px calc(50% - 50vw) 8px;padding:48px calc(50vw - 198px) 16px}}.shell.wide{max-width:560px}.wine-card{display:flex;flex-direction:column}.buy-push{margin-top:auto;padding-top:12px}@media (min-width:900px){.shell.wide{max-width:980px}.shell.home{max-width:960px}.shell.home .hero-wash{padding-left:calc(50vw - 458px);padding-right:calc(50vw - 458px)}.home-cols{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:36px;gap:36px;align-items:start}.wine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:stretch;margin-bottom:12px}.wine-grid .card{margin-bottom:0}.guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.guides-grid .card{margin-bottom:0;height:100%}}