/* World's 101 Best (uppercutmedia.wixsite.com/w101best) — static replica overrides (loaded after the captured Wix styles). */

/* keep native scrollbar behaviour identical to the original while a menu overlay is open */
html.menu-open, html.menu-open body { overscroll-behavior: contain; }

/* ---- owner's change (2026-10-16): the account icon and the hamburger in the desktop header sit 24px further right ---- */
/* The icons sit at a fixed offset inside a container that is 80% of the header width, so on windows narrower than about
   1540px the hamburger slips past the right edge (the live Wix site has the same geometry). Below that width the shift
   turns negative so the hamburger keeps at least ~30px from the edge: 80vw - 1200px (-48px at 1440, +24px from 1530). */
body:not(.device-mobile-optimized) #comp-mv6w17he,
body:not(.device-mobile-optimized) #comp-m5fqvedp { transform: translateX(min(24px, calc(80vw - 1200px))); }

/* Wix sets overflow: clip on #site-root at run time (not in the captured styles): on tablets the 980px layout is then
   scaled to the screen instead of the document growing past 980px because of the scrollable top menu. */
#site-root { overflow: clip; }

/* The free-Wix advertising banner is removed by the build; Wix still reserved its height (50px desktop, 38px phone) above the
   header through this variable. */
:root { --wix-ads-height: 0px !important; }

/* ---- narrow desktop windows (below 1557px): the header's right column (80% of the strip) cannot hold the 936px menu plus
   the two icons at their fixed mesh offsets; the live Wix hub overflows there as well (menu cut on the right, icons over
   "Boutique Hotels"). Such widths are real: the app's browser pane, small laptops, iPads (980px document). Below the
   breakpoint the column becomes a flex row: menu on the left with font size, item padding and gaps that shrink with the
   window, icons docked to the right (27px apart like the original); from 1557px up the original positions apply. ---- */
@media (max-width: 1556px) {
  body:not(.device-mobile-optimized) [data-mesh-id="comp-kfz3dctninlineContent-gridContainer"] { display: flex; align-items: flex-start; justify-content: flex-start; }   /* same top offsets as the original (menu 36px, icons 39/36px) */
  body:not(.device-mobile-optimized) [data-mesh-id="comp-kfz3dctninlineContent-gridContainer"] > #comp-muwxu52b { position: static; left: auto; margin: 36px auto 0 auto; width: auto; max-width: 936px; flex: 0 1 auto; min-width: 0; }
  body:not(.device-mobile-optimized) [data-mesh-id="comp-kfz3dctninlineContent-gridContainer"] > #comp-mv6w17he { position: static; left: auto; margin: 39px 0 0 12px; }
  body:not(.device-mobile-optimized) [data-mesh-id="comp-kfz3dctninlineContent-gridContainer"] > #comp-m5fqvedp { position: static; left: auto; margin: 36px 0 0 27px; }
  /* the strip is centred with min-width 980px, so below 1140px the icons may only move right by half the surplus */
  body:not(.device-mobile-optimized) #comp-mv6w17he,
  body:not(.device-mobile-optimized) #comp-m5fqvedp { transform: translateX(min(24px, calc(50vw - 510px))); }
  #SITE_HEADER #comp-muwxu52b .StylableHorizontalMenu3372578893__menuItem .itemDepth02233374943__label { font-size: clamp(13px, 1.02vw, 14px); }
  #SITE_HEADER #comp-muwxu52b .StylableHorizontalMenu3372578893__menuItem { padding-left: clamp(4px, 0.45vw, 7px); padding-right: clamp(4px, 0.45vw, 7px); }
  #SITE_HEADER #comp-muwxu52b .StylableHorizontalMenu3372578893__menu { column-gap: clamp(10px, 1.4vw, 28px); }
  /* the dropdown items scale with the top items (owner 2026-10-22: "smaller screen makes navbar smaller then dropdown") */
  #SITE_HEADER #comp-muwxu52b .submenu815198092__menuItem .itemDepth12472627565__label { font-size: clamp(13px, 1.02vw, 14px); line-height: 1.45em; }
  #SITE_HEADER #comp-muwxu52b .submenu815198092__menuItem { padding-left: clamp(6px, 0.6vw, 10px); padding-right: clamp(6px, 0.6vw, 10px); }
}

/* ---- owner's change (2026-10-16): the top menu sits in the middle of the window (the mesh layout had it at the left of
   the right column, i.e. left of centre on wide screens). The column starts at 20% of the strip and is 80% of it, so the
   menu's offset inside the column is (W - 936)/2 - column-left = 37.5% of the column width - 468px. The account icon and the
   hamburger keep their distance to the menu's right end (100px / 164px, including the 24px shift above) and move with it.
   Below 1557px the compact layout above centres the menu between the logo and the icons instead. ---- */
@media (min-width: 1557px) {
  body:not(.device-mobile-optimized) [data-mesh-id="comp-kfz3dctninlineContent-gridContainer"] > #comp-muwxu52b { left: calc(37.5% - 468px); }
  body:not(.device-mobile-optimized) [data-mesh-id="comp-kfz3dctninlineContent-gridContainer"] > #comp-mv6w17he { left: calc(37.5% + 544px); }
  body:not(.device-mobile-optimized) [data-mesh-id="comp-kfz3dctninlineContent-gridContainer"] > #comp-m5fqvedp { left: calc(37.5% + 608px); }
}

/* ---- text pages generated by tools/gen/legal-pages.js: /imprint, /terms-conditions, /privacy-policy, /about, /partnerships,
   /contact, /fish-restaurants/ranking-criteria, /boutique-hotels/ranking-criteria. Typography = the hub's own: headings in
   the site's display serif (--font_3, "The Seasons", weight 400, no tracking, as the home's headings), text in Poppins
   light (--font_8), like the home's paragraphs (owner 2026-10-22: "better structure and headings ... same fonts") ---- */
.legal-page { background: #ffffff; padding: 64px 0 110px; }
.legal-page__inner { max-width: 860px; margin: 0 auto; padding: 0 40px; box-sizing: border-box; }
.legal-page__logo { display: block; width: 150px; height: 150px; margin: 0 auto 34px; }
.legal-page__logo--ranking { width: 180px; height: 180px; }
.legal-page--logo .legal-page__title { text-align: center; }
.legal-page__title { font: var(--font_3); color: #333333; font-size: 40px; line-height: 1.15; letter-spacing: 0; text-transform: none; margin: 0 0 40px; }
.legal-page h2 { font: var(--font_3); color: #333333; font-size: 27px; line-height: 1.2; letter-spacing: 0; text-transform: none; margin: 52px 0 16px; }
.legal-page h3 { font: var(--font_3); color: #333333; font-size: 20px; line-height: 1.3; letter-spacing: 0; text-transform: none; margin: 34px 0 10px; }
.legal-page h4 { font: var(--font_8); font-weight: 500; color: #333333; font-size: 15px; line-height: 1.5; margin: 22px 0 6px; }
.legal-page h2:first-child, .legal-page__title + h2, .legal-page__logo + h2 { margin-top: 0; }
.legal-page p, .legal-page li { font: var(--font_8); color: #333333; font-size: 15px; line-height: 1.75; letter-spacing: 0; margin: 0 0 12px; }
.legal-page strong { font-weight: 500; }
.legal-page ul, .legal-page ol { margin: 0 0 14px 22px; padding: 0; }
.legal-page li { margin-bottom: 6px; }
.legal-page a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.legal-page__signature { margin-top: 26px; }
body.device-mobile-optimized .legal-page { padding: 40px 0 70px; }
body.device-mobile-optimized .legal-page__inner { padding: 0 20px; }
body.device-mobile-optimized .legal-page__logo { width: 120px; height: 120px; margin-bottom: 26px; }
body.device-mobile-optimized .legal-page__title { font-size: 30px; margin-bottom: 28px; }
body.device-mobile-optimized .legal-page h2 { font-size: 23px; margin-top: 40px; }
body.device-mobile-optimized .legal-page h3 { font-size: 18px; }
body.device-mobile-optimized .legal-page p, body.device-mobile-optimized .legal-page li { font-size: 14px; }

/* ---- contact form (/contact; js/parts/70-contact.js, api/contact.js) ---- */
.wb-form { margin: 28px 0 0; }
.wb-form__row { display: flex; gap: 20px; }
.wb-form__row .wb-form__field { flex: 1 1 0; }
.wb-form__field { display: block; margin: 0 0 18px; }
.wb-form__field > span { display: block; font: var(--font_8); font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: #333333; margin-bottom: 7px; }
.wb-form__field em { font-style: normal; color: #8a6d3b; }
.wb-form input, .wb-form select, .wb-form textarea { display: block; width: 100%; box-sizing: border-box; font: var(--font_8); font-weight: 300; font-size: 15px; line-height: 1.5; color: #222222; background: #ffffff; border: 1px solid #c9c9c9; border-radius: 0; padding: 11px 14px; outline: none; -webkit-appearance: none; appearance: none; }
.wb-form select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23333' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.wb-form textarea { resize: vertical; min-height: 150px; }
.wb-form input:focus, .wb-form select:focus, .wb-form textarea:focus { border-color: #333333; }
.wb-form .wb-form__field.is-invalid input, .wb-form .wb-form__field.is-invalid select, .wb-form .wb-form__field.is-invalid textarea { border-color: #b3261e; }
.wb-form__error { display: block; font: var(--font_8); font-size: 12px; color: #b3261e; margin-top: 5px; }
.wb-form__hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.wb-form__note { font-size: 13px !important; color: #666666 !important; margin: 4px 0 22px !important; }
.wb-form__submit { font: var(--font_8); font-weight: 400; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: #ffffff; background: #333333; border: 1px solid #333333; padding: 14px 44px; cursor: pointer; transition: background .2s, color .2s; }
.wb-form__submit:hover { background: #ffffff; color: #333333; }
.wb-form__submit[disabled] { opacity: .6; cursor: default; }
.wb-form__status { margin-top: 18px !important; font-size: 14px !important; }
.wb-form__status.is-error { color: #b3261e !important; }
.wb-form__status.is-success { color: #2f6b3a !important; }
.wb-form.is-sent .wb-form__field, .wb-form.is-sent .wb-form__note, .wb-form.is-sent .wb-form__submit { display: none; }
body.device-mobile-optimized .wb-form__row { display: block; }

/* ---- dropdown items (2026-10-16): Wix clips the label box (overflow hidden, line-height 1.12em) so descenders of "Ranking
   Criteria" / "Best by Continent" were cut on some systems; room for the full glyphs ---- */
#SITE_HEADER #comp-muwxu52b .submenu815198092__menuItem .itemDepth12472627565__label { overflow: visible; line-height: 1.45em; }
#SITE_HEADER #comp-muwxu52b .submenu815198092__menuItem { padding-top: 2px; padding-bottom: 2px; }

/* ---- phone document (owner, 2026-10-16: "mobile looks awful") ---- */
/* header: the account icon sat alone in an 82px row under the logo (a Wix login placeholder); without it the header is 190px */
body.device-mobile-optimized #SITE_HEADER #comp-kfz3dctn { display: none; }
/* rankings section: the mesh grid kept the captured 2975px row for the gallery although the relaid-out gallery is ~1665px,
   leaving a 1300px white gap (the row now follows the gallery; 40-galleries.js does the same for any gallery row) */
body.device-mobile-optimized [data-mesh-id="comp-m5fqwmetinlineContent-gridContainer"] { grid-template-rows: 51px 84px auto !important; min-height: auto !important; }
/* footer: the Wix mobile layout indented six of the texts by 10px and the others by 20px */
body.device-mobile-optimized #SITE_FOOTER #comp-mv6w87go, body.device-mobile-optimized #SITE_FOOTER #comp-mv7xyh31, body.device-mobile-optimized #SITE_FOOTER #comp-mv7y1yz8,
body.device-mobile-optimized #SITE_FOOTER #comp-mv7y2yaq, body.device-mobile-optimized #SITE_FOOTER #comp-mv7y3i6i, body.device-mobile-optimized #SITE_FOOTER #comp-mv7y4mbm { left: 20px !important; width: 280px !important; }

/* ---- dark home strips (owner 2026-10-22: "change the 2 strip background colours on the home page to the same dark grey as
   in the footer, change the font colour to white"): the app strip ("COMING SOON - THE WORLD IN YOUR POCKET") and the book
   strip ("OUT NOW") are footer grey #333333 with white text. The book artwork is /assets/custom/book-steak-dark-*.avif, the
   original with its #edebe9 studio background re-coloured to #333333 (shadow kept); the app photo is the owner's iPhone
   mock-up on black (object-fit: contain, so the phone is never cropped). !important: the Wix styles come after this file in
   <head> and set the variables on the same ids ---- */
#comp-mv7z05gq, #comp-mv7z05hf, #comp-mv7z05hi, #comp-mv7z05gq .wixui-rich-text, #comp-mv7z05gq .wixui-image,
#comp-m5e6rjn4, #comp-m5e6rjo8, #comp-m5e6rjoh, #comp-m5fv246k { --bg-overlay-color: #333333 !important; }
#comp-mv7z05ht4 { --bg-overlay-color: #000000 !important; }
#comp-mv7z05gq .wixui-rich-text__text, #comp-m5e6rjn4 .wixui-rich-text__text { color: #ffffff !important; }
#comp-m5e7sjbw { --lnw: 1px; border-color: rgba(255, 255, 255, 0.35) !important; }
#comp-m5e7sjbw * { border-color: rgba(255, 255, 255, 0.35) !important; }
/* "ORDER NOW": the brown fill (#383129) vanishes on #333333; an outline button with white text and a white hairline frame
   (owner 2026-10-22/24: "change the frame around the order now button", "button lines thinner": 0.5px, one device pixel on
   retina screens), filled in the header gold on hover */
#comp-m5e6rjn4 .wixui-button { background: transparent !important; border: 0.5px solid rgba(255, 255, 255, 0.85) !important; transition: background-color .2s ease, border-color .2s ease; }
#comp-m5e6rjn4 .wixui-button * { color: #ffffff !important; }
#comp-m5e6rjn4 .wixui-button:hover { background: #b08d57 !important; border-color: #b08d57 !important; }
/* book strip: the kicker "WORLD'S 101 BEST STEAK RESTAURANTS" and the title "Coffee Table Book" were white on white (invisible
   on Wix too). On phones they read above the book; on desktop they overlap the "OUT NOW" heading, so they stay out there */
body:not(.device-mobile-optimized) #comp-mulgxgtw, body:not(.device-mobile-optimized) #comp-m5e6rjoo { display: none !important; }
/* book and app strips: two matching sections, both --home-strip-h tall on desktop (owner 2026-10-24: "bring the Book section to
   the same heights as the App Section", then "give both sections some more heights to build two similar well proportioned
   sections": 553px -> 680px). The 87px band above the book strip only held the invisible "our Book" menu anchor and its
   margins: the anchor stays (for the menu link) but takes no room. The book text mirrors the app strip (owner 2026-10-24):
   kicker "- OUT NOW -" (font_7 18px), headline "THE BOOK" (font_4 45px like "THE WORLD"), subheading "THE ULTIMATE GUIDE / TO
   THE STEAK WORLD" (font_4 24px), body (font_8 16px, left-aligned), italic note, then the button; the HTML uses the app
   strip's own classes. Both text columns are centred vertically. The artwork (/assets/custom/book-steak-dark-crop.avif: the
   dark book image cropped so the book is 72% of its height) is sized from the column width like the iPhone mock-up next door,
   so the book stays at 85% of the phone's height at every width ("proportional to the iPhone, not quite as big"): phone =
   0.856 x min(80.03cqw, 680px), book box = 0.85 x phone / 0.72 = min(80.9cqw, 687px); its background is exactly #333333, so
   the letterbox is invisible */
:root { --home-strip-h: 680px; }
body:not(.device-mobile-optimized) [data-mesh-id="comp-m5e6rjn4inlineContent-gridContainer"] { grid-template-rows: 0 auto !important; }
body:not(.device-mobile-optimized) #comp-m5fv246k { margin: 0 !important; height: 0 !important; overflow: hidden; }
body:not(.device-mobile-optimized) #comp-m5e6rjo8, body:not(.device-mobile-optimized) #comp-m5e6rjoh, body:not(.device-mobile-optimized) #comp-m5e6rjpf,
body:not(.device-mobile-optimized) [data-mesh-id="comp-m5e6rjpfinlineContent"] { min-height: var(--home-strip-h) !important; height: var(--home-strip-h) !important; }
body:not(.device-mobile-optimized) #comp-m5e6rjpf { container-type: inline-size; overflow: hidden; }
body:not(.device-mobile-optimized) #comp-m5e6rjpf img { object-fit: contain !important; height: var(--book-box-h) !important; width: 100% !important;
  position: relative; top: 50%; transform: translateY(-50%); }
body:not(.device-mobile-optimized) [data-mesh-id="comp-m5e6rjohinlineContent-gridContainer"] {
  display: flex !important; flex-direction: column; align-items: center; justify-content: center; height: var(--home-strip-h) !important; min-height: 0 !important; }
body:not(.device-mobile-optimized) [data-mesh-id="comp-m5e6rjohinlineContent-gridContainer"] > * { margin: 0 !important; left: 0 !important; align-self: center !important; flex-shrink: 0; }
body:not(.device-mobile-optimized) #comp-m5e7kc8q, body:not(.device-mobile-optimized) #comp-mnwtft0c { height: auto !important; min-height: 0 !important; }
#comp-m5e7sjbw { display: none !important; }
#comp-m5e7kc8q .book-body { margin-top: 30px; text-align: justify !important; hyphens: auto; -webkit-hyphens: auto; }   /* owner 2026-10-24: "body text in block"; hyphenation (lang="en") keeps the word gaps even in the 425px/280px column */
body:not(.device-mobile-optimized) #comp-m5e768tn { width: 425px !important; }
body:not(.device-mobile-optimized) #comp-m5e7kc8q { width: 485px !important; margin-top: 46px !important; }
body:not(.device-mobile-optimized) #comp-m5e7kc8q h4 { white-space: nowrap; }
body:not(.device-mobile-optimized) #comp-m5e7kc8q .book-body { width: 425px; margin-left: auto; margin-right: auto; }
/* the note as on the original Wix page (owner 2026-10-24: "arrange the Available text exactly like" the old screenshot): 11px
   italic Quicksand, 310px wide, left-aligned, indented 34px from the body text's left edge (margin -47px = 2 x the shift of its
   centre in the centred column); then the button */
body:not(.device-mobile-optimized) #comp-mnwtft0c { order: 1; width: 310px !important; margin: 44px 0 0 -47px !important; }
#comp-mnwtft0c p { text-align: left !important; }
body:not(.device-mobile-optimized) #comp-mnwub35p { order: 2; margin-top: 40px !important; }
/* App Store badge: the image is a screenshot with a white margin and square white corners outside its rounded black border.
   Clip along the border's outer edge, measured on the 210 x 68 px rendition: 3px in from the left, 2px from the right, 1px from
   the top, flush at the bottom, corner radius about 10px (4.7% of the width / 14.5% of the height); every rendition has the
   same proportions */
#comp-mv7zyypy img { clip-path: inset(1.5% 0.95% 0 1.43% round 4.7% / 14.5%) !important; }

/* ---- dark header (owner 2026-10-22: "make the header colour including the dropdown menu the same as the footer colour and
   change the font colour to #b08d57"): #333333 header strip, desktop dropdowns and phone menu panel; menu text, "EST. 2018",
   the account icon, the hamburger and the logo in #b08d57. The logo file is black on transparent, so it is drawn as a mask
   filled with the gold (no new image file; the <img> keeps its alt text and size) ---- */
#SITE_HEADER, #SITE_HEADER .wixui-column-strip__column, #comp-mv7v1v4q, #comp-muwxa7y1, #comp-mv6fkz36 { --bg-overlay-color: #333333 !important; }
#SITE_HEADER [data-testid="colorUnderlay"] { background-color: #333333 !important; }
#SITE_HEADER .wixui-rich-text__text, #SITE_HEADER .wixui-horizontal-menu__item-label,
#SITE_HEADER [class*="__label"], #SITE_HEADER .wixui-button * { color: #b08d57 !important; }
#SITE_HEADER svg, #SITE_HEADER svg * { fill: #b08d57 !important; }
#SITE_HEADER [class*="submenu"][class*="__root"] { background-color: #333333 !important; }
#SITE_HEADER [class*="__menuItem"]:hover [class*="__label"], #SITE_HEADER [class*="itemDepth"]:hover > [class*="__label"] { color: #d6b98a !important; }
#comp-muwxa7y1 > a { display: block; width: 100%; height: 100%; background-color: #b08d57;
  -webkit-mask: url("/assets/static.wixstatic.com/media/0ec20a_0000035cbeb3414e8f6aeb11c220ae9d_mv2.png/v1/crop/x_436_y_360_w_1307_h_1326/fill/w_222_h_228_al_c_q_85_usm_0.66_1.00_0.01_enc_avif_quality_auto/W101B_black.avif") center / contain no-repeat;
          mask: url("/assets/static.wixstatic.com/media/0ec20a_0000035cbeb3414e8f6aeb11c220ae9d_mv2.png/v1/crop/x_436_y_360_w_1307_h_1326/fill/w_222_h_228_al_c_q_85_usm_0.66_1.00_0.01_enc_avif_quality_auto/W101B_black.avif") center / contain no-repeat; }
#comp-muwxa7y1 img { opacity: 0 !important; }
/* hamburger (both documents) and the phone menu panel */
#MENU_AS_CONTAINER_TOGGLE span { background-color: #b08d57 !important; }
#MENU_AS_CONTAINER [data-testid="colorUnderlay"] { background-color: #333333 !important; }
#MENU_AS_CONTAINER .wixui-vertical-menu__item-label, #MENU_AS_CONTAINER a, #MENU_AS_CONTAINER span { color: #b08d57 !important; }
#MENU_AS_CONTAINER li { border-color: rgba(176, 141, 87, 0.25) !important; }
#MENU_AS_CONTAINER svg, #MENU_AS_CONTAINER svg * { fill: #b08d57 !important; }

/* ---- hero logo alignment (owner 2026-10-22: "the respective logo of every page on the top big image is the same size and
   coordinate so clicking through sites is smooth"): on every page with a logo on the hero image the visible wordmark
   ("WORLD'S 101 BEST") is 190px wide with its top edge 176px below the hero top on desktop, 150px / 30px on phones, centred.
   Values computed from each logo file's visible bounding box and the Wix mesh margins (scratch hero-logos.json). ---- */
body:not(.device-mobile-optimized) #comp-muttoyhn { width: 267px !important; height: 266px !important; margin: 156px 0 54px 0 !important; left: 0 !important; justify-self: center !important; }   /* / */
body.device-mobile-optimized #comp-muttoyhn { width: 211px !important; height: 211px !important; margin: 14px 0 10px 0 !important; left: 0 !important; justify-self: center !important; }   /* / */
#comp-muttoyhn wow-image, #comp-muttoyhn img { width: 100% !important; height: 100% !important; }
body:not(.device-mobile-optimized) #comp-mv7ua7d4 { width: 480px !important; height: 480px !important; margin: 93px 0 39px 0 !important; left: 0 !important; justify-self: center !important; }   /* /fish-restaurants */
body.device-mobile-optimized #comp-mv7ua7d4 { width: 378px !important; height: 378px !important; margin: -35px 0 10px 0 !important; left: 0 !important; justify-self: center !important; }   /* /fish-restaurants */
#comp-mv7ua7d4 wow-image, #comp-mv7ua7d4 img { width: 100% !important; height: 100% !important; }
body:not(.device-mobile-optimized) #comp-mv7w9e4t { width: 480px !important; height: 480px !important; margin: 93px 0 39px 0 !important; left: 0 !important; justify-self: center !important; }   /* /boutique-hotels */
body.device-mobile-optimized #comp-mv7w9e4t { width: 378px !important; height: 378px !important; margin: -35px 0 10px 0 !important; left: 0 !important; justify-self: center !important; }   /* /boutique-hotels */
#comp-mv7w9e4t wow-image, #comp-mv7w9e4t img { width: 100% !important; height: 100% !important; }

/* ---- "FOOD & HOSPITALITY EXPERTS" (owner 2026-10-22: "split the text in headline and subline in a left column and the rest
   of the text in a right column, keep the body text oriented to the left, put the signature on top of Ekkehard Knobelspies
   and give a well proportioned space between the body text and the signature"). Desktop: the section's mesh grid (four
   stacked rows with fixed heights) becomes two columns, headline + subline + divider on the left (left-aligned), body and
   signature block on the right; heights follow the content. Phones keep the stacked layout. The signature
   (/assets/custom/signature-ekkehard-knobelspies.svg, traced to vector from the owner's 160x64px PNG so it is sharp at any size) is drawn as a mask in the name's
   #333333, like the header logo ---- */
body:not(.device-mobile-optimized) #comp-m5flvmf3 [data-mesh-id="comp-m5flvmf3inlineContent-gridContainer"] { grid-template-rows: auto !important; min-height: auto !important; height: auto !important; }
body:not(.device-mobile-optimized) #comp-m5flvmg2, body:not(.device-mobile-optimized) #comp-m5flvmgo { min-height: auto !important; height: auto !important; }
body:not(.device-mobile-optimized) [data-mesh-id="comp-m5flvmgoinlineContent-gridContainer"] {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; grid-template-rows: auto auto 1fr auto !important;
  column-gap: 96px; max-width: 1200px; margin: 0 auto; padding: 120px 40px 120px; box-sizing: border-box;
  min-height: auto !important; height: auto !important; }
body:not(.device-mobile-optimized) [data-mesh-id="comp-m5flvmgoinlineContent-gridContainer"] > * { margin: 0 !important; left: 0 !important; width: auto !important; justify-self: stretch !important; }
/* (owner 2026-10-24: "bring the left text further down to center it"): the headline block spans the whole right column (body +
   signature) and is centred vertically in it; the divider is drawn under the subline so it moves with the text */
/* (owner 2026-10-24, later: "start the text at the top to the red arrow"): 50px above the centred position */
body:not(.device-mobile-optimized) #comp-m5flvmgq1 { grid-area: 1 / 1 / 5 / 2 !important; align-self: center !important; transform: translateY(-50px); }
body:not(.device-mobile-optimized) #comp-m5flvmgq1::after { content: ""; display: block; width: 120px; margin-top: 32px; border-top: 1px solid rgba(0, 0, 0, 0.25); }
body:not(.device-mobile-optimized) #comp-mv7tkh0r { display: none !important; }
body:not(.device-mobile-optimized) #comp-m5flvmgq1 h3 { text-align: left !important; line-height: 1.15em !important; }
body:not(.device-mobile-optimized) #comp-m5flvmgq1 h3 > span > span:last-child { display: inline-block; margin-top: 14px; line-height: 1.3em; }   /* the subline */
body:not(.device-mobile-optimized) #comp-mv7tkh0r { grid-area: 2 / 1 / 3 / 2 !important; width: 120px !important; justify-self: start !important; margin-top: 32px !important; }
body:not(.device-mobile-optimized) #comp-m5fppxu2 { grid-area: 1 / 2 / 4 / 3 !important; padding-top: 6px; }
body:not(.device-mobile-optimized) #comp-m5fppxu2 p { text-align: left !important; }
body:not(.device-mobile-optimized) #comp-m5fpsb8j { grid-area: 4 / 2 / 5 / 3 !important; margin-top: 64px !important; }
#comp-m5fpsb8j::before { content: ""; display: block; width: 92px; height: 70px; margin: 0 0 10px -4px; background-color: #333333;
  -webkit-mask: url("/assets/custom/signature-ekkehard-knobelspies.svg") left bottom / contain no-repeat;
          mask: url("/assets/custom/signature-ekkehard-knobelspies.svg") left bottom / contain no-repeat; }
body.device-mobile-optimized #comp-m5fpsb8j::before { margin-top: 36px; width: 84px; height: 64px; }   /* phones: the stacked layout leaves only ~20px above the name block */
/* book strip on phones, mirroring the app strip (owner 2026-10-24): the old "WORLD'S 101 BEST STEAK RESTAURANTS / Coffee Table
   Book" title is replaced by the new heading, the text column comes first and the book after it (the phone document has the
   artwork column first), and the text stacks kicker, heading, body, button and note like the app strip's 280px column */
body.device-mobile-optimized #comp-mulgxgtw, body.device-mobile-optimized #comp-m5e6rjoo { display: none !important; }
body.device-mobile-optimized #comp-m5e6rjo8 .Ak0vpt { display: flex !important; flex-direction: column; }
body.device-mobile-optimized #comp-m5e6rjoh { order: -1; }
body.device-mobile-optimized [data-mesh-id="comp-m5e6rjohinlineContent-gridContainer"] {
  display: flex !important; flex-direction: column; align-items: center; padding: 36px 0 4px; height: auto !important; min-height: 0 !important; }
body.device-mobile-optimized [data-mesh-id="comp-m5e6rjohinlineContent-gridContainer"] > * { margin: 0 !important; left: 0 !important; align-self: center !important; height: auto !important; min-height: 0 !important; }
body.device-mobile-optimized #comp-m5e768tn, body.device-mobile-optimized #comp-m5e7kc8q, body.device-mobile-optimized #comp-mnwtft0c { width: 280px !important; }
body.device-mobile-optimized #comp-m5e7kc8q { margin-top: 22px !important; }
body.device-mobile-optimized #comp-m5e7kc8q .book-body { margin-top: 24px; }
body.device-mobile-optimized #comp-mnwtft0c { order: 1; margin-top: 30px !important; }
body.device-mobile-optimized #comp-mnwub35p { order: 2; margin-top: 32px !important; height: 42px !important; }

/* app strip at the same height as the book strip (see "book and app strips" above): the column contents are centred in
   --home-strip-h with the original gaps (kicker 58px, heading 65px, body 91px, badge 11px note) */
body:not(.device-mobile-optimized) [data-mesh-id="comp-mv7z05gqinlineContent-gridContainer"] { grid-template-rows: auto !important; min-height: 0 !important; height: auto !important; }
body:not(.device-mobile-optimized) #comp-mv7z05hf, body:not(.device-mobile-optimized) #comp-mv7z05hi, body:not(.device-mobile-optimized) #comp-mv7z05ht4,
body:not(.device-mobile-optimized) [data-mesh-id="comp-mv7z05ht4inlineContent"] { min-height: var(--home-strip-h) !important; height: var(--home-strip-h) !important; }
body:not(.device-mobile-optimized) [data-mesh-id="comp-mv7z05hiinlineContent-gridContainer"] {
  display: flex !important; flex-direction: column; align-items: center; justify-content: center; height: var(--home-strip-h) !important; min-height: 0 !important; }
body:not(.device-mobile-optimized) [data-mesh-id="comp-mv7z05hiinlineContent-gridContainer"] > * { margin: 0 !important; left: 0 !important; align-self: center !important; flex-shrink: 0; }
body:not(.device-mobile-optimized) [data-mesh-id="comp-mv7z05hiinlineContent-gridContainer"] > [data-mesh-id*="wedge"] { display: none !important; }   /* Wix spacer that would push the stack up */
body:not(.device-mobile-optimized) #comp-mv7z1zb5 { margin-top: 58px !important; }
body:not(.device-mobile-optimized) #comp-mv7z6fx7 { margin-top: 65px !important; }
body:not(.device-mobile-optimized) #comp-mv7zyypy { margin-top: 91px !important; }
body:not(.device-mobile-optimized) #comp-mv7za3ut { margin-top: 11px !important; }

/* Instagram icon pinned on the right (owner 2026-10-24: "in the same gold font colour"): the icon file is white on transparent,
   drawn as a mask in the header gold #b08d57 */
#comp-mv7yjvqt a { display: block; background-color: #b08d57;
  -webkit-mask: url("/assets/static.wixstatic.com/media/11062b_cef3b719166a4815b446d4dcfcb6120d_mv2.png/v1/fill/w_56_h_56_al_c_q_85_usm_0.66_1.00_0.01_enc_avif_quality_auto/11062b_cef3b719166a4815b446d4dcfcb6120d_mv2.avif") center / contain no-repeat;
          mask: url("/assets/static.wixstatic.com/media/11062b_cef3b719166a4815b446d4dcfcb6120d_mv2.png/v1/fill/w_56_h_56_al_c_q_85_usm_0.66_1.00_0.01_enc_avif_quality_auto/11062b_cef3b719166a4815b446d4dcfcb6120d_mv2.avif") center / contain no-repeat; }
#comp-mv7yjvqt a img { opacity: 0 !important; }

/* book strip, desktop (owner 2026-10-24: "more space between Available worldwide and the order button, button a bit lower; its
   bottom edge must not go past the book on the right but end a little above it"). The book box height --book-box-h follows the
   column width (see "book and app strips"; at least 460px so the book stays about the phone's size in narrow windows). In the
   cropped artwork the book's bottom edge sits at 86.02% of the box, so in the strip it is at H/2 + 0.3602 x box. The text column
   is aligned to the bottom with a padding that puts the button's bottom edge 12px above that line at every width:
   padding-bottom = H/2 + 12px - 0.3602 x box. Both columns are the same width (50%), so cqw means the same in both */
body:not(.device-mobile-optimized) #comp-m5e6rjpf, body:not(.device-mobile-optimized) #comp-m5e6rjoh { container-type: inline-size; --book-box-h: clamp(460px, 80.9cqw, 687px); }
body:not(.device-mobile-optimized) [data-mesh-id="comp-m5e6rjohinlineContent-gridContainer"] {
  justify-content: flex-end !important; padding-bottom: calc(var(--home-strip-h) / 2 + 12px - 0.3602 * var(--book-box-h)); box-sizing: border-box; }

/* ---- page order: the home sections were pinned to fixed rows of the page grid (Wix mesh); they now follow the document
   order so new editorial sections can be placed by their position in the HTML (2026-10-24) ---- */
[data-mesh-id="Containerc1dmpinlineContent-gridContainer"] { grid-template-rows: none !important; grid-auto-rows: min-content; }
[data-mesh-id="Containerc1dmpinlineContent-gridContainer"] > *, [data-mesh-id="Containerc1dmpinlineContent-gridContainer"] > interact-element > * { grid-area: auto !important; }

/* ---- UNCOVERED (owner 2026-10-24): editorial section between the four rankings and the book, deliberately quieter than the
   rankings (no new logo, no borders, white page background, the site's own type: The Seasons for the headline, Poppins light
   for text, #333333). Desktop: centred heading block, then an asymmetrical grid - a tall image on the left half spanning both
   rows, two 3:2 images stacked on the right, 32px between all images - each with a two-line caption; CTA as a hairline
   outline button like ORDER NOW. Images zoom gently on hover. Phones and narrow windows: one column, tall image 4:5, the
   others 3:2. Images are neutral placeholders (/assets/custom/uncovered-placeholder-*.svg) until the photography arrives ---- */
.w101-uncovered { width: 100%; background: #ffffff; color: #333333; }
/* (owner 2026-10-25: "make the whole section about 20% smaller"): content 840px instead of 1040px, spacing and headline scaled
   by ~0.8, captions and small text unchanged so they stay readable */
.w101-uncovered__inner { max-width: 920px; margin: 0 auto; padding: 100px 40px 108px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; }
.w101-uncovered__head { text-align: center; max-width: 640px; margin-bottom: 56px; }
.w101-uncovered__kicker { margin: 0 0 18px; font: 200 14px/1.4 poppins-v2, sans-serif; letter-spacing: 0.28em; color: #333333; }
.w101-uncovered__title { margin: 0; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif;
  font-weight: 400; font-size: 42px; line-height: 1.2; letter-spacing: 0.04em; color: #333333; }
.w101-uncovered__intro { margin: 22px 0 0; font: 200 15px/1.75 poppins-v2, sans-serif; letter-spacing: 0.05em; color: #333333; }
.w101-uncovered__grid { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 26px; row-gap: 26px; }
.w101-uncovered__item { margin: 0; display: flex; flex-direction: column; min-width: 0; }
.w101-uncovered__item--tall { grid-row: 1 / span 2; }
.w101-uncovered__media { position: relative; overflow: hidden; background: #edebe9; }
.w101-uncovered__item--tall .w101-uncovered__media { flex: 1 1 auto; min-height: 0; }
.w101-uncovered__item--wide .w101-uncovered__media { aspect-ratio: 3 / 2; }
.w101-uncovered__media img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform 1.2s cubic-bezier(0.2, 0.6, 0.2, 1); }
.w101-uncovered__item--tall .w101-uncovered__media img { position: absolute; inset: 0; }
.w101-uncovered__item:hover .w101-uncovered__media img { transform: scale(1.04); }
.w101-uncovered__caption { margin-top: 14px; display: flex; flex-direction: column; gap: 4px; }
.w101-uncovered__name { font: 300 12px/1.4 poppins-v2, sans-serif; letter-spacing: 0.2em; color: #333333; }
.w101-uncovered__place { font: italic 200 13px/1.4 poppins-v2, sans-serif; letter-spacing: 0.04em; color: rgba(51, 51, 51, 0.75); }
.w101-uncovered__cta { margin-top: 56px; display: inline-block; padding: 13px 34px; border: 0.5px solid #333333; font: 200 13px/1.4 poppins-v2, sans-serif;
  letter-spacing: 0.18em; color: #333333; text-decoration: none; transition: background-color .25s ease, color .25s ease; }
.w101-uncovered__cta:hover, .w101-uncovered__cta:focus-visible { background: #333333; color: #ffffff; }
@media (prefers-reduced-motion: reduce) { .w101-uncovered__media img { transition: none; } .w101-uncovered__item:hover .w101-uncovered__media img { transform: none; } }
/* tablet portrait and phones */
@media (max-width: 760px) {
  .w101-uncovered__grid { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
  .w101-uncovered__item--tall { grid-row: auto; }
  .w101-uncovered__item--tall .w101-uncovered__media { flex: none; aspect-ratio: 4 / 5; }
}
body.device-mobile-optimized .w101-uncovered__inner { padding: 58px 20px 64px; }
body.device-mobile-optimized .w101-uncovered__head { margin-bottom: 36px; }
body.device-mobile-optimized .w101-uncovered__kicker { font-size: 12px; margin-bottom: 16px; }
body.device-mobile-optimized .w101-uncovered__title { font-size: 30px; }
body.device-mobile-optimized .w101-uncovered__intro { font-size: 14px; margin-top: 20px; }
body.device-mobile-optimized .w101-uncovered__intro br { display: none; }
body.device-mobile-optimized .w101-uncovered__grid { grid-template-columns: minmax(0, 1fr); row-gap: 30px; }
body.device-mobile-optimized .w101-uncovered__item--tall { grid-row: auto; }
body.device-mobile-optimized .w101-uncovered__item--tall .w101-uncovered__media { flex: none; aspect-ratio: 4 / 5; }
body.device-mobile-optimized .w101-uncovered__cta { margin-top: 40px; }

/* ---- COUP DE CŒUR (owner 2026-10-24): personal-journal counterpart to UNCOVERED, between the app strip and "Beyond the
   Rankings". Same dark #333333 as the header, book and app strips and white type; left-aligned text (UNCOVERED is centred)
   beside one large 3:2 image taking 60% of the section width on desktop and running to the right edge like the book and
   app artwork; on phones the text sits above the image. Headline in the
   site's serif (The Seasons has no true italic); the subline opens the body text (owner 2026-10-24). CTA
   styled exactly like ORDER NOW: white hairline, white text, gold fill on hover. No hover effects on the image. The image
   is a neutral placeholder (/assets/custom/coup-de-coeur-placeholder.svg) until the photography arrives ---- */
.w101-cdc { width: 100%; background: #333333; color: #ffffff; }
/* desktop height: two thirds of the app strip (owner 2026-10-24); the image fills the full height of its 60% column (cover),
   so it becomes a wide, cinematic crop (about 1.9:1 at 1440px) */
.w101-cdc__inner { box-sizing: border-box; display: grid; grid-template-columns: 40% 60%; align-items: center; height: calc(var(--home-strip-h) * 2 / 3); }
.w101-cdc__text { display: flex; flex-direction: column; align-items: flex-start; box-sizing: border-box;
  padding: 0 64px 0 max(40px, calc((100vw - 1280px) / 2)); }   /* left edge on the 1280px content grid, at least 40px */
.w101-cdc__kicker { margin: 0 0 24px; font: 200 18px/1.4 poppins-v2, sans-serif; letter-spacing: normal; color: #ffffff; }   /* "- EDITOR'S FAVOURITE -" like "- COMING SOON -" (font_7) */
.w101-cdc__title { margin: 0; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif;
  font-weight: 400; font-size: 50px; line-height: 1.15; letter-spacing: 0.04em; color: #ffffff; white-space: nowrap; }
.w101-cdc__body { margin: 26px 0 0; max-width: 400px; font: 200 16px/1.75 poppins-v2, sans-serif; letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.85); }
.w101-cdc__cta { margin-top: 40px; display: inline-block; padding: 13px 34px; border: 0.5px solid rgba(255, 255, 255, 0.85);
  font: 200 13px/1.4 poppins-v2, sans-serif; letter-spacing: 0.18em; color: #ffffff; text-decoration: none; transition: background-color .2s ease, border-color .2s ease; }
.w101-cdc__cta:hover, .w101-cdc__cta:focus-visible { background: #b08d57; border-color: #b08d57; }
.w101-cdc__media { margin: 0; height: 100%; align-self: stretch; overflow: hidden; background: #3d3d3d; }
.w101-cdc__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 760px) {
  .w101-cdc__inner { grid-template-columns: minmax(0, 1fr); row-gap: 48px; padding: 96px 0 0; height: auto; }
  .w101-cdc__media { height: auto; aspect-ratio: 3 / 2; }
  .w101-cdc__text { padding: 0 40px; }
}
body.device-mobile-optimized .w101-cdc__inner { grid-template-columns: minmax(0, 1fr); row-gap: 44px; padding: 80px 0 0; height: auto; }
body.device-mobile-optimized .w101-cdc__media { height: auto; aspect-ratio: 3 / 2; }
body.device-mobile-optimized .w101-cdc__text { padding: 0 20px; }
body.device-mobile-optimized .w101-cdc__kicker { font-size: 17px; margin-bottom: 16px; }
body.device-mobile-optimized .w101-cdc__title { font-size: 34px; }
body.device-mobile-optimized .w101-cdc__body { font-size: 14px; margin-top: 18px; }
body.device-mobile-optimized .w101-cdc__cta { margin-top: 36px; }
/* both editorial CTAs stay on one line (the arrow wrapped on phones) */
.w101-uncovered__cta, .w101-cdc__cta { white-space: nowrap; }
body.device-mobile-optimized .w101-uncovered__cta, body.device-mobile-optimized .w101-cdc__cta { padding: 13px 22px; font-size: 12px; letter-spacing: 0.14em; }
/* "ORDER NOW" in the editorial CTA type (owner 2026-10-24: same font and size as "EXPLORE OUR FAVOURITES") */
#comp-m5e6rjn4 .wixui-button__label { font: 200 13px/1.4 poppins-v2, sans-serif !important; letter-spacing: 0.18em !important; }
body.device-mobile-optimized #comp-m5e6rjn4 .wixui-button__label { font-size: 12px !important; letter-spacing: 0.14em !important; }

/* ---- /about: three generous horizontal bands (owner 2026-10-25). Left: headline in caps in the home's headline style
   (The Seasons, 0.04em tracking, between UNCOVERED 42px and COUP DE CŒUR 50px); right: a large statement and the
   explanatory text in Poppins light. Bands step white -> #edebe9 -> #333333 (darkest last). Texts fade in once on
   scroll (.w101-fade, inline script); without JS or with reduced motion everything is simply visible ---- */
.w101-about__h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.w101-about__row { display: flex; align-items: center; min-height: 68vh; box-sizing: border-box; padding: 110px 0; }
.w101-about__row--1 { background: #ffffff; color: #333333; }
.w101-about__row--2 { background: #edebe9; color: #333333; }
.w101-about__row--3 { background: #333333; color: #ffffff; border-bottom: 1px solid rgba(255,255,255,.14); }
.w101-about__inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 60px; box-sizing: border-box;
  display: grid; grid-template-columns: 38% 1fr; column-gap: 6%; align-items: start; }
.w101-about__head { margin: 0; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif; font-weight: 400; font-size: 46px; line-height: 1.15;
  letter-spacing: 0.04em; text-transform: uppercase; color: inherit; }
.w101-about__statement { margin: 6px 0 34px; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif; font-weight: 400; font-size: 32px; line-height: 1.3;
  letter-spacing: 0; color: inherit; }
.w101-about__row--3 .w101-about__statement { color: #b08d57; }
.w101-about__copy p { margin: 0 0 16px; font: 200 16px/1.8 poppins-v2, sans-serif; letter-spacing: 0.02em; color: inherit; max-width: 600px; }
.w101-about__copy p:last-child { margin-bottom: 0; }
html.w101-fade-on .w101-fade { opacity: 0; transform: translateY(14px); transition: opacity .9s ease, transform .9s ease; }
html.w101-fade-on .w101-fade.is-in { opacity: 1; transform: none; }
html.w101-fade-on .w101-about__statement.w101-fade { transition-delay: .15s; }
html.w101-fade-on .w101-about__copy.w101-fade { transition-delay: .3s; }
body.device-mobile-optimized .w101-about__row { display: block; min-height: 0; padding: 64px 0; }
body.device-mobile-optimized .w101-about__inner { display: block; padding: 0 24px; }
body.device-mobile-optimized .w101-about__head { font-size: 30px; margin-bottom: 18px; }
body.device-mobile-optimized .w101-about__statement { font-size: 22px; margin: 0 0 22px; }
body.device-mobile-optimized .w101-about__copy p { font-size: 14px; line-height: 1.75; margin-bottom: 14px; }

/* ---- /media: press hub built by _cms/build-media.mjs from _cms/media.json. Deliberately understated: hero on #edebe9,
   releases on white, resources on #edebe9, enquiries on #333 (darkest last, like /about). Headings The Seasons with the
   home's 0.04em tracking, small labels Poppins light with wide tracking, buttons as EXPLORE UNCOVERED ---- */
.w101-media { color: #333333; }
.w101-media__inner { max-width: 1120px; margin: 0 auto; padding: 0 60px; box-sizing: border-box; }
.w101-media__hero { background: #edebe9; padding: 110px 0 96px; }
.w101-media__kicker { margin: 0 0 18px; font: 200 14px/1.4 poppins-v2, sans-serif; letter-spacing: 0.28em; }
.w101-media__h1 { margin: 0; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif; font-weight: 400; font-size: 72px; line-height: 1.05; letter-spacing: 0.04em; color: #333333; }
.w101-media__intro { margin: 26px 0 0; max-width: 560px; font: 200 18px/1.7 poppins-v2, sans-serif; letter-spacing: 0.02em; }
.w101-media__h2 { margin: 0; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif; font-weight: 400; font-size: 42px; line-height: 1.2; letter-spacing: 0.04em; color: inherit; }
.w101-media__sub { margin: 16px 0 0; max-width: 560px; font: 200 16px/1.75 poppins-v2, sans-serif; letter-spacing: 0.02em; }
/* releases */
.w101-media__releases { background: #ffffff; padding: 100px 0 110px; }
.w101-media__bar { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; margin-bottom: 40px; }
.w101-media__filters { display: flex; gap: 20px; margin: 0; }
.w101-media__filter { display: flex; flex-direction: column; gap: 8px; font: 300 11px/1 poppins-v2, sans-serif; letter-spacing: 0.2em; }
.w101-media__filter select { -webkit-appearance: none; appearance: none; min-width: 190px; height: 44px; padding: 0 40px 0 16px; border: 0.5px solid #333333;
  border-radius: 0; background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23333' stroke-width='1'/%3E%3C/svg%3E") no-repeat right 16px center;
  font: 300 14px/1 poppins-v2, sans-serif; letter-spacing: 0.02em; color: #333333; cursor: pointer; }
.w101-media__filter select:hover { border-color: #b08d57; }
.w101-media__filter select:focus-visible { outline: 1px solid #b08d57; outline-offset: 2px; }
.w101-media__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(51,51,51,.85); }
.w101-media__row { position: relative; display: grid; grid-template-columns: 130px 190px 1fr auto; align-items: center; column-gap: 28px;
  min-height: 84px; padding: 18px 0; border-bottom: 1px solid rgba(51,51,51,.18); transition: background-color .2s ease; }
.w101-media__row[hidden], .w101-media__more[hidden], .w101-media__empty[hidden] { display: none; }
.w101-media__row:hover { background: rgba(237,235,233,.55); }
.w101-media__date, .w101-media__cat { font: 300 12px/1.4 poppins-v2, sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: #333333; }
.w101-media__cat { color: #7a7a7a; }
.w101-media__title { font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif; font-size: 23px; line-height: 1.3; color: #333333; text-decoration: none; transition: color .2s ease; }
.w101-media__title::after { content: ""; position: absolute; inset: 0; }   /* whole row opens the PDF */
.w101-media__dl { position: relative; z-index: 1; font: 300 12px/1.4 poppins-v2, sans-serif; letter-spacing: 0.18em; color: #333333; text-decoration: none; white-space: nowrap; transition: color .2s ease; }
.w101-media__dl span { display: inline-block; margin-left: 6px; transition: transform .2s ease; }
.w101-media__row:hover .w101-media__title, .w101-media__row:hover .w101-media__dl { color: #b08d57; }
.w101-media__row:hover .w101-media__dl span { transform: translateY(2px); }
.w101-media__title:focus-visible, .w101-media__dl:focus-visible { outline: 1px solid #b08d57; outline-offset: 4px; }
.w101-media__empty { margin: 32px 0 0; font: 200 16px/1.6 poppins-v2, sans-serif; }
.w101-media__status { margin: 22px 0 0; font: 300 12px/1.4 poppins-v2, sans-serif; letter-spacing: 0.12em; color: #7a7a7a; }
.w101-media__more, .w101-media__cta { display: inline-block; margin-top: 36px; padding: 13px 34px; border: 0.5px solid #333333; background: transparent; border-radius: 0;
  font: 200 13px/1.4 poppins-v2, sans-serif; letter-spacing: 0.18em; color: #333333; text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
.w101-media__more:hover, .w101-media__more:focus-visible { background: #333333; color: #ffffff; }
/* resources */
.w101-media__resources { background: #edebe9; padding: 96px 0 104px; }
.w101-media__cards { list-style: none; margin: 44px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.w101-media__card { position: relative; display: flex; flex-direction: column; min-height: 230px; padding: 36px 32px 32px; box-sizing: border-box;
  background: #ffffff; border: 0.5px solid rgba(51,51,51,.25); transition: border-color .2s ease; }
.w101-media__card:hover { border-color: #b08d57; }
.w101-media__card-title { margin: 0; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif; font-weight: 400; font-size: 24px; line-height: 1.25; letter-spacing: 0.04em; text-transform: uppercase; color: #333333; }
.w101-media__card-text { margin: 14px 0 28px; font: 200 15px/1.7 poppins-v2, sans-serif; letter-spacing: 0.02em; color: #333333; }
.w101-media__card-link { margin-top: auto; font: 300 12px/1.4 poppins-v2, sans-serif; letter-spacing: 0.18em; color: #333333; text-decoration: none; transition: color .2s ease; }
.w101-media__card-link::after { content: ""; position: absolute; inset: 0; }
.w101-media__card-link span { display: inline-block; margin-left: 6px; transition: transform .2s ease; }
.w101-media__card:hover .w101-media__card-link { color: #b08d57; }
.w101-media__card:hover .w101-media__card-link span { transform: translateX(3px); }
.w101-media__card-link:focus-visible { outline: 1px solid #b08d57; outline-offset: 4px; }
/* enquiries */
.w101-media__contact { background: #333333; color: #ffffff; padding: 100px 0 110px; border-bottom: 1px solid rgba(255,255,255,.14); }
.w101-media__contact .w101-media__inner { display: grid; grid-template-columns: 38% 1fr; column-gap: 6%; align-items: start; }
.w101-media__contact .w101-media__sub { margin-top: 6px; }
.w101-media__address { margin: 26px 0 0; font: 200 15px/1.75 poppins-v2, sans-serif; font-style: normal; letter-spacing: 0.04em; color: #b08d57; }
.w101-media__cta { border-color: rgba(255,255,255,.85); color: #ffffff; }
.w101-media__cta:hover, .w101-media__cta:focus-visible { background: #b08d57; border-color: #b08d57; color: #ffffff; }
/* tablet widths of the desktop document */
@media (max-width: 1060px) { .w101-media__row { grid-template-columns: 110px 160px 1fr auto; column-gap: 20px; } }
/* mobile document (320px) */
body.device-mobile-optimized .w101-media__inner { padding: 0 24px; }
body.device-mobile-optimized .w101-media__hero { padding: 64px 0 56px; }
body.device-mobile-optimized .w101-media__kicker { font-size: 12px; margin-bottom: 14px; }
body.device-mobile-optimized .w101-media__h1 { font-size: 46px; }
body.device-mobile-optimized .w101-media__intro { font-size: 15px; margin-top: 18px; }
body.device-mobile-optimized .w101-media__h2 { font-size: 30px; }
body.device-mobile-optimized .w101-media__sub { font-size: 14px; }
body.device-mobile-optimized .w101-media__releases { padding: 60px 0 70px; }
body.device-mobile-optimized .w101-media__bar { display: block; margin-bottom: 28px; }
body.device-mobile-optimized .w101-media__filters { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 26px; }
body.device-mobile-optimized .w101-media__filter select { min-width: 0; width: 100%; height: 42px; padding: 0 30px 0 12px; font-size: 13px; background-position: right 11px center; }
body.device-mobile-optimized .w101-media__row { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 8px; min-height: 0; padding: 22px 0; }
body.device-mobile-optimized .w101-media__date, body.device-mobile-optimized .w101-media__cat { font-size: 11px; letter-spacing: 0.12em; }
body.device-mobile-optimized .w101-media__title { flex: 0 0 100%; font-size: 20px; }
body.device-mobile-optimized .w101-media__dl { font-size: 11px; margin-top: 4px; }
body.device-mobile-optimized .w101-media__more { width: 100%; margin-top: 28px; }
body.device-mobile-optimized .w101-media__resources { padding: 60px 0 66px; }
body.device-mobile-optimized .w101-media__cards { grid-template-columns: 1fr; gap: 14px; margin-top: 30px; }
body.device-mobile-optimized .w101-media__card { min-height: 0; padding: 28px 24px 26px; }
body.device-mobile-optimized .w101-media__card-title { font-size: 21px; }
body.device-mobile-optimized .w101-media__card-text { font-size: 14px; margin-bottom: 20px; }
body.device-mobile-optimized .w101-media__contact { padding: 60px 0 66px; }
body.device-mobile-optimized .w101-media__contact .w101-media__inner { display: block; }
body.device-mobile-optimized .w101-media__contact .w101-media__sub { margin-top: 18px; }
body.device-mobile-optimized .w101-media__cta { padding: 13px 22px; font-size: 12px; letter-spacing: 0.14em; margin-top: 30px; }
/* footer: "Media" added under "About us" in the DISCOVER column, spaced like the other footer links */
.w101-foot-media { display: inline-block; margin-top: 7px; }
body.device-mobile-optimized .w101-foot-media { margin-top: 10px; }
.w101-media__card.is-pending:hover { border-color: rgba(51,51,51,.25); }
.w101-media__card.is-pending .w101-media__card-link { color: #9a9a9a; }
/* card with several page links (Ranking Information): same type as DOWNLOAD, each link on its own line */
.w101-media__card-links { list-style: none; margin: auto 0 0; padding: 0; display: grid; gap: 12px; }
.w101-media__card-links a { font: 300 12px/1.4 poppins-v2, sans-serif; letter-spacing: 0.18em; color: #333333; text-decoration: none; transition: color .2s ease; }
.w101-media__card-links span { display: inline-block; margin-left: 6px; transition: transform .2s ease; }
.w101-media__card-links a:hover { color: #b08d57; }
.w101-media__card-links a:hover span { transform: translateX(3px); }
.w101-media__card-links a:focus-visible { outline: 1px solid #b08d57; outline-offset: 4px; }
.w101-media__row { grid-template-columns: 120px 220px 1fr auto; }   /* category column holds the full ranking names */
@media (max-width: 1060px) { .w101-media__row { grid-template-columns: 105px 180px 1fr auto; } }
/* /media: OFFICIAL RANKING CHARTS sits between press releases (white) and resources, on #edebe9; resources move to white */
.w101-media__releases--charts { background: #edebe9; }
.w101-media__releases--charts .w101-media__row:hover { background: rgba(255,255,255,.6); }
.w101-media__releases--charts .w101-media__filter select { background-color: #edebe9; }
.w101-media__resources { background: #ffffff; }
/* /media fine-tuning (owner 2026-10-25): balanced two-line intro, smaller list titles */
.w101-media__intro { max-width: 520px; text-wrap: balance; }
.w101-media__title { font-size: 20px; }
body.device-mobile-optimized .w101-media__title { font-size: 18px; }
.w101-media__intro { max-width: none; text-wrap: wrap; }   /* desktop: explicit break keeps "media resources" together */
body.device-mobile-optimized .w101-media__intro br { display: none; }
body.device-mobile-optimized .w101-media__intro { text-wrap: balance; }
/* /media: filters always on the right of the section heading (also for the longer OFFICIAL RANKING CHARTS.); on narrow
   desktops the heading wraps instead of pushing the filters below */
body:not(.device-mobile-optimized) .w101-media__bar { flex-wrap: nowrap; }
body:not(.device-mobile-optimized) .w101-media__bar .w101-media__h2 { flex: 0 1 auto; min-width: 0; }
body:not(.device-mobile-optimized) .w101-media__filters { flex: 0 0 auto; gap: 16px; }
body:not(.device-mobile-optimized) .w101-media__filter select { min-width: 160px; }
/* header: person icon (members area) hidden until the members login exists (owner 2026-10-25); remove this rule to bring it back */
#comp-mv6w17he { display: none !important; }
/* UNCOVERED photos (owner 2026-10-25): keep the dry-ageing cabinet in view in the tall frame */
.w101-uncovered__item--tall .w101-uncovered__media img { object-position: 50% 62%; }
/* /uncovered: placeholder until the first UNCOVERED discoveries are published (owner 2026-10-25: "More to come") */
.w101-unc-page { background: #edebe9; color: #333333; display: flex; align-items: center; min-height: 62vh; padding: 110px 0; box-sizing: border-box; }
.w101-unc-page__inner { width: 100%; max-width: 920px; margin: 0 auto; padding: 0 40px; box-sizing: border-box; text-align: center; }
.w101-unc-page__kicker { margin: 0 0 18px; font: 200 14px/1.4 poppins-v2, sans-serif; letter-spacing: 0.28em; }
.w101-unc-page__title { margin: 0; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif;
  font-weight: 400; font-size: 72px; line-height: 1.05; letter-spacing: 0.04em; color: #333333; }
.w101-unc-page__intro { margin: 26px 0 0; font: 200 16px/1.75 poppins-v2, sans-serif; letter-spacing: 0.05em; }
.w101-unc-page__soon { margin: 56px 0 0; font-family: wfont_ec3579_3ef51c88d0d646429781c2ee545fd77e, wf_3ef51c88d0d646429781c2ee5, orig_the_seasons_regular, serif;
  font-size: 32px; line-height: 1.3; color: #b08d57; }
body.device-mobile-optimized .w101-unc-page { min-height: 0; padding: 80px 0; }
body.device-mobile-optimized .w101-unc-page__inner { padding: 0 24px; }
body.device-mobile-optimized .w101-unc-page__kicker { font-size: 12px; }
body.device-mobile-optimized .w101-unc-page__title { font-size: 38px; }
body.device-mobile-optimized .w101-unc-page__intro { font-size: 14px; }
body.device-mobile-optimized .w101-unc-page__intro br { display: none; }
body.device-mobile-optimized .w101-unc-page__soon { font-size: 26px; margin-top: 40px; }
/* COUP DE CŒUR photo (owner 2026-10-25: St. John, London) with the place written in white on the image; a soft
   bottom shade keeps the white caption legible on the bright dining room */
.w101-cdc__media { position: relative; }
.w101-cdc__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 45%; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0)); }
.w101-cdc__caption { position: absolute; left: 36px; bottom: 30px; z-index: 1; display: flex; flex-direction: column; gap: 6px; color: #ffffff; }
.w101-cdc__caption-name { font: 300 13px/1.4 poppins-v2, sans-serif; letter-spacing: 0.24em; }
.w101-cdc__caption-place { font: italic 300 13px/1.4 poppins-v2, sans-serif; letter-spacing: 0.04em; }
body.device-mobile-optimized .w101-cdc__caption { left: 20px; bottom: 18px; gap: 4px; }
body.device-mobile-optimized .w101-cdc__caption-name, body.device-mobile-optimized .w101-cdc__caption-place { font-size: 11px; }
/* /coup-de-coeur placeholder: same layout as /uncovered, dark like the home's COUP DE CŒUR band */
.w101-unc-page--dark { background: #333333; color: #ffffff; }
.w101-unc-page--dark .w101-unc-page__title { color: #ffffff; }
.w101-cdc__text { position: relative; z-index: 2; }   /* the nowrap title may reach into the photo column; keep it above the photo */
/* the nowrap title no longer reaches into the (bright) photo on narrow desktops: scale it with the viewport, max 50px */
/* COUP DE CŒUR about 12.5% taller (owner 2026-10-26): desktop 2/3 -> 3/4 of the strip height (453 -> 510px);
   mobile photo 3:2 -> 4:3 and a little more top padding */
.w101-cdc__inner { height: calc(var(--home-strip-h) * 3 / 4); }
body.device-mobile-optimized .w101-cdc__inner { height: auto; padding-top: 90px; }
body.device-mobile-optimized .w101-cdc__media { aspect-ratio: 4 / 3; }

/* ---- laptop type scale (owner 2026-10-26): the Wix export sets fixed px sizes, so on 1280-1440px laptops headings looked
   oversized next to an undersized menu. Headings and sublines now scale with the window between a floor and the original
   size (reached at ~1440px); all section titles share one size (COUP DE CŒUR was 50px, the others 40-45px), body copy is 15px. */
body:not(.device-mobile-optimized) #comp-mv6mm48l span { font-size: clamp(48px, 4.45vw, 64px) !important; }
body:not(.device-mobile-optimized) #comp-m5e64oz5 span[style*="54px"] { font-size: clamp(40px, 3.75vw, 54px) !important; }
body:not(.device-mobile-optimized) .w101-uncovered__title,
body:not(.device-mobile-optimized) .w101-cdc__title,
body:not(.device-mobile-optimized) #comp-m5e7kc8q h4, body:not(.device-mobile-optimized) #comp-m5e7kc8q h4 span,
body:not(.device-mobile-optimized) #comp-mv7z1zb5 h4, body:not(.device-mobile-optimized) #comp-mv7z1zb5 span,
body:not(.device-mobile-optimized) #comp-m5flvmgq1 span[style*="40px"],
body:not(.device-mobile-optimized) #comp-mv6hn96c h3, body:not(.device-mobile-optimized) #comp-mv6hn96c span { font-size: clamp(34px, 2.92vw, 42px) !important; }
body:not(.device-mobile-optimized) #comp-mv7ztdme, body:not(.device-mobile-optimized) #comp-mv7ztdme span { font-size: clamp(27px, 2.3vw, 33px) !important; }
body:not(.device-mobile-optimized) #comp-m5flvmgq1 span[style*="24px"] { font-size: clamp(19px, 1.67vw, 24px) !important; }
/* ranking and ecosystem cards: name and subline */
body:not(.device-mobile-optimized) :is(#comp-m5fqx7ts, #comp-mv6gfxkv) .info-element-title span { font-size: clamp(16px, 1.3vw, 20px) !important; }
body:not(.device-mobile-optimized) :is(#comp-m5fqx7ts, #comp-mv6gfxkv) .info-element-description span { font-size: clamp(14px, 1.11vw, 16px) !important; }
body:not(.device-mobile-optimized) .w101-cdc__body,
body:not(.device-mobile-optimized) #comp-m5e7kc8q p, body:not(.device-mobile-optimized) #comp-m5e7kc8q p span,
body:not(.device-mobile-optimized) #comp-mv7z6fx7 p, body:not(.device-mobile-optimized) #comp-mv7z6fx7 span { font-size: 15px !important; }
/* footer copyright: docked to the right edge instead of a fixed offset that ran out of the window below ~1500px */
body:not(.device-mobile-optimized) #comp-m5fwdp51 { left: 0 !important; margin-left: 0 !important; justify-self: end !important; margin-right: max(40px, 9.4vw) !important; }
/* ecosystem cards (owner 2026-10-26: "abgeschnittene Ecosystem-Karten"): the gallery ran edge to edge, so the outer cards
   touched the window edges; it now keeps the same 90px side margins as the ranking cards above */
body:not(.device-mobile-optimized) [data-mesh-id=comp-mv6gez3binlineContent-gridContainer] > [id="comp-mv6gfxkv"] { width: auto !important; margin-left: 90px !important; margin-right: 90px !important; }
/* laptop type scale on the other hub pages (owner 2026-10-26): same steps as the home page - page titles 52-72px,
   section titles 34-42px, statements 26-32px, body copy 15px; the original sizes are reached at ~1440px */
body:not(.device-mobile-optimized) :is(.w101-media__h1, .w101-unc-page__title) { font-size: clamp(52px, 5vw, 72px); }
body:not(.device-mobile-optimized) :is(.w101-about__head, .w101-media__h2, .legal-page__title) { font-size: clamp(34px, 2.92vw, 42px); }
body:not(.device-mobile-optimized) :is(.w101-about__statement, .w101-unc-page__soon) { font-size: clamp(26px, 2.22vw, 32px); }
body:not(.device-mobile-optimized) .w101-media__card-title { font-size: clamp(20px, 1.67vw, 24px); }
body:not(.device-mobile-optimized) :is(.w101-about__copy p, .w101-unc-page__intro) { font-size: 15px; }

/* ---- design lab (owner 2026-10-26): every button looks like the home page's .ed-btn - outlined in #333, Poppins 11px
   capitals with wide tracking, filled on hover ---- */
.w101-media__more, .w101-media__cta, .w101-uncovered__cta, .wb-form__submit {
  display: inline-block; padding: 16px 34px; border: 1px solid #333333 !important; border-radius: 0; background: transparent; color: #333333;
  font: 400 11px/1 "Poppins W", poppins-v2, sans-serif !important; letter-spacing: 0.24em; text-transform: uppercase; text-decoration: none; cursor: pointer;
  transition: background .25s, color .25s; }
.w101-media__more:hover, .w101-media__more:focus-visible, .w101-media__cta:hover, .w101-media__cta:focus-visible,
.w101-uncovered__cta:hover, .w101-uncovered__cta:focus-visible, .wb-form__submit:hover, .wb-form__submit:focus-visible { background: #333333; color: #ffffff; }
