:root{--ink:#1c1715;--cream:#f7f4ef;--paper:#fffdf9;--wine:#8c3142;--rose:#e9c4bc;--gold:#c79b63;--muted:#827a73;--line:#e7e0d8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}button,input{font:inherit}button{cursor:pointer;border:0}.topbar{height:76px;background:rgba(247,244,239,.92);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,80px);position:sticky;top:0;z-index:5;border-bottom:1px solid rgba(28,23,21,.06)}.wordmark{color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:23px;font-weight:600;display:flex;align-items:center;gap:10px}.dot{width:10px;height:10px;background:var(--wine);border-radius:50%;display:inline-block}.desktop-nav{display:flex;gap:34px;margin-left:130px}.desktop-nav a{color:var(--muted);text-decoration:none;font-size:13px}.desktop-nav a:first-child{color:var(--ink);font-weight:700}.top-actions{display:flex;gap:11px;align-items:center}.icon-button,.avatar{background:transparent;color:var(--muted);font-size:12px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff}.hero{max-width:1280px;margin:0 auto;padding:86px clamp(22px,5vw,80px) 90px;display:grid;grid-template-columns:1fr .82fr;gap:60px;min-height:600px}.eyebrow{color:var(--wine);text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;margin:0 0 17px}.hero h1{font-family:var(--serif);font-size:clamp(48px,6vw,88px);line-height:1.04;font-weight:500;letter-spacing:-3px;max-width:650px;margin:0 0 26px}.hero h1 em{color:var(--wine);font-style:normal}.hero-subtitle{color:var(--muted);line-height:1.7;max-width:440px;font-size:15px}.search-shell{background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px rgba(61,36,25,.06);border-radius:10px;display:flex;align-items:center;gap:12px;padding:17px 18px;margin-top:36px;max-width:570px}.search-shell span{font-size:25px;color:var(--wine);line-height:0}.search-shell input{border:0;outline:0;background:none;flex:1;font-size:13px;min-width:0}.search-shell kbd{color:#aaa;font-size:10px;border:1px solid var(--line);padding:4px 6px;border-radius:4px}.quick-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.quick-links button,.filter{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 12px;border-radius:99px;font-size:11px}.quick-links button:hover,.filter:hover{border-color:var(--wine);color:var(--wine)}.hero-art{position:relative;min-height:390px;background:#e8d4c6;border-radius:220px 220px 18px 18px;display:flex;justify-content:center;align-items:center;overflow:hidden}.bottle-glow{position:absolute;width:360px;height:360px;background:#f5e8df;border-radius:50%;top:30px}.bottle{position:relative;width:120px;z-index:1;filter:drop-shadow(14px 24px 12px rgba(48,24,15,.2));transform:rotate(4deg)}.bottle-neck{margin:auto;width:43px;height:110px;background:linear-gradient(90deg,#392a25,#6c4b35 50%,#33231f);border-radius:12px 12px 3px 3px}.bottle-body{height:245px;background:linear-gradient(90deg,#2d211c,#64452d 45%,#211818);border-radius:26px 26px 14px 14px;margin-top:-10px;padding:57px 12px 0}.bottle-label{height:115px;background:#e9d9c3;color:#553b2d;text-align:center;padding:14px 5px;display:flex;flex-direction:column;gap:7px}.bottle-label small{font-family:var(--serif);font-size:10px}.bottle-label strong{font-family:var(--serif);font-size:14px;line-height:1.05;letter-spacing:1px}.bottle-label span{font-size:7px;letter-spacing:1px}.art-caption{position:absolute;bottom:32px;left:35px;color:#674a3b;font-family:var(--serif);font-size:14px;line-height:1.6}.art-caption span{font-family:var(--sans);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#9b7764}.section-heading,.catalogue-section,.journal-strip,.cellar-preview{max-width:1280px;margin:0 auto;padding:0 clamp(22px,5vw,80px)}.section-heading,.catalogue-toolbar{display:flex;justify-content:space-between;align-items:end}.section-heading h2,.catalogue-section h2,.cellar-preview h2{font-family:var(--serif);font-size:39px;font-weight:500;margin:0 0 34px;letter-spacing:-1px}.text-button,.card-link{background:transparent;color:var(--wine);font-size:12px;margin-bottom:38px}.text-button span,.card-link span{margin-left:8px}.feature-grid{max-width:1280px;margin:0 auto;padding:0 clamp(22px,5vw,80px);display:grid;grid-template-columns:1fr 1fr;gap:18px}.feature-card{min-height:280px;border-radius:14px;padding:32px;position:relative;overflow:hidden}.dark-card{background:var(--ink);color:#fff}.rose-card{background:var(--rose)}.feature-icon{font-size:26px;color:var(--gold);margin-bottom:30px}.feature-card h3{font-family:var(--serif);font-size:28px;font-weight:500;margin:0 0 12px;position:relative;z-index:1}.feature-card p{color:#b5aca5;max-width:300px;font-size:13px;line-height:1.6;position:relative;z-index:1}.rose-card p{color:#70554e}.card-link{position:absolute;bottom:13px;left:32px;margin:0;z-index:1}.orb{position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b96e72,#5a2334);right:-20px;bottom:-130px;opacity:.8}.scan-frame{position:absolute;right:42px;bottom:25px;width:120px;height:155px;border:1px solid rgba(92,55,49,.4);transform:rotate(10deg);border-radius:10px}.scan-frame:after{content:'SCAN';font-size:10px;letter-spacing:2px;color:#76574f;position:absolute;top:65px;left:35px}.catalogue-section{padding-top:104px}.filters{display:flex;gap:8px;margin-bottom:34px}.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.wine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;padding-bottom:105px}.wine-card{background:var(--paper);border-radius:12px;padding:17px;min-height:290px;position:relative}.wine-card:hover{transform:translateY(-3px);transition:.2s;box-shadow:0 12px 28px rgba(61,36,25,.08)}.wine-bottle{height:155px;border-radius:8px;background:#eaded2;display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative;overflow:hidden}.mini-bottle{height:125px;width:45px;background:linear-gradient(90deg,#2d211c,#67442d,#211818);border-radius:10px 10px 6px 6px}.mini-bottle:before{content:'';display:block;width:17px;height:44px;background:#3a2922;margin:-29px auto 0;border-radius:5px}.mini-label{position:absolute;background:#e8dbc7;width:32px;height:48px;text-align:center;font-size:6px;padding-top:13px;color:#53382b}.wine-card h3{font-family:var(--serif);font-weight:500;font-size:18px;margin:0 0 5px}.wine-card p{font-size:11px;color:var(--muted);margin:0}.wine-meta{display:flex;justify-content:space-between;margin-top:15px;font-size:10px;color:var(--wine)}.save-btn{position:absolute;right:16px;top:174px;width:27px;height:27px;border-radius:50%;background:var(--paper);color:var(--wine);box-shadow:0 3px 10px #0001}.journal-strip{background:var(--wine);color:#fff;max-width:none;padding-top:70px;padding-bottom:70px;display:flex;align-items:center;justify-content:space-between;padding-left:clamp(22px,10vw,160px);padding-right:clamp(22px,10vw,160px)}.journal-strip .eyebrow{color:#f4c1b8}.journal-strip h2{font-family:var(--serif);font-size:42px;max-width:500px;font-weight:500;margin:0 0 13px}.journal-strip .muted{color:#e8c8c3;font-size:13px}.button{padding:13px 17px;border-radius:7px;font-size:12px;font-weight:700}.button-light{background:#fff;color:var(--wine);white-space:nowrap}.cellar-preview{padding-top:90px;padding-bottom:150px;display:flex;justify-content:space-between;align-items:start}.cellar-count{text-align:right}.cellar-count strong{display:block;font-family:var(--serif);font-size:70px;font-weight:500;color:var(--wine)}.cellar-count span{font-size:11px;color:var(--muted)}.gate{position:fixed;inset:0;z-index:10;background:rgba(28,23,21,.83);display:grid;place-items:center;padding:20px}.gate.hidden{display:none}.gate-card{max-width:440px;background:var(--paper);padding:44px;border-radius:14px;text-align:center}.brand-mark{width:48px;height:48px;border-radius:50%;background:var(--wine);color:#fff;display:grid;place-items:center;margin:0 auto 25px;font-family:var(--serif);font-size:12px}.gate h1{font:500 32px/1.15 var(--serif);margin:0 0 13px}.muted{color:var(--muted);font-size:13px;line-height:1.6}.button-primary{background:var(--wine);color:#fff}.button-wide{width:100%;margin-top:22px}.fine-print{font-size:10px;color:#a39a92;line-height:1.5;margin:18px 0 0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;padding:12px 16px;border-radius:7px;font-size:12px;z-index:12;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{text-align:center;color:var(--muted);padding:40px}.hidden{display:none}.mobile-nav{display:none}
@media(max-width:800px){.desktop-nav{display:none}.topbar{height:64px}.hero{grid-template-columns:1fr;padding-top:58px;gap:35px}.hero-art{min-height:330px}.hero h1{font-size:54px}.feature-grid{grid-template-columns:1fr}.section-heading h2,.catalogue-section h2,.cellar-preview h2{font-size:32px}.wine-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:70px}.wine-card{min-height:275px;padding:12px}.wine-bottle{height:135px}.save-btn{top:153px}.filters{flex-wrap:wrap;justify-content:flex-end}.journal-strip{display:block;padding-top:55px;padding-bottom:55px}.journal-strip h2{font-size:34px}.journal-strip .button{margin-top:24px}.cellar-preview{padding-bottom:110px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:rgba(255,253,249,.96);backdrop-filter:blur(15px);z-index:6;border-top:1px solid var(--line);justify-content:space-around;padding:9px 4px 8px}.mobile-nav a,.mobile-nav button{background:none;color:#9b938b;text-decoration:none;font-size:20px;text-align:center}.mobile-nav span{display:block;font-size:9px;margin-top:3px}.mobile-nav .active{color:var(--wine)}.gate-card{padding:33px 25px}.hero-art{border-radius:160px 160px 15px 15px}}

.verified-note{display:block;color:var(--wine);font-size:10px;margin-top:10px;letter-spacing:.3px}.wine-card{position:relative}

/* Research pipeline cards are intentionally distinct from published catalogue items. */
.research-card{border:1px dashed rgba(120,82,66,.35);background:rgba(255,255,255,.72)}.research-tag{display:inline-flex;align-items:center;width:max-content;margin-bottom:12px;padding:5px 9px;border-radius:999px;background:#f4e9e4;color:#805747;font-size:11px;font-weight:700;letter-spacing:.03em}.research-card a{color:#805747;font-size:12px;text-decoration:underline;text-underline-offset:3px}

/* Global discovery layer */
.world-section{max-width:1280px;margin:0 auto;padding:100px clamp(22px,5vw,80px);background:#eee7df}.world-intro{max-width:700px}.world-intro h2{font:500 clamp(34px,4vw,54px)/1.1 var(--serif);letter-spacing:-1.5px;margin:0 0 15px}.world-intro>p:last-child{max-width:650px;color:var(--muted);font-size:14px;line-height:1.8}.world-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:38px 0 55px}.world-stats>div{background:var(--paper);border:1px solid var(--line);padding:22px;border-radius:10px}.world-stats strong{display:block;font:500 34px var(--serif);color:var(--wine)}.world-stats span{font-size:11px;color:var(--muted)}.world-controls label{display:block;font-size:12px;font-weight:700;margin-bottom:10px}.world-controls input{width:100%;max-width:520px;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:14px;margin-bottom:18px;outline-color:var(--wine)}.country-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.country-card{background:var(--paper);padding:15px;border:1px solid var(--line);border-radius:8px}.country-card strong{display:block;font:500 17px var(--serif)}.country-card small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.country-card em{display:inline-block;margin-top:10px;font-style:normal;color:var(--wine);font-size:9px;letter-spacing:.5px;text-transform:uppercase}.world-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:58px}.world-principles article{border-top:1px solid #cfc3b8;padding-top:15px}.world-principles article span{color:var(--wine);font-size:10px}.world-principles h3{font:500 20px var(--serif);margin:12px 0 7px}.world-principles p,.world-footnote{color:var(--muted);font-size:11px;line-height:1.7}.world-footnote{margin-top:32px;border-top:1px solid #cfc3b8;padding-top:15px}@media(max-width:800px){.world-section{padding-top:65px;padding-bottom:65px}.world-stats{grid-template-columns:repeat(2,1fr)}.country-grid{grid-template-columns:repeat(2,1fr)}.world-principles{grid-template-columns:repeat(2,1fr)}}

.product-image{width:100%;height:155px;object-fit:contain;background:#f1ebe4;border-radius:8px;margin-bottom:16px;display:block}.wine-card .product-image + .save-btn{top:174px}.wine-card a{color:var(--wine);font-size:11px;text-underline-offset:3px}
/* Data-first discovery refresh */
.hero{align-items:center;min-height:540px;padding-top:64px;padding-bottom:64px}
.hero-data-panel{min-height:390px;border-radius:22px;background:linear-gradient(145deg,#ead9ca,#f4e9df);padding:38px 42px;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 0 0 1px rgba(80,45,35,.06)}
.hero-data-number{font:500 clamp(64px,8vw,108px)/.95 var(--serif);letter-spacing:-5px;color:var(--wine);margin:8px 0 14px}
.hero-data-panel h2{font:500 30px var(--serif);margin:0 0 12px}
.hero-data-panel>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#6f625a;max-width:440px}
.hero-data-rule{height:1px;background:rgba(80,45,35,.18);margin:24px 0 18px}
.hero-data-metrics{display:flex;gap:48px}.hero-data-metrics strong{display:block;font:500 27px var(--serif)}.hero-data-metrics span{font-size:10px;color:#76665d;text-transform:uppercase;letter-spacing:1px}
.hero-proof{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}.hero-proof span{font-size:9px;letter-spacing:1.1px;color:var(--wine);font-weight:700;border-top:1px solid #d8c9bd;padding-top:9px}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:28px}.hero-data-panel{min-height:300px;padding:28px}.hero-data-number{font-size:72px}}

.product-grapes{font-size:11px;color:#665b55;margin:8px 0}.product-rating{font-size:12px;color:#8c6337;margin:6px 0}.load-more-wrap{text-align:center;padding:26px}.load-more-wrap button{display:none}

/* Product detail interaction */
.detail-overlay{position:fixed;inset:0;background:rgba(25,18,16,.72);z-index:20;display:grid;place-items:center;padding:20px}.detail-overlay.hidden{display:none}.detail-panel{position:relative;background:var(--paper);border-radius:16px;max-width:850px;width:100%;max-height:88vh;overflow:auto;padding:34px}.detail-close{position:absolute;right:16px;top:12px;background:transparent;font-size:28px;color:var(--wine)}.detail-layout{display:grid;grid-template-columns:.7fr 1fr;gap:28px}.detail-visual{min-height:300px;background:#eee4d9;border-radius:12px;display:grid;place-items:center;overflow:hidden}.detail-visual img{width:100%;height:100%;max-height:420px;object-fit:contain}.detail-copy h2{font:500 32px var(--serif);margin:8px 0}.detail-copy p{font-size:13px;color:var(--muted);line-height:1.7}.detail-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.detail-fact{padding:12px;background:#f3eee8;border-radius:8px}.detail-fact strong{display:block;font-size:9px;text-transform:uppercase;color:var(--wine);letter-spacing:1px}.detail-fact span{font-size:12px}.detail-source{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;line-height:1.7}@media(max-width:700px){.detail-layout{grid-template-columns:1fr}.detail-panel{padding:24px 18px}.detail-visual{min-height:180px}}

/* O'De Vie wine detail profile */

.odv-detail-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(20, 15, 13, .72);
  padding: 20px;
  overflow-y: auto;
  align-items: center;
  justify-content: center;
}

.cellar-list,.journal-history{display:grid;gap:10px;margin:18px 0}.cellar-item,.journal-entry{padding:14px 16px;border:1px solid var(--line,#e7ded4);background:rgba(255,255,255,.55);border-radius:12px}.cellar-item{display:grid;grid-template-columns:1fr auto;gap:5px 14px}.cellar-item span,.cellar-item small,.journal-entry time{color:var(--muted,#81776f);font-size:12px}.cellar-item small{grid-column:1/-1}.journal-entry p{margin:8px 0 0;line-height:1.5}
.journal-form{display:grid;gap:10px;max-width:620px;margin:20px 0}.journal-form textarea{width:100%;resize:vertical;border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:14px;font:inherit;color:var(--ink);background:rgba(255,255,255,.92)}
.market-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.market-toolbar select{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font:inherit;color:var(--ink)}.market-toolbar .hub-search{flex:1;min-width:260px}
.market-filter-mode{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:var(--ink);font:600 14px/1.3 Arial,sans-serif}.market-filter-mode.is-disabled{color:var(--muted);cursor:not-allowed}.market-filter-mode input:disabled{cursor:not-allowed}
.quick-links a{display:inline-block;color:var(--wine);border:1px solid var(--line);border-radius:999px;padding:8px 12px;text-decoration:none;font-size:11px}.quick-links a:hover{border-color:var(--wine)}.age-location{display:grid;gap:7px;text-align:left;font-size:12px;color:var(--muted);margin:18px 0}.age-location select{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:12px;color:var(--ink);font:inherit}

.odv-detail-modal.open {
  display: flex;
}

.odv-detail-panel {
  width: min(760px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  background: #fffaf5;
  color: #211b18;
  padding: 36px;
  border-radius: 18px;
  position: relative;
}

.odv-detail-close {
  position: absolute;
  top: 12px;
  right: 18px;
  border: 0;
  background: transparent;
  font-size: 32px;
  cursor: pointer;
}

.odv-detail-panel h2 {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  margin: 12px 0;
}

.odv-detail-producer {
  color: #8b7770;
}

.odv-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}

.odv-detail-field {
  background: #f2e9df;
  border-radius: 10px;
  padding: 14px;
  min-width: 0;
}

.odv-detail-field small,
.odv-detail-field strong {
  display: block;
  overflow-wrap: anywhere;
}

.odv-detail-field small {
  color: #8b7770;
  margin-bottom: 6px;
}

.odv-evidence {
  border-top: 1px solid #e7dcd2;
  margin-top: 24px;
  padding-top: 20px;
  overflow-wrap: anywhere;
}

.odv-detail-image {
  max-width: 180px;
  max-height: 220px;
  object-fit: contain;
  display: block;
  margin-bottom: 20px;
}

.wine-card[data-detail] {
  cursor: pointer;
}

.wine-card[data-detail]:focus-visible {
  outline: 2px solid #9c6d51;
  outline-offset: 4px;
}

@media (max-width: 600px) {
  .odv-detail-panel {
    padding: 24px 18px;
  }

  .odv-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* Shared server-injected navigation: keep every page aligned. */
.topbar .desktop-nav { gap: clamp(12px, 1.7vw, 25px); margin-left: 20px; align-items: center; flex-wrap: nowrap; white-space: nowrap; }
.topbar .desktop-nav a { font-size: 12px; }
@media (max-width: 1180px) and (min-width: 801px) { .topbar .desktop-nav { gap: 10px; } .topbar .desktop-nav a { font-size: 10px; } }
/* Keep loaded images and unavailable placeholders in one bounded card frame. */
.wine-card .image-frame{padding:0;display:block}.wine-card .image-frame .product-image{height:100%;width:100%;margin:0;object-fit:contain;display:block}.wine-card .image-frame .image-fallback{position:absolute;inset:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center}.wine-card .image-frame .image-fallback[hidden]{display:none!important}.wine-card .image-frame + .save-btn{top:174px}
 .wine-card .image-fallback[hidden]{display:none!important}
.account-modal{position:fixed;inset:0;z-index:40;background:#1c1715cc;display:grid;place-items:center;padding:20px}.account-card{position:relative;width:min(440px,100%);background:var(--paper);border-radius:14px;padding:34px;box-shadow:0 24px 80px #0006}.account-card h2{font:500 30px/1.15 var(--serif);margin:0 0 22px}.account-close{position:absolute;right:18px;top:14px;background:none;font-size:28px;color:var(--muted)}.account-form{display:grid;gap:12px}.account-form input{border:1px solid var(--line);border-radius:8px;padding:13px;background:#fff}.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.account-message{min-height:20px;margin:2px 0 0}
.catalogue-loading-card{pointer-events:none}.catalogue-loading-line{height:11px;width:62%;border-radius:999px;background:linear-gradient(90deg,#eee5da 20%,#f8f3ec 45%,#eee5da 70%);background-size:200% 100%;animation:odv-loading-shimmer 1.15s linear infinite;margin:12px 0}.catalogue-loading-line.wide{width:86%;height:20px;margin-top:4px}.catalogue-loading-line.short{width:40%}@keyframes odv-loading-shimmer{to{background-position:-200% 0}}
.hero-data-caption{margin:-8px 0 18px!important;color:var(--wine)!important;font-size:10px!important;font-weight:700;letter-spacing:1.25px;text-transform:uppercase}
.world-status{grid-column:1/-1;margin:0;padding:18px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);background:var(--paper)}

/* Phone layout: retain market controls, increase touch targets, and avoid cramped cards. */
@media (max-width: 800px) {
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  .topbar {
    height: auto;
    min-height: 64px;
    padding: 10px 18px 9px;
    gap: 8px 14px;
    flex-wrap: wrap;
  }
  .wordmark { font-size: 21px; }
  .top-actions { margin-left: auto; }
  .topbar .desktop-nav {
    display: flex;
    order: 3;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    align-items: center;
    gap: 10px;
  }
  .topbar .desktop-nav > a { display: none; }
  .topbar .odv-context-picker { flex: 1; font-size: 11px; }
  .topbar .odv-context-picker select { min-width: 0; flex: 1; min-height: 42px; }
  .topbar .market-filter-mode {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    font-size: 11px;
    white-space: nowrap;
  }
  .topbar .market-filter-mode input { width: 18px; height: 18px; margin: 0; }
  .hero { padding: 42px 18px 56px; min-height: 0; }
  .hero h1 { font-size: clamp(42px, 13vw, 56px); line-height: 1; letter-spacing: -2px; }
  .hero-subtitle { font-size: 14px; line-height: 1.65; }
  .search-shell { margin-top: 26px; padding: 14px; min-height: 54px; }
  .search-shell input { font-size: 16px; }
  .search-shell kbd { display: none; }
  .hero-data-panel { min-height: 0; padding: 26px 22px; }
  .hero-data-number { font-size: clamp(52px, 17vw, 76px); overflow-wrap: anywhere; }
  .hero-data-metrics { gap: 14px; }
  .section-heading, .catalogue-section, .feature-grid, .cellar-preview { padding-left: 18px; padding-right: 18px; }
  .catalogue-toolbar { display: block; }
  .filters { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .filter { min-height: 42px; flex: 0 0 auto; }
  .wine-grid { grid-template-columns: 1fr; gap: 14px; }
  .wine-card { min-height: 0; padding: 15px; }
  .wine-bottle { height: 190px; }
  .wine-card .image-frame + .save-btn, .save-btn { top: 208px; }
  .world-section { padding-left: 18px; padding-right: 18px; }
  .world-stats, .country-grid, .world-principles { grid-template-columns: 1fr 1fr; gap: 10px; }
  .world-stats > div { padding: 16px; }
  .world-stats strong { font-size: 28px; overflow-wrap: anywhere; }
  .journal-strip { padding-left: 18px; padding-right: 18px; }
  .cellar-preview { display: block; }
  .cellar-count { text-align: left; margin-top: 28px; }
  .detail-overlay, .account-modal { padding: 0; align-items: end; }
  .detail-panel, .account-card {
    width: 100%;
    max-height: 92dvh;
    border-radius: 18px 18px 0 0;
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }
  .mobile-nav { padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
  .mobile-nav a, .mobile-nav button { min-width: 54px; min-height: 44px; }
  .toast { bottom: calc(82px + env(safe-area-inset-bottom)); width: calc(100% - 36px); text-align: center; }
}

@media (max-width: 420px) {
  .world-stats, .country-grid, .world-principles { grid-template-columns: 1fr; }
  .hero-data-metrics { grid-template-columns: 1fr; }
}
