/* Vistio Business v1.0.8 — v1.0.4 photography + true distinct premium compositions.
   This file intentionally avoids recoloring one generic layout. */
:root{--vb108-gold:#e2b972}
.vb-image-fallback-surface{background:radial-gradient(ellipse at 80% 8%,#9d704e55,transparent 50%),linear-gradient(143deg,#403121,#0d1015 66%,#080707)!important;position:relative}
.vb-image-fallback-surface::before{content:'✦';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:40px Georgia,serif;color:#d7b77a55;pointer-events:none}
.vb-image-missing{visibility:hidden!important}
/* The actual published HTML and the editor share the renderer classes below. */
.vbp-render{isolation:isolate}
.vbp-render .vbp-image img{object-fit:cover;width:100%;height:100%}
.vbp-render .vbp-card-title h1,.vbp-render .vbp-hub-hero-copy h1,.vbp-render .vbp-catalog-intro h1{text-wrap:balance;overflow-wrap:anywhere}
.vbp-render .vbp-card-cover:after,.vbp-render .vbp-hub-hero-img:after,.vbp-render .vbp-catalog-cover:after{background:linear-gradient(180deg,#07070708 15%,#05060788 100%)}
.vbp-render .vbp-card-title,.vbp-render .vbp-hub-hero-copy,.vbp-render .vbp-catalog-intro{min-width:0}
/* Card collection: distinct visual structures rather than six copies of the same grid. */
.vbp-card.vbp-layout-portrait-left .vbp-frame{grid-template-columns:40% 60%;grid-template-areas:'brand brand' 'photo cover' 'title title' 'story story' 'contact contact' 'footer footer'}
.vbp-card.vbp-layout-portrait-left .vbp-card-photo{border-right:3px solid var(--vbgold)}
.vbp-card.vbp-layout-split-diagonal .vbp-card-photo{clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)}
.vbp-card.vbp-layout-photo-banner .vbp-card-photo{border-radius:0 0 0 26px}
.vbp-card.vbp-layout-collage .vbp-card-cover{border-radius:28px 0 0 28px;box-shadow:0 8px 30px #0005}
.vbp-card.vbp-layout-cover-grid .vbp-card-cover{border-radius:0 0 22px 22px}
.vbp-card.vbp-layout-photo-circle .vbp-card-photo,.vbp-card.vbp-layout-orbital .vbp-card-photo{box-shadow:0 0 0 2px var(--vbgold),0 20px 38px #0008}
.vbp-card.vbp-layout-executive .vbp-card-title h1,.vbp-card.vbp-layout-luxury-seal .vbp-card-title h1{letter-spacing:-.065em;font-family:Georgia,serif}
.vbp-card.vbp-layout-minimal-art .vbp-card-photo{border-radius:90px 90px 22px 22px}
.vbp-card.vbp-layout-full-overlay .vbp-card-title h1{max-width:18ch;text-shadow:0 3px 18px #000}
/* Hub collection: cinematic, editorial split, gallery and concierge remain structurally different. */
.vbp-hub.vbp-layout-immersive .vbp-hub-hero-img,.vbp-hub.vbp-layout-cinematic .vbp-hub-hero-img{min-height:390px}
.vbp-hub.vbp-layout-split-editorial .vbp-hub-hero{display:grid;grid-template-columns:46% 54%;align-items:stretch}
.vbp-hub.vbp-layout-split-editorial .vbp-hub-hero-img{grid-column:2;grid-row:1;min-height:390px}
.vbp-hub.vbp-layout-split-editorial .vbp-hub-hero-copy{grid-column:1;grid-row:1;margin:0;padding:40px 22px;display:flex;flex-direction:column;justify-content:center;background:var(--vbg)}
.vbp-hub.vbp-layout-gallery-grid .vbp-hub-gallery,.vbp-hub.vbp-layout-bento .vbp-hub-gallery,.vbp-hub.vbp-layout-portfolios .vbp-hub-gallery{align-items:stretch}
.vbp-hub.vbp-layout-story .vbp-gallery-item:nth-child(even),.vbp-hub.vbp-layout-magazine .vbp-gallery-item:nth-child(even){direction:rtl}
.vbp-hub.vbp-layout-story .vbp-gallery-item:nth-child(even) > *,.vbp-hub.vbp-layout-magazine .vbp-gallery-item:nth-child(even) > *{direction:ltr}
.vbp-hub.vbp-layout-booking .vbp-hub-actions,.vbp-hub.vbp-layout-typographic .vbp-hub-actions{justify-content:flex-start}
/* Catalog collection: menu, lookbook, list and mosaic have their own reading rhythm. */
.vbp-catalog.vbp-layout-lux-list .vbp-product,.vbp-catalog.vbp-layout-compact-list .vbp-product,.vbp-catalog.vbp-layout-tasting .vbp-product{border-bottom:1px solid color-mix(in srgb,var(--vbgold) 28%,transparent)}
.vbp-catalog.vbp-layout-mosaic .vbp-product:first-child,.vbp-catalog.vbp-layout-collage .vbp-product:first-child{grid-column:span 2}
.vbp-catalog.vbp-layout-food-hero .vbp-catalog-cover,.vbp-catalog.vbp-layout-grand-hero .vbp-catalog-cover{min-height:340px}
.vbp-catalog.vbp-layout-cream-menu .vbp-product-description,.vbp-catalog.vbp-layout-minimal-luxe .vbp-product-description{padding:23px;background:var(--vbs)}
.vbp-catalog.vbp-layout-magazine .vbp-catalog-products{grid-template-columns:1fr 1fr}
/* Miniatures: one gallery, minimal text, but the image and information occupy different regions for every family. */
#workspace .vbp-continuous-grid .vb108-mini{height:176px!important;min-height:176px!important;isolation:isolate;border-radius:16px;box-shadow:0 10px 26px #0006}
#workspace .vb108-mini .vbp-mini-badge{font-size:8px!important;letter-spacing:.11em!important}
#workspace .vb108-mini .vb105-mini-copy{bottom:10px!important;left:12px!important;right:10px!important;gap:3px!important;text-align:left!important}
#workspace .vb108-mini .vb105-mini-copy strong{font:400 20px/1.06 Georgia,serif!important;letter-spacing:-.025em!important;color:#fff6e6!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#workspace .vb108-mini .vb105-mini-copy small{font-size:9px!important;letter-spacing:.1em!important;color:#edce94!important}
#workspace .vb108-mini .vb105-mini-copy .vbp-mini-sub{font-size:8px!important;max-width:95%;letter-spacing:.06em!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#workspace .vb108-mini .vb108-mini-detail{display:none;position:absolute;z-index:4;overflow:hidden}
#workspace .vb108-mini .vb108-mini-detail img{display:block;width:100%;height:100%;object-fit:cover}
/* Category: editorial cover overlaid with text. */
#workspace .vb108-mini:is(.vbp-mini-layout-portrait-left,.vbp-mini-layout-photo-banner,.vbp-mini-layout-photo-full,.vbp-mini-layout-immersive,.vbp-mini-layout-cinematic,.vbp-mini-layout-food-hero,.vbp-mini-layout-grand-hero) .vb105-mini-cover{inset:0!important;width:100%!important;height:100%!important}
/* Category: side-by-side portfolio / editorial split. */
#workspace .vb108-mini:is(.vbp-mini-layout-split-diagonal,.vbp-mini-layout-split-inverse,.vbp-mini-layout-split-editorial,.vbp-mini-layout-editorial-cover,.vbp-mini-layout-architectural,.vbp-mini-layout-lux-list,.vbp-mini-layout-compact-list,.vbp-mini-layout-vertical-nav,.vbp-mini-layout-tasting) .vb105-mini-cover{left:50%!important;right:0!important;top:0!important;bottom:0!important;width:50%!important;height:100%!important}
#workspace .vb108-mini:is(.vbp-mini-layout-split-diagonal,.vbp-mini-layout-split-inverse,.vbp-mini-layout-split-editorial,.vbp-mini-layout-editorial-cover,.vbp-mini-layout-architectural,.vbp-mini-layout-lux-list,.vbp-mini-layout-compact-list,.vbp-mini-layout-vertical-nav,.vbp-mini-layout-tasting) .vb105-mini-copy{right:51%!important;bottom:16px!important}
#workspace .vb108-mini:is(.vbp-mini-layout-split-diagonal,.vbp-mini-layout-split-inverse,.vbp-mini-layout-split-editorial,.vbp-mini-layout-editorial-cover,.vbp-mini-layout-architectural,.vbp-mini-layout-lux-list,.vbp-mini-layout-compact-list,.vbp-mini-layout-vertical-nav,.vbp-mini-layout-tasting) .vb105-mini-copy strong{white-space:normal!important;font-size:17px!important}
/* Category: image collages / spatial grids: a second real image layer. */
#workspace .vb108-mini:is(.vbp-mini-layout-bento,.vbp-mini-layout-gallery-grid,.vbp-mini-layout-portfolios,.vbp-mini-layout-mosaic,.vbp-mini-layout-collage,.vbp-mini-layout-tiles,.vbp-mini-layout-shop-grid,.vbp-mini-layout-art-gallery,.vbp-mini-layout-cover-grid,.vbp-mini-layout-panel-overlay) .vb108-mini-detail{display:block;top:27px;right:7px;width:37%;height:69px;border:2px solid var(--vbgold);border-radius:10px;box-shadow:0 8px 20px #0009}
#workspace .vb108-mini:is(.vbp-mini-layout-bento,.vbp-mini-layout-gallery-grid,.vbp-mini-layout-portfolios,.vbp-mini-layout-mosaic,.vbp-mini-layout-collage,.vbp-mini-layout-tiles,.vbp-mini-layout-shop-grid,.vbp-mini-layout-art-gallery,.vbp-mini-layout-cover-grid,.vbp-mini-layout-panel-overlay) .vb105-mini-cover{height:80%!important}
/* Category: typography-led and classic editorial: image reduced to a wide art strip. */
#workspace .vb108-mini:is(.vbp-mini-layout-minimal-art,.vbp-mini-layout-monogram,.vbp-mini-layout-luxury-seal,.vbp-mini-layout-typographic,.vbp-mini-layout-manifesto,.vbp-mini-layout-archive,.vbp-mini-layout-editorial,.vbp-mini-layout-story,.vbp-mini-layout-cream-menu,.vbp-mini-layout-minimal-luxe) .vb105-mini-cover{height:54%!important;top:0!important;bottom:auto!important}
#workspace .vb108-mini:is(.vbp-mini-layout-minimal-art,.vbp-mini-layout-monogram,.vbp-mini-layout-luxury-seal,.vbp-mini-layout-typographic,.vbp-mini-layout-manifesto,.vbp-mini-layout-archive,.vbp-mini-layout-editorial,.vbp-mini-layout-story,.vbp-mini-layout-cream-menu,.vbp-mini-layout-minimal-luxe) .vb105-mini-copy{bottom:8px!important}
/* Strong single portraits for a few executive card styles. */
#workspace .vb108-mini:is(.vbp-mini-layout-photo-full,.vbp-mini-layout-executive,.vbp-mini-layout-orbital,.vbp-mini-layout-photo-circle) .vb105-mini-cover{display:none!important}
#workspace .vb108-mini:is(.vbp-mini-layout-photo-full,.vbp-mini-layout-executive,.vbp-mini-layout-orbital,.vbp-mini-layout-photo-circle) .vb105-mini-avatar{display:block!important;inset:0!important;width:100%!important;height:100%!important;border:none!important;border-radius:0!important}
#workspace .vb108-mini:is(.vbp-mini-layout-photo-full,.vbp-mini-layout-executive,.vbp-mini-layout-orbital,.vbp-mini-layout-photo-circle) .vb105-mini-avatar img{object-position:center 18%}
#workspace .vb108-mini:is(.vbp-mini-layout-orbital,.vbp-mini-layout-photo-circle) .vb105-mini-avatar{inset:20px 18px auto auto!important;width:100px!important;height:100px!important;border:3px solid var(--vbgold)!important;border-radius:50%!important}
/* Other cards use contained portrait, but with differentiated placement. */
#workspace .vb108-mini:is(.vbp-mini-layout-split-diagonal,.vbp-mini-layout-split-inverse,.vbp-mini-layout-panel-overlay) .vb105-mini-avatar{top:25px!important;left:8px!important;right:auto!important;bottom:auto!important;width:67px!important;height:67px!important}
#workspace .vb108-mini:is(.vbp-mini-layout-collage,.vbp-mini-layout-cover-grid) .vb105-mini-avatar{top:37px!important;right:15px!important;width:63px!important;height:89px!important;border-radius:13px!important}
#workspace .vb108-mini:is(.vbp-mini-layout-monogram,.vbp-mini-layout-luxury-seal) .vb105-mini-avatar{right:10px!important;top:33px!important;width:52px!important;height:52px!important}
@container (max-width:530px){
 .vbp-hub.vbp-layout-split-editorial .vbp-hub-hero{display:flex;flex-direction:column}
 .vbp-hub.vbp-layout-split-editorial .vbp-hub-hero-img{min-height:250px;order:2}
 .vbp-hub.vbp-layout-split-editorial .vbp-hub-hero-copy{order:1;padding:32px 22px}
 .vbp-card.vbp-layout-portrait-left .vbp-frame{display:flex;flex-direction:column}
 .vbp-card.vbp-layout-portrait-left .vbp-card-photo{order:1;height:300px}
 .vbp-card.vbp-layout-portrait-left .vbp-card-cover{order:2;height:130px}
 .vbp-card.vbp-layout-portrait-left .vbp-card-title{order:3}
 .vbp-card.vbp-layout-portrait-left .vbp-card-story{order:4}
 .vbp-card.vbp-layout-portrait-left .vbp-card-contact{order:5}
 .vbp-card.vbp-layout-portrait-left .vbp-card-footer{order:6}
}
@media(prefers-reduced-motion:reduce){.vb108-mini,.vbp-render{transition:none!important;animation:none!important}}


/* v1.0.8.3 — only for card layouts that previously showed cover and portrait both as large panels.
   Cover remains as the large background; the portrait becomes a small circular accent. */
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-frame{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-areas:
    'brand'
    'cover'
    'title'
    'story'
    'contact'
    'footer'!important;
}
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-card-cover{
  grid-area:cover!important;
  min-height:210px!important;
  height:210px!important;
  border-radius:0 0 24px 24px!important;
  overflow:hidden!important;
  border:none!important;
}
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-card-cover img{
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 26%!important;
}
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-card-photo{
  grid-area:auto!important;
  position:absolute!important;
  top:154px!important;
  right:18px!important;
  left:auto!important;
  bottom:auto!important;
  width:82px!important;
  height:82px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  border:3px solid var(--vbgold)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.34)!important;
  clip-path:none!important;
  z-index:6!important;
}
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-card-photo img{
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important;
}
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-card-title{
  padding:22px 112px 12px 18px!important;
}
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-card-story,
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-card-contact,
.vbp-render.vbp-card:is(.vbp-layout-portrait-left,.vbp-layout-split-diagonal,.vbp-layout-photo-banner,.vbp-layout-split-inverse,.vbp-layout-collage,.vbp-layout-cover-grid) .vbp-card-footer{
  padding-inline:18px!important;
}
/* Keep the tool thumbnails elegant and not overloaded. */
#workspace .vb108-mini .vb105-mini-copy strong{font-size:18px!important}
#workspace .vb108-mini .vb105-mini-copy .vbp-mini-sub{max-width:90%!important}
