/* MarineOS Day3-28 - Luxury Card Engine
 * Common public-homepage card system. Scoped to .mos-home to avoid Lightning/admin conflicts.
 */
.mos-home{
  --mos-luxury-surface:rgba(255,255,255,.92);
  --mos-luxury-surface-soft:rgba(245,251,255,.86);
  --mos-luxury-ink:#0b2037;
  --mos-luxury-muted:#53697d;
  --mos-luxury-blue:#1597dc;
  --mos-luxury-blue-deep:#0878c9;
  --mos-luxury-line:linear-gradient(90deg,#5ecbff 0%,#168ed2 42%,rgba(22,142,210,0) 100%);
  --mos-luxury-border:rgba(134,205,242,.38);
  --mos-luxury-shadow:0 22px 64px rgba(19,74,111,.13),0 5px 18px rgba(8,62,99,.07);
  --mos-luxury-shadow-hover:0 32px 86px rgba(15,76,118,.19),0 10px 28px rgba(8,62,99,.10),0 0 34px rgba(72,184,239,.12);
  --mos-luxury-radius:22px;
  --mos-luxury-duration:1.65s;
  --mos-luxury-ease:cubic-bezier(.22,.78,.22,1);
}

/* Every current and future homepage content card */
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card){
  color:var(--mos-luxury-ink)!important;
  background:
    radial-gradient(circle at 10% 0%,rgba(110,207,252,.18),transparent 38%),
    linear-gradient(145deg,var(--mos-luxury-surface) 0%,rgba(255,255,255,.97) 54%,var(--mos-luxury-surface-soft) 100%)!important;
  border:1px solid var(--mos-luxury-border)!important;
  border-radius:var(--mos-luxury-radius)!important;
  box-shadow:var(--mos-luxury-shadow)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
  position:relative;
  overflow:hidden;
  transform:none;
  opacity:1;
  transition:
    transform .48s var(--mos-luxury-ease),
    box-shadow .48s ease,
    border-color .48s ease,
    opacity .72s ease!important;
  will-change:auto;
}
/* Progressive enhancement: only hide/reposition cards after the existing Luxury Card Engine has initialized.
 * If the JS file is unavailable or fails before initialization, content stays fully visible. */
.mos-home.mos-luxury-motion-ready :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card):not(.mos-luxury-visible){
  transform:translate3d(0,26px,0) scale(.975);
  opacity:0;
  will-change:transform,opacity;
}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card)::before{
  content:"";
  position:absolute;
  z-index:3;
  top:0;left:0;right:0;
  height:3px;
  background:var(--mos-luxury-line);
  box-shadow:0 0 16px rgba(53,182,232,.36);
  pointer-events:none;
}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card)::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(118deg,transparent 10%,rgba(255,255,255,.44) 45%,transparent 67%);
  transform:translateX(-130%);
  transition:transform 1.35s var(--mos-luxury-ease);
}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card)>*{position:relative;z-index:1}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card).mos-luxury-visible{
  transform:none;
  opacity:1;
}
@media (hover:hover) and (pointer:fine){
  .mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card).mos-luxury-visible:hover{
    transform:translate3d(0,-3px,0) scale(1.005)!important;
    border-color:rgba(73,180,231,.58)!important;
    box-shadow:var(--mos-luxury-shadow-hover)!important;
  }
  .mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card):hover::after{transform:translateX(130%)}
}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card):active{
  transform:translate3d(0,0,0) scale(.99)!important;
  transition-duration:.14s!important;
}

.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card) :where(h2,h3,strong){color:var(--mos-luxury-ink)!important}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card) :where(p,li,span,time){color:var(--mos-luxury-muted)}
.mos-home .mos-catch-info h3,.mos-home .mos-event-content h3{color:var(--mos-luxury-ink)!important}
.mos-home .mos-catch-info p,.mos-home .mos-event-text p{color:var(--mos-luxury-muted)!important}
.mos-home .mos-chip{
  color:#0c5583!important;
  background:rgba(222,244,255,.92)!important;
  border-color:rgba(74,174,224,.28)!important;
}
.mos-home .mos-quick-card{color:var(--mos-luxury-ink)!important}
.mos-home .mos-quick-card strong{color:var(--mos-luxury-ink)!important}
.mos-home .mos-quick-card span span{color:var(--mos-luxury-muted)!important}
.mos-home .mos-quick-icon{
  background:linear-gradient(145deg,#e9f8ff,#d5f0ff)!important;
  border:1px solid rgba(85,182,229,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 12px 26px rgba(23,116,165,.12);
}

/* Luxury feature/banner card shared by all generated blocks */
.mos-home .mos-feature-title{
  min-height:230px;
  border:1px solid rgba(127,200,237,.40)!important;
  border-radius:var(--mos-luxury-radius)!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(77,190,242,.20),transparent 35%),
    linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(242,250,255,.93) 50%,rgba(255,255,255,.98) 100%)!important;
  box-shadow:0 28px 82px rgba(16,71,107,.14),inset 0 1px 0 rgba(255,255,255,.98)!important;
  backdrop-filter:blur(20px) saturate(120%);
  -webkit-backdrop-filter:blur(20px) saturate(120%);
  overflow:hidden;
  transform-origin:center;
}
.mos-home .mos-feature-title::before{
  opacity:1!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.16),transparent 56%),
    repeating-linear-gradient(115deg,rgba(32,153,211,.025) 0 1px,transparent 1px 16px)!important;
}
.mos-home .mos-feature-title::after{
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.78) 45%,transparent 61%)!important;
  transition:transform 2.45s var(--mos-luxury-ease)!important;
}
.mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-left:not(.is-visible),
.mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-right:not(.is-visible){
  opacity:0!important;
  filter:blur(2px);
  transition:transform var(--mos-luxury-duration) var(--mos-luxury-ease),opacity 1.28s cubic-bezier(.2,.7,.2,1)!important;
  will-change:auto;
}
.mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-left:not(.is-visible){transform:translate3d(-148px,0,0) scale(.972)!important}
.mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-right:not(.is-visible){transform:translate3d(148px,0,0) scale(.972)!important}
.mos-home .mos-feature-title.is-visible{
  transform:translate3d(0,0,0) scale(1)!important;
  opacity:1!important;
  filter:blur(0);
}
.mos-home .mos-feature-title h2{
  color:var(--mos-luxury-ink)!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-shadow:0 8px 24px rgba(21,83,120,.10)!important;
  display:flex;
  align-items:center;
  gap:14px;
}
.mos-home .mos-feature-title.mos-align-right h2{justify-content:flex-end}
.mos-home .mos-feature-title .mos-en{
  color:rgba(11,32,55,.14)!important;
  letter-spacing:.15em!important;
  font-weight:700!important;
  text-shadow:none!important;
}
.mos-home .mos-feature-title .mos-line{
  height:3px!important;
  width:76px!important;
  background:var(--mos-luxury-line)!important;
  box-shadow:0 0 15px rgba(52,176,233,.30);
}
.mos-home .mos-luxury-icon{
  width:54px;height:54px;flex:0 0 54px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:18px;
  color:var(--mos-luxury-blue-deep);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(219,243,255,.92));
  border:1px solid rgba(74,174,224,.30);
  box-shadow:0 14px 34px rgba(27,129,181,.15),inset 0 1px 0 #fff;
}
.mos-home .mos-luxury-icon svg{width:27px;height:27px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Section spacing and adaptive grids */
.mos-home .mos-section{padding:78px 0}
.mos-home .mos-grid,.mos-home .mos-catch-list,.mos-home .mos-event-list{gap:22px}
.mos-home .mos-card{padding:26px}

@media(max-width:760px){
  .mos-home{--mos-luxury-radius:18px;--mos-luxury-duration:1.48s}
  .mos-home .mos-section{padding:54px 0}
  .mos-home .mos-feature-title{min-height:174px;border-radius:18px!important}
  .mos-home .mos-feature-title h2{font-size:clamp(27px,8vw,40px)!important;letter-spacing:.05em!important;gap:10px}
  .mos-home .mos-feature-title .mos-en{font-size:clamp(34px,12vw,62px)!important;letter-spacing:.09em!important;line-height:.92!important;overflow-wrap:anywhere}
  .mos-home .mos-luxury-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px}
  .mos-home .mos-luxury-icon svg{width:23px;height:23px}
  .mos-home .mos-card{padding:21px}
  .mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-left:not(.is-visible){transform:translate3d(-52px,0,0) scale(.985)!important}
  .mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-right:not(.is-visible){transform:translate3d(52px,0,0) scale(.985)!important}
}

@media(prefers-reduced-motion:reduce){
  .mos-home .mos-feature-title,
  .mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card){
    opacity:1!important;transform:none!important;transition:none!important;animation:none!important
  }
}


/* Day3-28-1: automatic contrast correction for dark/light theme surfaces. */
.mos-home.mos-luxury-dark-theme{
  --mos-luxury-ink:#ffffff;
  --mos-luxury-muted:rgba(235,244,252,.82);
}
/* Quick navigation cards follow the actual theme card brightness instead of a fixed dark font. */
.mos-home.mos-luxury-dark-theme .mos-quick-card,
.mos-home.mos-luxury-dark-theme .mos-quick-card strong,
.mos-home.mos-luxury-dark-theme .mos-quick-card span,
.mos-home.mos-luxury-dark-theme .mos-quick-card span span{
  color:#ffffff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.42)!important;
}
.mos-home.mos-luxury-dark-theme .mos-quick-card span span{color:rgba(230,239,248,.78)!important}
.mos-home.mos-luxury-light-theme .mos-quick-card,
.mos-home.mos-luxury-light-theme .mos-quick-card strong{
  color:#0b2037!important;
  text-shadow:none!important;
}
.mos-home.mos-luxury-light-theme .mos-quick-card span span{color:#53697d!important}

/* Per-card safety class used for dynamically inserted content. */
.mos-home .mos-surface-dark,
.mos-home .mos-surface-dark :where(h2,h3,h4,strong,a){color:#fff!important}
.mos-home .mos-surface-dark :where(p,li,span,time){color:rgba(232,242,250,.80)!important}
.mos-home .mos-surface-light,
.mos-home .mos-surface-light :where(h2,h3,h4,strong,a){color:#0b2037!important}
.mos-home .mos-surface-light :where(p,li,span,time){color:#53697d!important}

/* Official icon badge: simple, consistent line icons without distorted decorative paths. */
.mos-home .mos-luxury-icon{
  color:#0878c9!important;
  background:linear-gradient(145deg,#ffffff 0%,#e8f7ff 100%)!important;
  border:1px solid rgba(51,170,226,.34)!important;
  box-shadow:0 10px 26px rgba(20,111,161,.13),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
.mos-home .mos-luxury-icon svg{
  width:25px!important;height:25px!important;
  stroke-width:1.9!important;
  vector-effect:non-scaling-stroke;
}
body.mos-theme-neon-pink-black .mos-home .mos-luxury-icon{
  color:#ff4fbd!important;
  border-color:rgba(255,79,189,.42)!important;
  box-shadow:0 0 22px rgba(255,20,147,.20),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.mos-theme-black-marble .mos-home .mos-luxury-icon{
  color:#c8a95b!important;
  border-color:rgba(200,169,91,.40)!important;
}

/* MarineOS Day3-28-2: mobile full-card visibility + slow left/right reveal
 * - Prevents feature cards from being clipped by the 92vw inner container.
 * - Keeps the same alternating left/right motion on phones.
 * - Applies to current and future .mos-feature-title blocks.
 */
.mos-home .mos-inner{
  min-width:0;
}
.mos-home .mos-feature-title,
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card){
  max-width:100%;
}
.mos-home .mos-feature-copy{
  min-width:0;
}
.mos-home .mos-feature-title :where(h2,.mos-en){
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:760px){
  /* Use the full inner width without allowing transformed edges to be cut. */
  .mos-home .mos-inner{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    overflow:visible!important;
  }
  .mos-home .mos-section{
    overflow:visible!important;
  }
  .mos-home .mos-feature-title{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    min-height:168px!important;
    contain:layout paint;
  }
  .mos-home .mos-feature-copy{
    width:100%!important;
    max-width:100%!important;
    padding:26px 18px!important;
  }
  .mos-home .mos-feature-title h2{
    width:100%;
    font-size:clamp(25px,7.4vw,36px)!important;
    line-height:1.18!important;
  }
  .mos-home .mos-feature-title .mos-en{
    width:100%;
    font-size:clamp(31px,10.8vw,54px)!important;
    line-height:.96!important;
    letter-spacing:.035em!important;
    white-space:normal!important;
  }
  /* A smaller off-screen distance stays visible enough for IntersectionObserver,
     while still clearly sliding from alternating sides. */
  .mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-left:not(.is-visible){
    transform:translate3d(-68px,0,0) scale(.978)!important;
  }
  .mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-right:not(.is-visible){
    transform:translate3d(68px,0,0) scale(.978)!important;
  }
  .mos-home .mos-feature-title.is-visible{
    transform:translate3d(0,0,0) scale(1)!important;
  }
  /* Content cards must never exceed the phone viewport. */
  .mos-home :where(.mos-grid,.mos-catch-list,.mos-event-grid,.mos-event-list,.mos-access){
    min-width:0!important;
    width:100%!important;
  }
  .mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card) :where(h2,h3,h4,p,li,strong,span,a){
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

@media(max-width:380px){
  .mos-home .mos-inner{width:calc(100% - 16px)!important}
  .mos-home .mos-feature-copy{padding:22px 14px!important}
  .mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-left:not(.is-visible){transform:translate3d(-48px,0,0) scale(.982)!important}
  .mos-home.mos-luxury-motion-ready .mos-feature-title.mos-from-right:not(.is-visible){transform:translate3d(48px,0,0) scale(.982)!important}
}


/* Day3-28-11: all section icons use native full-colour pictograms like the quick-guide cards. */
.mos-home .mos-luxury-icon.mos-luxury-icon-fullcolor{
  color:initial!important;
  background:linear-gradient(145deg,#ffffff,#edf8ff)!important;
  border:1px solid rgba(82,164,214,.28)!important;
  box-shadow:0 10px 24px rgba(12,80,122,.13)!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:29px!important;
  line-height:1!important;
  filter:none!important;
  text-shadow:none!important;
}
.mos-home .mos-luxury-icon.mos-luxury-icon-fullcolor::before,
.mos-home .mos-luxury-icon.mos-luxury-icon-fullcolor::after{display:none!important}
.mos-home .mos-luxury-icon.mos-luxury-icon-fullcolor.mos-ace-v2-icon{color:initial!important;fill:initial!important;stroke:initial!important}
@media(max-width:760px){.mos-home .mos-luxury-icon.mos-luxury-icon-fullcolor{font-size:25px!important}}


/* Day3-31-3: decorative English headings always stay on one line.
 * JavaScript calculates the largest readable size that fits each card. */
.mos-home .mos-feature-title .mos-en{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
  text-overflow:clip!important;
  line-height:.92!important;
  box-sizing:border-box!important;
}
@media(max-width:760px){
  .mos-home .mos-feature-title .mos-en{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
  }
}


/* Day3-31-4: mobile-safe one-line English decoration fallback.
 * JS writes the final font-size with !important; these rules prevent clipping
 * before JavaScript finishes and on browsers that delay script execution. */
@media(max-width:760px){
  .mos-home .mos-feature-title .mos-en{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(18px,8.4vw,42px)!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    overflow:hidden!important;
  }
}
@media(max-width:390px){
  .mos-home .mos-feature-title .mos-en{
    font-size:clamp(15px,7.4vw,32px)!important;
    letter-spacing:.02em!important;
  }
}


/* Day3-31-6: PC / tablet / mobile shared one-line auto-fit authority.
 * The common JavaScript calculates each card's actual usable width.
 * CSS only establishes a stable measurable base and never hides overflow as the solution. */
.mos-home .mos-feature-title .mos-feature-copy{
  min-width:0!important;
  box-sizing:border-box!important;
}
.mos-home .mos-feature-title .mos-en{
  display:block!important;
  width:max-content!important;
  max-width:none!important;
  min-width:0!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  box-sizing:border-box!important;
  transform-origin:left center!important;
}
.mos-home .mos-feature-title.mos-align-right .mos-en{
  margin-left:auto!important;
  transform-origin:right center!important;
}
@media(max-width:760px){
  .mos-home .mos-feature-title .mos-en{
    width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    overflow:visible!important;
  }
}

/* THEME-CARD-PROD-001 — published theme driven card system */
.mos-home{
  --mos-luxury-surface:var(--mos-card-bg,var(--mos-card));
  --mos-luxury-surface-soft:var(--mos-card-bg-soft,var(--mos-surface));
  --mos-luxury-ink:var(--mos-card-text,var(--mos-text));
  --mos-luxury-muted:var(--mos-card-text-muted,var(--mos-muted-text));
  --mos-luxury-blue:var(--mos-card-accent,var(--mos-accent));
  --mos-luxury-blue-deep:var(--mos-card-icon,var(--mos-primary));
  --mos-luxury-line:var(--mos-card-accent-line,linear-gradient(90deg,var(--mos-accent),var(--mos-primary),transparent));
  --mos-luxury-border:var(--mos-card-border,var(--mos-border));
  --mos-luxury-shadow:var(--mos-card-shadow,var(--mos-shadow));
  --mos-luxury-shadow-hover:var(--mos-card-shadow-hover,var(--mos-shadow));
}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card){
  color:var(--mos-card-text)!important;
  background:
    radial-gradient(circle at 12% 4%,var(--mos-card-glow),transparent 36%),
    linear-gradient(145deg,var(--mos-card-bg) 0%,var(--mos-card-bg-soft) 100%)!important;
  border-color:var(--mos-card-border)!important;
  box-shadow:var(--mos-card-shadow)!important;
  backdrop-filter:var(--mos-glass,none);
  -webkit-backdrop-filter:var(--mos-glass,none);
}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card)::before{background:var(--mos-card-accent-line)!important}
@media (hover:hover) and (pointer:fine){
 .mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card):hover{border-color:var(--mos-card-accent)!important;box-shadow:var(--mos-card-shadow-hover)!important}
}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card) :where(h1,h2,h3,h4,h5,h6,strong,b,dt,th){color:var(--mos-card-title)!important}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card) :where(p,li,dd,time,address,figcaption){color:var(--mos-card-text-secondary)!important}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card) :where(small,.mos-muted,.mos-meta,.mos-note){color:var(--mos-card-text-muted)!important}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card) hr,
.mos-home :where(.mos-divider,.mos-card-divider){border-color:var(--mos-card-divider)!important;background:var(--mos-card-divider)!important}
.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card) a:not(.mos-btn):not([role="button"]){color:var(--mos-link)!important;text-decoration-color:color-mix(in srgb,var(--mos-link) 56%,transparent)}
.mos-home .mos-feature-title{
  color:var(--mos-card-text)!important;
  border-color:var(--mos-card-border)!important;
  background:radial-gradient(circle at 12% 18%,var(--mos-card-glow),transparent 38%),linear-gradient(135deg,var(--mos-card-bg),var(--mos-card-bg-soft))!important;
  box-shadow:var(--mos-card-shadow)!important;
}
.mos-home .mos-feature-title h2{color:var(--mos-card-title)!important;text-shadow:0 8px 24px var(--mos-card-glow)!important}
.mos-home .mos-feature-title .mos-en{color:var(--mos-card-english)!important}
.mos-home .mos-feature-title .mos-line{background:var(--mos-card-accent-line)!important;box-shadow:0 0 16px var(--mos-card-glow)!important}
.mos-home :where(.mos-luxury-icon,.mos-quick-icon,.mos-icon-badge){
  color:var(--mos-card-icon)!important;
  background:linear-gradient(145deg,var(--mos-card-icon-bg),var(--mos-card-bg-soft))!important;
  border-color:var(--mos-card-border)!important;
  box-shadow:0 12px 30px var(--mos-card-glow),inset 0 1px 0 color-mix(in srgb,var(--mos-card-text) 16%,transparent)!important;
}
.mos-home :where(.mos-btn-main,button.mos-btn-main,a.mos-btn-main){background:var(--mos-button-bg)!important;color:var(--mos-button-text)!important;border-color:color-mix(in srgb,var(--mos-button-text) 26%,var(--mos-button-bg))!important}
.mos-home :where(.mos-btn-main,button.mos-btn-main,a.mos-btn-main):hover,
.mos-home :where(.mos-btn-main,button.mos-btn-main,a.mos-btn-main):focus-visible{background:var(--mos-button-hover)!important;color:var(--mos-button-hover-text)!important}
.mos-home :where(.mos-chip,.mos-badge,.mos-calendar-availability){background:var(--mos-card-icon-bg)!important;color:var(--mos-card-icon)!important;border-color:var(--mos-card-border)!important}
.mos-home .mos-catch-gallery{background:var(--mos-card-bg-soft)!important;border-color:var(--mos-card-divider)!important}
@media(max-width:760px){.mos-home :where(.mos-card,.mos-catch-card,.mos-event-card,.mos-luxury-card,.mos-sub-card){max-width:100%;overflow-wrap:anywhere}.mos-home .mos-feature-title .mos-en{opacity:1}}
