/* MIRLINKS desktop homepage — healing universe art direction.
 * Desktop-only by design: the validated mobile V5 experience remains untouched.
 */

.zc-desktop-benefits {
  display: none;
}

@media (min-width: 1025px) {
  body.home {
    --zc-desk-pearl: #f7f5f2;
    --zc-desk-paper: #fffdf9;
    --zc-desk-night: #11152d;
    --zc-desk-night-soft: #202544;
    --zc-desk-ink: #1b1d2d;
    --zc-desk-muted: #686878;
    --zc-desk-violet: #817ab8;
    --zc-desk-lilac: #c9c3e7;
    --zc-desk-gold: #b49559;
    --zc-desk-line: rgba(32, 37, 68, .12);
    --zc-desk-shadow: 0 28px 70px rgba(29, 32, 57, .11);
    overflow-x: clip;
    background: var(--zc-desk-pearl);
    color: var(--zc-desk-ink);
  }

  body.home #main,
  body.home .site-main,
  body.home .entry-content {
    overflow: clip;
  }

  /* Header: quiet luxury with stronger wayfinding. */
  body.home #header {
    position: relative;
    z-index: 80;
  }

  body.home #header [data-row*="middle"] {
    border-bottom: 1px solid rgba(30, 34, 57, .08);
    background: rgba(255, 253, 249, .91);
    box-shadow: 0 8px 30px rgba(23, 26, 48, .04);
    -webkit-backdrop-filter: blur(20px) saturate(120%);
    backdrop-filter: blur(20px) saturate(120%);
    transition: box-shadow .3s ease, background-color .3s ease;
  }

  body.home #header.zc-desktop-header--scrolled [data-row*="middle"] {
    background: rgba(255, 253, 249, .97);
    box-shadow: 0 14px 40px rgba(23, 26, 48, .10);
  }

  /* Start transparent before JS initializes, then stay transparent while the hero is visible. */
  body.home:not(.zc-desktop-header-state-ready) #header::before,
  body.home:not(.zc-desktop-header-state-ready) #header::after,
  body.home #header.zc-desktop-header--banner-visible::before,
  body.home #header.zc-desktop-header--banner-visible::after {
    background: transparent !important;
    box-shadow: none !important;
    opacity: 0 !important;
  }

  body.home:not(.zc-desktop-header-state-ready) #header [data-row*="middle"],
  body.home:not(.zc-desktop-header-state-ready) #header [data-row*="middle"] > .ct-container-fluid,
  body.home #header.zc-desktop-header--banner-visible [data-row*="middle"],
  body.home #header.zc-desktop-header--banner-visible [data-row*="middle"] > .ct-container-fluid {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.home #header [data-row*="middle"] .ct-container {
    width: min(100% - 64px, 1240px);
    min-height: 74px;
  }

  body.home header#header.ct-header [data-device="desktop"] [data-row="middle"] [data-id="menu"] > ul.menu > li > a.ct-menu-link {
    position: relative;
    font-size: clamp(13px, .9vw, 14px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .085em !important;
    text-transform: uppercase !important;
  }

  body.home #header .menu > li > a::after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: 15px;
    left: 12px;
    height: 1px;
    background: var(--zc-desk-night);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .25s ease;
  }

  body.home #header .menu > li > a:hover::after,
  body.home #header .menu > li > a:focus-visible::after {
    transform: scaleX(1);
    transform-origin: left;
  }

  /* Hero: retain approved artwork, but make controls legible and intentional. */
  body.home .stk-45e11a5 {
    position: relative;
    isolation: isolate;
    border-bottom: 1px solid rgba(31, 35, 65, .08);
    background: #eeece8;
  }

  body.home .stk-45e11a5 .zc-hero,
  body.home .stk-45e11a5 .stk-block-carousel__slider,
  body.home .stk-45e11a5 .stk-block-carousel__slider-wrapper {
    min-height: clamp(620px, calc(100vh - 116px), 820px);
  }

  body.home .stk-45e11a5 .zc-hero {
    background-position: center center !important;
    background-size: cover !important;
  }

  body.home .stk-45e11a5 .zc-hero__cta {
    z-index: 4;
  }

  body.home .stk-45e11a5 .zc-hero__cta .wp-block-button__link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 268px;
    min-height: 54px;
    padding: 0 30px !important;
    border: 1px solid rgba(255, 255, 255, .52) !important;
    border-radius: 999px !important;
    background: rgba(17, 21, 45, .92) !important;
    box-shadow: 0 18px 42px rgba(17, 21, 45, .24), inset 0 1px rgba(255, 255, 255, .18) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .115em !important;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
  }

  body.home .stk-45e11a5 .zc-hero__cta .wp-block-button__link:hover,
  body.home .stk-45e11a5 .zc-hero__cta .wp-block-button__link:focus-visible {
    transform: translateY(-3px);
    background: #252a50 !important;
    box-shadow: 0 23px 50px rgba(17, 21, 45, .30), 0 0 0 4px rgba(255, 255, 255, .20) !important;
  }

  body.home .stk-45e11a5 .stk-block-carousel__button {
    z-index: 5;
    width: 50px !important;
    height: 50px !important;
    border: 1px solid rgba(255, 255, 255, .68) !important;
    border-radius: 50% !important;
    background: rgba(255, 253, 249, .78) !important;
    box-shadow: 0 12px 30px rgba(18, 22, 45, .12) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  body.home .stk-45e11a5 .stk-block-carousel__dots {
    z-index: 5;
  }

  /* A quiet service ribbon supports the hero without covering it. */
  body.home .zc-desktop-benefits {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: minmax(145px, .55fr) minmax(0, 3.45fr);
    align-items: center;
    gap: 0;
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    min-height: 112px;
    margin: 0 0 0 calc(50% - 50vw);
    padding: 22px max(36px, calc((100vw - 1240px) / 2));
    overflow: hidden;
    border-top: 1px solid rgba(89, 82, 127, .12);
    border-bottom: 1px solid rgba(89, 82, 127, .12);
    background: linear-gradient(112deg, rgba(255, 255, 255, .98), rgba(247, 245, 251, .94));
    box-shadow: none;
  }

  body.home .zc-desktop-benefits__intro {
    display: flex;
    align-items: center;
    align-self: stretch;
    padding-right: clamp(18px, 2vw, 30px);
    border-right: 1px solid var(--zc-desk-line);
  }

  body.home .zc-desktop-benefits__eyebrow {
    margin: 0;
    color: var(--zc-desk-violet);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .17em;
    text-transform: uppercase;
  }

  /* Keep the compact final ribbon when older live markup still contains the retired headline. */
  body.home .zc-desktop-benefits__headline,
  body.home .zc-desktop-benefits__intro > h2:not(.zc-desktop-benefits__eyebrow) {
    display: none;
  }

  body.home .zc-desktop-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
  }

  body.home .zc-desktop-benefit {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    min-height: 64px;
    margin: 0;
    padding: 4px clamp(12px, 1.45vw, 24px);
    border-right: 1px solid var(--zc-desk-line);
  }

  body.home .zc-desktop-benefit:last-child {
    border-right: 0;
  }

  body.home .zc-desktop-benefit__symbol {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    margin-top: 1px;
    border: 1px solid rgba(180, 149, 89, .30);
    border-radius: 50%;
    color: var(--zc-desk-gold);
    font: 15px/1 Georgia, serif;
  }

  body.home .zc-desktop-benefit h3 {
    margin: 0 0 4px;
    color: var(--zc-desk-night);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .035em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  body.home .zc-desktop-benefit p {
    margin: 0;
    color: var(--zc-desk-muted);
    font-size: 9.75px;
    line-height: 1.45;
  }

  /* Energy discovery: editorial pacing and gemstone-card depth. */
  body.home .zc-pkg-block {
    position: relative;
    isolation: isolate;
    padding: 0 0 116px !important;
    background:
      radial-gradient(circle at 14% 12%, rgba(206, 199, 235, .22), transparent 27%),
      radial-gradient(circle at 88% 62%, rgba(224, 204, 171, .18), transparent 25%),
      var(--zc-desk-pearl) !important;
  }

  body.home .zc-pkg-block::before {
    content: "";
    position: absolute;
    inset: 13% 0 auto;
    height: 1px;
    z-index: -1;
    background: linear-gradient(90deg, transparent, rgba(129, 122, 184, .18), transparent);
  }

  body.home .zc-pkg-block > div {
    width: min(calc(100% - 72px), 1240px) !important;
    max-width: 1240px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.home .zc-pkg-block h2 {
    color: var(--zc-desk-night) !important;
    font: 500 clamp(46px, 4vw, 64px)/.94 "Cormorant Garamond", Georgia, serif !important;
    letter-spacing: -.035em !important;
    text-wrap: balance;
  }

  body.home .zc-pkg-images-grid {
    gap: 18px !important;
    margin-top: 42px !important;
  }

  body.home .zc-pkg-images-grid > div {
    transition: transform .35s cubic-bezier(.2, .7, .2, 1);
  }

  body.home .zc-pkg-images-grid > div:nth-child(even) {
    transform: translateY(24px);
  }

  body.home .zc-pkg-images-grid > div:hover {
    transform: translateY(-7px);
  }

  body.home .zc-pkg-images-grid > div:nth-child(even):hover {
    transform: translateY(17px);
  }

  body.home .zc-pkg-images-grid > div > div:first-child {
    aspect-ratio: 4 / 5 !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 25px 60px rgba(31, 34, 58, .14) !important;
  }

  body.home .zc-pkg-images-grid img {
    object-fit: contain !important;
    transition: filter .5s ease;
  }

  body.home .zc-pkg-images-grid > div:hover img {
    transform: none;
    filter: saturate(1.04) contrast(1.02);
  }

  body.home .zc-pkg-plus-btn {
    border-color: rgba(255, 255, 255, .78) !important;
    background: rgba(17, 21, 45, .88) !important;
    box-shadow: 0 12px 28px rgba(17, 21, 45, .22) !important;
    color: #fff !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  body.home .zc-pkg-footer .zc-meet-aoi-btn {
    border: 1px solid rgba(129, 122, 184, .34) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .54) !important;
    color: var(--zc-desk-night) !important;
  }

  /* Material universe: the memorable celestial chapter. */
  body.home .zc-material-universe {
    --bg-top: var(--zc-desk-pearl);
    --bg-bottom: #f0edf4;
    background:
      radial-gradient(circle at 50% 0, rgba(164, 153, 210, .16), transparent 34%),
      var(--zc-desk-pearl);
  }

  body.home .zc-material-universe .page {
    width: min(calc(100% - 48px), 1380px);
    padding: 74px 22px 82px;
  }

  body.home .zc-material-universe .module {
    isolation: isolate;
    min-height: 820px;
    padding: 34px 26px 18px 44px;
    overflow: hidden;
    border: 1px solid rgba(213, 207, 237, .18);
    border-radius: 4px 54px 4px 54px;
    background:
      radial-gradient(circle at 73% 40%, rgba(134, 119, 204, .18), transparent 28%),
      radial-gradient(circle at 12% 0, rgba(106, 155, 181, .14), transparent 29%),
      linear-gradient(138deg, #171b36 0%, #11152d 56%, #202344 100%);
    box-shadow: 0 40px 100px rgba(18, 21, 46, .20);
  }

  body.home .zc-material-universe .module::before,
  body.home .zc-material-universe .module::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    border: 1px solid rgba(220, 215, 245, .10);
    border-radius: 50%;
  }

  body.home .zc-material-universe .module::before {
    width: 520px;
    height: 520px;
    top: -310px;
    left: -190px;
  }

  body.home .zc-material-universe .module::after {
    width: 700px;
    height: 700px;
    right: -430px;
    bottom: -480px;
  }

  body.home .zc-material-universe .copy {
    padding-top: 102px;
    padding-left: 10px;
  }

  body.home .zc-material-universe .eyebrow {
    color: #aaa4df;
    letter-spacing: .14em;
  }

  body.home .zc-material-universe .title {
    color: #fbf9ff;
    font-size: clamp(47px, 3.6vw, 59px);
    text-shadow: 0 16px 40px rgba(0, 0, 0, .18);
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
  }

  body.home .zc-material-universe .lead {
    color: rgba(239, 238, 250, .67);
    font-size: 14px;
  }

  body.home .zc-material-universe .button--primary {
    border: 1px solid rgba(255, 255, 255, .16);
    background: linear-gradient(135deg, #9289d0, #6f68b5);
    box-shadow: 0 18px 40px rgba(113, 101, 194, .26);
  }

  body.home .zc-material-universe .button--secondary {
    color: #c3bde9;
  }

  body.home .zc-material-universe .card {
    border-color: rgba(220, 215, 245, .15);
    background: rgba(255, 255, 255, .06);
    box-shadow: 0 24px 55px rgba(0, 0, 0, .18);
  }

  body.home .zc-material-universe .card__title {
    color: #f6f3ff;
  }

  body.home .zc-material-universe .card__copy {
    color: rgba(231, 228, 246, .58);
  }

  body.home .zc-material-universe .universe {
    min-height: 760px;
  }

  body.home .zc-material-universe .orbit {
    border-color: rgba(202, 194, 237, .15);
  }

  body.home .zc-material-universe .brand-core {
    border-color: rgba(220, 215, 245, .20);
    background: radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .18), rgba(148, 135, 210, .09) 45%, rgba(13, 17, 39, .48));
    box-shadow: inset 0 0 50px rgba(255, 255, 255, .07), 0 0 80px rgba(133, 119, 204, .18);
  }

  body.home .zc-material-universe .brand-core__mark,
  body.home .zc-material-universe .brand-core__name {
    color: #f7f4ff;
  }

  body.home .zc-material-universe .brand-core__hint,
  body.home .zc-material-universe .planet__index,
  body.home .zc-material-universe .planet__name,
  body.home .zc-material-universe .rail__number,
  body.home .zc-material-universe .rail__label {
    color: rgba(248, 246, 255, .88);
  }

  body.home .zc-material-universe .planet__tags {
    color: rgba(226, 222, 242, .58);
  }

  body.home .zc-material-universe .planet__media-wrap {
    filter: drop-shadow(0 20px 28px rgba(0, 0, 0, .26));
  }

  body.home .zc-material-universe .planet.is-active .planet__media-wrap,
  body.home .zc-material-universe .planet:hover .planet__media-wrap {
    filter: drop-shadow(0 20px 34px rgba(143, 127, 215, .40));
  }

  body.home .zc-material-universe .rail__line {
    background: rgba(225, 220, 244, .30);
  }

  body.home .zc-material-universe .detail-shell {
    margin-top: 38px;
    border: 1px solid rgba(50, 53, 81, .09);
    border-radius: 38px 4px 38px 4px;
    background: rgba(255, 253, 250, .78);
    box-shadow: 0 28px 75px rgba(42, 40, 68, .10);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  body.home .zc-material-universe :is(a, button):focus-visible,
  body.home .zc-pkg-block :is(a, button):focus-visible,
  body.home .zc-desktop-benefits :is(a, button):focus-visible {
    outline: 2px solid #d8c47f !important;
    outline-offset: 4px !important;
  }

  /* One orchestrated reveal; never hide content before JavaScript is ready. */
  body.home.zc-desktop-motion-ready .zc-desktop-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1);
    transition-delay: calc(var(--zc-reveal-order, 0) * 45ms);
  }

  body.home.zc-desktop-motion-ready .zc-desktop-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 1181px) and (max-width: 1320px) {
  body.home .zc-material-universe .title {
    font-size: 43px;
  }
}

@media (min-width: 1025px) and (max-width: 1180px) {
  body.home .zc-desktop-benefits {
    grid-template-columns: 132px minmax(0, 1fr);
    width: 100vw;
    min-height: 108px;
    margin-left: calc(50% - 50vw);
    padding-right: 20px;
    padding-left: 20px;
  }

  body.home .zc-desktop-benefit {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 8px;
    padding-right: 10px;
    padding-left: 10px;
  }

  body.home .zc-desktop-benefit__symbol {
    width: 24px;
    height: 24px;
  }

  body.home .zc-material-universe .page {
    width: calc(100% - 24px);
    padding-right: 8px;
    padding-left: 8px;
  }

  body.home .zc-material-universe .module {
    min-height: 650px;
    padding: 24px 18px 8px 30px;
  }

  body.home .zc-material-universe .copy {
    padding-top: 74px;
    padding-left: 0;
  }

  body.home .zc-material-universe .title {
    font-size: 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .zc-desktop-reveal,
  body.home .zc-pkg-images-grid > div,
  body.home .zc-pkg-images-grid img,
  body.home #header [data-row*="middle"] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
