:root{--navy:#07263f;--navy-2:#0b3555;--blue:#1e6d9b;--sky:#edf5f8;--paper:#f7f6f2;--ink:#14293b;--muted:#667684;--line:#dce4e7;--white:#fff;--wine:#7a243c;--gold:#a5752c;--shadow:0 24px 60px rgba(7,38,63,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.topbar{height:76px;padding:0 clamp(18px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);text-decoration:none}.brand-logo{display:block;width:62px;height:54px;object-fit:contain}.brand-copy small{display:block;color:var(--muted);font-size:12px;font-weight:750}.location{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:10px 14px;display:flex;align-items:center;gap:9px;cursor:default}.location span{width:8px;height:8px;border-radius:50%;background:#23a46f}.location b{font-size:13px}.hero{padding:54px clamp(18px,6vw,86px) 62px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(34px,6vw,86px);align-items:center;background:radial-gradient(circle at 10% 25%,rgba(42,115,154,.35),transparent 33%),linear-gradient(125deg,#061f35,#0b3d62);color:#fff;min-height:650px}.hero-copy{max-width:650px}.eyebrow{font-size:12px;font-weight:850;letter-spacing:.19em;color:#4d91bd;margin:0 0 12px}.hero .eyebrow{color:#90c8e8}.hero h1{font:700 clamp(46px,6vw,78px)/.98 Georgia,serif;letter-spacing:-.038em;margin:0}.hero-copy>p:not(.eyebrow){font-size:18px;color:#d7e7f1;max-width:580px;margin:24px 0}.hero-proof{display:flex;gap:10px;flex-wrap:wrap}.hero-proof span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:999px;padding:8px 12px;color:#dcecf6;font-size:13px}.hero-proof b{color:#fff}.recommender{background:#fff;color:var(--ink);border-radius:24px;padding:30px;box-shadow:0 28px 90px rgba(0,0,0,.22)}.section-heading h2{font:700 clamp(34px,5vw,54px)/1.05 Georgia,serif;color:var(--navy);margin:0}.section-heading>p:not(.eyebrow){color:var(--muted);max-width:650px;margin:14px 0 0}.section-heading.compact h2{font-size:36px}.recommender form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr);gap:14px;align-items:end;margin-top:24px}.recommender label,.recommender legend{display:block;color:var(--navy);font-size:14px;font-weight:800}.recommender select,.search-box input{width:100%;margin-top:8px;padding:14px;border:1px solid #bfd0d8;border-radius:10px;background:#fff;color:var(--ink)}fieldset{border:0;padding:0;margin:0}.toggle-row{display:grid;grid-template-columns:1fr 1fr;margin-top:8px;border:1px solid #bfd0d8;border-radius:10px;overflow:hidden}.toggle-row button,.filters button{border:0;background:#fff;color:var(--muted);padding:14px;cursor:pointer;font-weight:750}.toggle-row button.active,.filters button.active{background:var(--navy);color:#fff}.result{margin-top:18px;border:1px solid var(--line);border-radius:15px;overflow:hidden}.result-empty{padding:25px;color:var(--muted)}.result-top{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;padding:20px}.result-thumb{width:58px;height:72px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#f5f8f9,#e8eef0);overflow:hidden}.result-thumb img{width:100%;height:100%;object-fit:contain}.result-top p,.result-top small{margin:0;color:var(--muted)}.result-top h3{font:700 25px Georgia,serif;color:var(--navy);margin:1px 0}.result-top strong{font-size:20px;color:var(--navy)}.result-reason{background:var(--sky);padding:17px 20px;border-top:1px solid var(--line)}.result-reason small{color:var(--blue);font-weight:850;letter-spacing:.12em}.result-reason p{margin:5px 0 0}.alternatives{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.alternatives button{border:0;background:#fff;padding:14px 20px;text-align:left;color:var(--ink);cursor:pointer}.alternatives button+button{border-left:1px solid var(--line)}.alternatives small,.alternatives b{display:block}.alternatives small{color:var(--muted);margin-top:3px}.catalog{padding:82px clamp(18px,6vw,86px) 100px;max-width:1500px;margin:auto}.catalog-head{display:grid;grid-template-columns:1fr minmax(260px,360px);gap:32px;align-items:end}.search-box{color:var(--navy);font-size:14px;font-weight:800}.filters{display:flex;gap:8px;overflow-x:auto;padding:30px 0 12px}.filters button{border:1px solid var(--line);border-radius:999px;padding:10px 17px;white-space:nowrap}.catalog-status{color:var(--muted);font-size:13px;margin:0 0 18px}.wine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.wine-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;text-align:left;cursor:pointer;min-height:440px;display:flex;flex-direction:column;transition:.22s transform,.22s box-shadow,.22s border-color}.wine-card:hover,.wine-card:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b9cbd4;outline:0}.wine-visual{height:230px;display:grid;place-items:center;position:relative;background:linear-gradient(155deg,#fafcfb,#eaf0f1);overflow:hidden}.wine-visual::after{content:"";position:absolute;inset:auto 12% 13px;height:17px;border-radius:50%;background:rgba(12,31,45,.12);filter:blur(9px)}.wine-visual img{width:82%;height:92%;object-fit:contain;position:relative;z-index:1;transition:transform .28s ease}.wine-card:hover .wine-visual img{transform:scale(1.035)}.wine-fallback{font:700 34px Georgia,serif;color:var(--navy);position:relative;z-index:1}.card-content{padding:20px;display:flex;flex-direction:column;flex:1}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.type{width:max-content;padding:5px 9px;border-radius:999px;background:var(--sky);color:var(--blue);font-size:12px;font-weight:850}.type.Tinto{background:#f4e8eb;color:var(--wine)}.type.Espumoso{background:#fff2d5;color:#8b641c}.type.Vermut{background:#f3eddf;color:#72511f}.origin{font-size:12px;color:var(--muted)}.wine-card h3{font:700 25px Georgia,serif;color:var(--navy);margin:15px 0 5px}.wine-card .grape{color:var(--muted);margin:0}.prices{display:flex;gap:22px;margin-top:auto;padding-top:19px}.prices span{display:flex;flex-direction:column}.prices small{font-size:11px;letter-spacing:.1em;color:var(--muted)}.prices b{color:var(--navy);font-size:18px}footer{background:var(--navy);color:#d8e8f5;padding:48px clamp(22px,7vw,100px);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}.footer-brand{color:#fff}.footer-logo{filter:brightness(0) invert(1)}.footer-brand small{color:#b8d1e4}footer p{margin:0;text-align:right}footer>small{grid-column:1/-1;color:#82a7c3}dialog{width:min(820px,calc(100% - 28px));border:0;border-radius:22px;padding:0;box-shadow:0 34px 100px rgba(0,0,0,.34);background:#fff}dialog::backdrop{background:rgba(3,25,48,.72);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:14px;border:0;background:#fff;color:var(--navy);font-size:24px;border-radius:50%;width:40px;height:40px;cursor:pointer;z-index:2;box-shadow:0 4px 18px rgba(0,0,0,.12)}.dialog-content{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr}.dialog-visual{min-height:510px;display:grid;place-items:center;background:linear-gradient(155deg,#f8faf9,#e6edef);padding:34px}.dialog-visual img{max-width:92%;max-height:430px;object-fit:contain}.dialog-info{padding:44px 38px}.dialog-info h2{font:700 38px Georgia,serif;color:var(--navy);margin:14px 0 5px}.dialog-sub{color:var(--muted);margin:0}.dialog-pitch{margin-top:24px;padding:18px;background:var(--sky);border-radius:12px;color:var(--ink)}.dialog-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.dialog-meta span{border-top:1px solid var(--line);padding-top:11px}.dialog-meta small,.dialog-meta b{display:block}.dialog-meta small{color:var(--muted);font-size:11px;letter-spacing:.1em}.dialog-meta b{color:var(--navy);font-size:15px}.pairing{margin-top:22px}.pairing small{color:var(--blue);font-weight:850;letter-spacing:.1em}.pairing p{margin:5px 0 0;color:var(--ink)}
@media(max-width:1020px){.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:780px}.wine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommender{max-width:780px}.dialog-content{grid-template-columns:.75fr 1.25fr}}
@media(max-width:690px){.topbar{height:68px;padding:0 14px}.brand-logo{width:50px;height:46px}.brand-copy small{display:none}.location{padding:8px 10px}.hero{padding:46px 16px 54px;gap:28px}.hero h1{font-size:48px}.hero-copy>p:not(.eyebrow){font-size:17px}.recommender{padding:23px 18px;border-radius:18px}.section-heading.compact h2{font-size:31px}.recommender form{grid-template-columns:1fr}.result-top{grid-template-columns:48px 1fr}.result-thumb{width:48px;height:62px}.result-top>strong{grid-column:2}.alternatives{grid-template-columns:1fr}.alternatives button+button{border-left:0;border-top:1px solid var(--line)}.catalog{padding:60px 14px 75px}.catalog-head{grid-template-columns:1fr}.wine-grid{grid-template-columns:1fr}.wine-card{min-height:410px}.wine-visual{height:215px}footer{grid-template-columns:1fr}footer p{text-align:left}.dialog-content{grid-template-columns:1fr}.dialog-visual{min-height:300px;padding:22px}.dialog-visual img{max-height:280px}.dialog-info{padding:30px 22px}.dialog-info h2{font-size:31px}.dialog-meta{grid-template-columns:1fr 1fr}}

/* Product images sit over a graceful initials fallback when a source is unavailable. */
.wine-visual,.dialog-visual,.result-thumb{position:relative}
.wine-fallback{position:absolute;inset:0;display:grid;place-items:center;z-index:0}
.dialog-visual{overflow:hidden}
.dialog-visual img,.result-thumb img{position:relative;z-index:1;background:transparent}
