@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&family=Bebas+Neue&family=DM+Sans:wght@300;400;500&display=swap";@tailwind base;@tailwind components;@tailwind utilities;:root{--obsidian: #07040a;--deep: #0f080f;--surface: #180d18;--surface-2: #221522;--surface-3: #2e1d2e;--rim: #3d253d;--rim-light: #5a3a5a;--wine: #9b1a35;--wine-mid: #c1253f;--wine-bright: #e8304e;--wine-dim: rgba(155, 26, 53, .15);--wine-bdr: rgba(155, 26, 53, .35);--gold: #c9923a;--gold-bright: #e8b558;--gold-dim: rgba(201, 146, 58, .12);--gold-bdr: rgba(201, 146, 58, .3);--champagne: #f4dfa8;--cream: #f0e6d4;--cream-muted: #c8b89a;--cream-dim: rgba(240, 230, 212, .07);--green: #3eb87a;--green-dim: rgba(62, 184, 122, .12);--green-bdr: rgba(62, 184, 122, .3);--text-primary: #f0e6d4;--text-secondary: #a8907a;--text-muted: #6e5a52;--font-display: "Bebas Neue", "Impact", sans-serif;--font-serif: "Cormorant Garamond", "Georgia", serif;--font-body: "DM Sans", "Helvetica Neue", sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 48px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 22px;--glow-wine: 0 0 28px rgba(193, 37, 63, .22), 0 0 56px rgba(155, 26, 53, .1);--glow-gold: 0 0 20px rgba(201, 146, 58, .2);--shadow-card: 0 4px 24px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .7);--shadow-deep: 0 8px 40px rgba(0, 0, 0, .7), 0 2px 8px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--obsidian);color:var(--text-primary);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}body{background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(155,26,53,.18) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 100% 80%,rgba(201,146,58,.06) 0%,transparent 60%),var(--obsidian);min-height:100dvh}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse-glow{0%,to{box-shadow:var(--glow-wine)}50%{box-shadow:0 0 40px #c1253f59,0 0 80px #9b1a3526}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-7px);opacity:1}}@keyframes deco-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.animate-up{animation:fadeUp .45s cubic-bezier(.22,1,.36,1) both}.app-root{position:relative;z-index:1;max-width:540px;margin:0 auto;padding-bottom:var(--sp-8);min-height:100dvh}.hero{position:relative;padding:var(--sp-7) var(--sp-5) var(--sp-6);text-align:center;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;width:80px;height:80px;border:1px solid rgba(201,146,58,.18);pointer-events:none}.hero:before{top:14px;left:14px;border-right:none;border-bottom:none}.hero:after{top:14px;right:14px;border-left:none;border-bottom:none}.hero-inner{position:relative;z-index:1}.eyebrow{font-family:var(--font-body);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.75;margin-bottom:var(--sp-1)}.wordmark{font-family:var(--font-display);font-size:clamp(52px,14vw,72px);letter-spacing:.06em;line-height:1;background:linear-gradient(105deg,var(--gold) 0%,var(--champagne) 35%,var(--gold-bright) 50%,var(--champagne) 65%,var(--gold) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 5s linear infinite;text-shadow:none}.tagline{font-family:var(--font-serif);font-size:13px;font-style:italic;font-weight:300;color:var(--text-secondary);letter-spacing:.05em;margin-top:var(--sp-1)}.hero-inner:after{content:"";display:block;width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);margin:var(--sp-3) auto 0;animation:deco-line .8s .3s cubic-bezier(.22,1,.36,1) both}.venue-badge{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--rim);border-radius:100px;padding:5px 14px 5px 16px;font-size:12px;font-weight:500;color:var(--cream-muted);letter-spacing:.03em;margin-top:var(--sp-4);box-shadow:0 2px 12px #0006}.venue-change{background:var(--surface-2);border:1px solid var(--rim-light);border-radius:100px;color:var(--gold);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;cursor:pointer;transition:all .2s}.venue-change:hover{background:var(--gold-dim);border-color:var(--gold-bdr);color:var(--gold-bright)}.top-nav{position:sticky;top:0;z-index:100;background:#07040ad9;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--rim);padding:var(--sp-2) var(--sp-4)}.top-nav-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);max-width:540px;margin:0 auto}.top-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:1px solid transparent;border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:all .2s;color:var(--text-muted)}.top-btn:hover{background:var(--cream-dim);color:var(--cream-muted)}.top-btn.on{background:var(--wine-dim);border-color:var(--wine-bdr);color:var(--cream);box-shadow:var(--glow-wine)}.top-btn-title{font-family:var(--font-display);font-size:16px;letter-spacing:.1em}.top-btn-sub{font-size:9px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.body{padding:var(--sp-5) var(--sp-4)}.onboarding{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:var(--sp-7) var(--sp-5);text-align:center;gap:var(--sp-5);animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both}.onboarding .eyebrow{font-size:11px;letter-spacing:.25em;color:var(--gold)}.onboarding .wordmark{font-size:clamp(62px,18vw,96px)}.onboarding:before{font-size:10px;color:#c9923a4d;letter-spacing:.3em;display:block;position:absolute;top:40px}.onboard-q{font-family:var(--font-serif);font-size:17px;font-style:italic;font-weight:300;color:var(--cream-muted);letter-spacing:.02em}.onboard-role-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);width:100%;max-width:360px}.onboard-role-btn{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);padding:var(--sp-5) var(--sp-4);background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-xl);cursor:pointer;transition:all .25s cubic-bezier(.22,1,.36,1);color:var(--text-primary)}.onboard-role-btn:hover{background:var(--surface-2);border-color:var(--wine-mid);box-shadow:var(--glow-wine);transform:translateY(-3px)}.role-title{font-family:var(--font-display);font-size:20px;letter-spacing:.12em;color:var(--champagne)}.role-sub{font-size:10px;font-weight:400;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.onboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);width:100%;max-width:400px}.onboard-btn{padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-md);color:var(--cream-muted);font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .2s}.onboard-btn:hover{background:var(--surface-2);border-color:var(--gold-bdr);color:var(--champagne);box-shadow:var(--glow-gold)}.onboard-back{background:none;border:none;color:var(--text-muted);font-size:13px;letter-spacing:.04em;cursor:pointer;padding:var(--sp-2);transition:color .2s}.onboard-back:hover{color:var(--cream-muted)}.field{flex:1;background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-md);padding:13px 16px;color:var(--text-primary);font-family:var(--font-body);font-size:14px;transition:border-color .2s,box-shadow .2s;outline:none;width:100%}.field::placeholder{color:var(--text-muted);font-style:italic}.field:focus{border-color:var(--wine-mid);box-shadow:0 0 0 3px #9b1a3526}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:13px 20px;background:var(--wine);border:1px solid var(--wine-mid);border-radius:var(--r-md);color:var(--champagne);font-family:var(--font-display);font-size:15px;letter-spacing:.12em;cursor:pointer;transition:all .2s cubic-bezier(.22,1,.36,1);white-space:nowrap;box-shadow:0 2px 12px #9b1a3559}.btn:hover:not(:disabled){background:var(--wine-mid);border-color:var(--wine-bright);box-shadow:var(--glow-wine);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.wide{width:100%;margin-top:var(--sp-3)}.row{display:flex;gap:var(--sp-2);align-items:stretch}.step-label,.section-label{font-family:var(--font-serif);font-size:14px;font-style:italic;font-weight:400;color:var(--cream-muted);letter-spacing:.03em;margin-bottom:var(--sp-3)}.server-mode{display:flex;flex-direction:column;gap:var(--sp-4)}.table-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.table-btn{padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-md);color:var(--cream-muted);font-family:var(--font-body);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:all .18s;position:relative;overflow:hidden}.table-btn:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--wine);opacity:0;transition:opacity .2s}.table-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--wine-bdr);color:var(--cream)}.table-btn:hover:before{opacity:1}.table-btn:disabled{opacity:.35}.custom-row{display:flex;gap:var(--sp-2);margin-top:var(--sp-1)}.server-result{display:flex;flex-direction:column;gap:var(--sp-4)}.server-card{background:var(--surface);border:1px solid var(--wine-bdr);border-radius:var(--r-xl);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);box-shadow:var(--shadow-card),0 0 30px #9b1a3514;position:relative;overflow:hidden}.server-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--wine-mid),var(--gold),var(--wine-mid),transparent);opacity:.6}.sc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-3)}.sc-wine{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--champagne);line-height:1.2}.sc-region{font-size:12px;color:var(--text-muted);letter-spacing:.05em;margin-top:3px;text-transform:uppercase}.sc-price{font-family:var(--font-display);font-size:26px;letter-spacing:.04em;color:var(--gold-bright);white-space:nowrap}.sc-upsell{background:var(--surface-2);border:1px solid var(--rim);border-left:3px solid var(--wine-mid);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.sc-eye{font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--wine-bright);margin-bottom:var(--sp-1)}.sc-script{font-family:var(--font-serif);font-size:15px;font-style:italic;color:var(--cream);line-height:1.55}.sc-foot{display:flex;gap:var(--sp-2);align-items:baseline;font-size:12.5px;padding-top:var(--sp-2);border-top:1px solid var(--surface-3)}.lbl{font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.val{color:var(--cream-muted);line-height:1.4;font-size:13px}.tip-calc{display:flex;align-items:center;justify-content:space-between;background:var(--gold-dim);border:1px solid var(--gold-bdr);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.tip-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);opacity:.7}.tip-highlight{font-family:var(--font-display);font-size:20px;letter-spacing:.06em;color:var(--gold-bright)}.rating-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.rating-label{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.rating-btns{display:flex;gap:var(--sp-2)}.rate-btn{padding:7px 16px;background:var(--surface-2);border:1px solid var(--rim);border-radius:var(--r-sm);color:var(--cream-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.rate-btn:hover{background:var(--surface-3);border-color:var(--rim-light);color:var(--cream)}.objection-section{display:flex;flex-direction:column}.obj-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.obj-btn{display:flex;flex-direction:column;gap:3px;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-md);text-align:left;cursor:pointer;transition:all .2s}.obj-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--wine-bdr)}.obj-label{font-size:13px;font-weight:500;color:var(--cream-muted);transition:color .2s}.obj-btn:hover .obj-label{color:var(--cream)}.obj-desc{font-size:10px;color:var(--text-muted);letter-spacing:.02em}.pivot-card{background:var(--surface);border:1px solid var(--gold-bdr);border-radius:var(--r-xl);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);box-shadow:var(--glow-gold),var(--shadow-card)}.pivot-eye{font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.pivot-wine{font-family:var(--font-serif);font-size:20px;font-weight:600;color:var(--champagne)}.pivot-region{font-size:12px;color:var(--text-muted);letter-spacing:.04em}.pivot-script{font-family:var(--font-serif);font-size:14px;font-style:italic;color:var(--cream-muted);line-height:1.55;border-left:2px solid var(--gold-bdr);padding-left:var(--sp-3)}.pivot-reset{background:none;border:1px solid var(--rim);border-radius:var(--r-sm);color:var(--text-muted);font-size:11px;letter-spacing:.06em;padding:7px 14px;cursor:pointer;transition:all .2s;align-self:flex-start}.pivot-reset:hover{border-color:var(--gold-bdr);color:var(--gold)}.reset-btn{background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-md);color:var(--text-muted);font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.06em;padding:13px;cursor:pointer;transition:all .2s;width:100%;text-align:center}.reset-btn:hover{background:var(--surface-2);border-color:var(--rim-light);color:var(--cream-muted)}.guest-mode{display:flex;flex-direction:column;gap:var(--sp-4)}.sub-tabs{display:flex;background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-lg);padding:4px;gap:4px}.sub-tab{flex:1;padding:9px 12px;background:transparent;border:none;border-radius:calc(var(--r-lg) - 4px);color:var(--text-muted);font-size:13px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .2s}.sub-tab:hover{color:var(--cream-muted)}.sub-tab.on{background:var(--wine);color:var(--champagne);box-shadow:0 2px 10px #9b1a3566}.input-section{display:flex;flex-direction:column;gap:var(--sp-2)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-1)}.chip{padding:6px 14px;background:var(--surface-2);border:1px solid var(--rim);border-radius:100px;color:var(--cream-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.chip:hover:not(:disabled){background:var(--wine-dim);border-color:var(--wine-bdr);color:var(--champagne)}.chip:disabled{opacity:.4;cursor:not-allowed}.drop{display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px dashed var(--rim-light);border-radius:var(--r-xl);min-height:130px;cursor:pointer;transition:all .2s;overflow:hidden;position:relative}.drop:hover{background:var(--surface-2);border-color:var(--wine-bdr);border-style:solid}.drop-hint{display:flex;flex-direction:column;align-items:center;gap:5px;padding:var(--sp-5);text-align:center}.drop-hint p{font-size:14px;font-weight:500;color:var(--cream-muted)}.drop-hint small{font-size:11px;color:var(--text-muted);letter-spacing:.02em}.drop-img{width:100%;max-height:220px;object-fit:contain;border-radius:calc(var(--r-xl) - 2px)}.card{background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-card);position:relative}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--wine-mid),var(--gold),var(--wine-mid),transparent)}.card-top{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--sp-5) var(--sp-5) var(--sp-4);gap:var(--sp-3);border-bottom:1px solid var(--surface-3)}.wine-name{font-family:var(--font-serif);font-size:21px;font-weight:600;color:var(--champagne);line-height:1.2}.wine-region{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-top:4px}.price{font-family:var(--font-display);font-size:24px;letter-spacing:.04em;color:var(--gold-bright);white-space:nowrap}.card-body{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.card-why{font-family:var(--font-serif);font-size:14px;font-weight:300;font-style:italic;color:var(--cream-muted);line-height:1.65}.scripts{display:flex;flex-direction:column;gap:var(--sp-3)}.script{background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.script-eye{font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--wine-bright);margin-bottom:5px}.script-line{font-family:var(--font-serif);font-size:14px;font-style:italic;color:var(--cream);line-height:1.5}.card-foot{display:flex;gap:var(--sp-2);align-items:baseline;padding:var(--sp-3) var(--sp-5) var(--sp-5);border-top:1px solid var(--surface-3);font-size:12.5px}.find-mode,.find-result{display:flex;flex-direction:column;gap:var(--sp-3)}.find-header{padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-xl);border-bottom-left-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm)}.find-wine{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--champagne)}.find-sub{font-size:12px;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}.find-venues{display:flex;flex-direction:column;gap:var(--sp-2)}.find-venue-card{background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-lg);border-left:3px solid var(--gold);padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1);transition:all .2s}.find-venue-card:hover{background:var(--surface-2);border-left-color:var(--gold-bright);box-shadow:var(--glow-gold)}.find-venue-name{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--champagne)}.find-venue-detail{font-size:13px;color:var(--cream-muted);line-height:1.45}.find-venue-tip{font-size:11px;color:var(--gold);opacity:.75;font-style:italic;margin-top:2px}.find-foot{display:flex;gap:var(--sp-2);align-items:baseline;background:var(--surface);border:1px solid var(--rim);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.loading{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-6)}.loading p{font-family:var(--font-serif);font-size:14px;font-style:italic;color:var(--text-muted);letter-spacing:.04em}.dots{display:flex;gap:7px;align-items:center}.dots span{display:block;width:7px;height:7px;border-radius:50%;background:var(--wine-mid);animation:dot-bounce 1.4s ease-in-out infinite}.dots span:nth-child(1){animation-delay:0s}.dots span:nth-child(2){animation-delay:.16s}.dots span:nth-child(3){animation-delay:.32s}.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}.err{background:var(--wine-dim);border:1px solid var(--wine-bdr);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:13px;color:#e8859a;letter-spacing:.01em}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--obsidian)}::-webkit-scrollbar-thumb{background:var(--rim);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--wine)}@media(min-width:540px){.app-root{border-left:1px solid var(--rim);border-right:1px solid var(--rim)}.onboarding .wordmark{font-size:96px}.table-grid,.obj-grid{grid-template-columns:1fr 1fr 1fr}.hero:before,.hero:after{width:100px;height:100px}}@media(min-width:768px){.app-root{border-radius:var(--r-xl);margin:24px auto;min-height:auto}body{padding:var(--sp-4)}}::selection{background:#9b1a3573;color:var(--champagne)}
