/*
 * iBlogger — Luminae V2.3 Final Hero Optical Match
 * Optical calibration against the live Luminae reference hero.
 * Loaded after luminae-v22.css and intentionally limited to the homepage.
 */

/* Keep the navy centre, move the violet energy lower, and let the orbit itself
   create the side bloom instead of painting broad white columns. */
.home-page[data-design-pass="v2.3"] .lm-hero {
  min-height: clamp(720px, 100svh, 860px);
  background:
    radial-gradient(ellipse 28% 60% at -2% 38%, rgba(71,68,255,.56) 0%, rgba(67,61,242,.38) 31%, rgba(76,54,211,.18) 58%, transparent 78%),
    radial-gradient(ellipse 28% 60% at 102% 38%, rgba(71,68,255,.56) 0%, rgba(67,61,242,.38) 31%, rgba(76,54,211,.18) 58%, transparent 78%),
    radial-gradient(ellipse 112% 54% at 50% 91%, rgba(241,150,239,.72) 0%, rgba(193,101,232,.57) 24%, rgba(124,74,219,.42) 46%, rgba(70,58,178,.22) 66%, transparent 84%),
    linear-gradient(180deg, #161f3c 0%, #161e3d 18%, #1a1f49 34%, #242263 49%, #3832a2 66%, #7449c1 82%, #dca7dd 100%);
}

/* Reference geometry: the neon orbit is a tall ellipse whose crown lives
   above the viewport. This naturally removes the incorrect dotted line that
   V2.2 showed across the top-centre while preserving both side arcs. */
.home-page[data-design-pass="v2.3"] .lm-hero::before {
  width: 100.35vw;
  height: 79.05vw;
  max-width: 1540px;
  max-height: 1215px;
  min-width: 1000px;
  min-height: 790px;
  top: -9.25vw;
  left: 50%;
  transform: translateX(-50%);
  border: 3px dotted rgba(72,82,255,.96);
  border-radius: 50%;
  background: none !important;
  box-shadow:
    0 0 9px 2px rgba(61,78,255,.98),
    0 0 26px 8px rgba(68,68,255,.88),
    0 0 58px 18px rgba(105,58,255,.62),
    0 0 108px 34px rgba(193,73,255,.40),
    0 0 160px 52px rgba(249,130,238,.22);
  filter: none;
  opacity: 1;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 67%, rgba(0,0,0,.88) 75%, rgba(0,0,0,.28) 86%, transparent 98%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 67%, rgba(0,0,0,.88) 75%, rgba(0,0,0,.28) 86%, transparent 98%);
}

/* Tight lower pink-white wash. The reference gets bright near the lower side
   arc, but keeps the centre behind the copy navy for longer. */
.home-page[data-design-pass="v2.3"] .lm-hero::after {
  left: -7%;
  right: -7%;
  bottom: -31%;
  height: 72%;
  background:
    radial-gradient(ellipse 63% 44% at 50% 29%, rgba(255,230,249,.28) 0%, rgba(246,168,239,.32) 18%, rgba(209,111,237,.31) 38%, rgba(129,75,221,.18) 58%, transparent 78%);
  filter: blur(22px);
  opacity: .95;
}

/* Copy geometry was already close in V2.2. Only optical spacing and the
   second-line silhouette are refined here. */
.home-page[data-design-pass="v2.3"] .lm-hero-copy {
  width: min(730px, calc(100% - 44px));
  padding-top: 144px;
}
.home-page[data-design-pass="v2.3"] .lm-trust {
  margin-bottom: 13px;
  padding: 5px 10px 5px 7px;
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.13);
}
.home-page[data-design-pass="v2.3"] .lm-hero h1 {
  max-width: 710px;
  margin-bottom: 13px;
  line-height: .96;
  font-weight: 500;
  letter-spacing: -.048em;
  text-rendering: geometricPrecision;
}
.home-page[data-design-pass="v2.3"] .lm-hero h1 span {
  margin-top: .035em;
  font-size: 1.045em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.045em;
}
.home-page[data-design-pass="v2.3"] .lm-hero-copy > p {
  margin-bottom: 20px;
  color: rgba(247,244,238,.57);
}
.home-page[data-design-pass="v2.3"] .lm-hero .button-large {
  min-width: 146px;
  min-height: 47px;
  border-radius: 999px;
}

/* Frame-by-frame ticker match at the 1440px QA width. */
.home-page[data-design-pass="v2.3"] .lm-hero-marquee {
  bottom: 0;
  padding-top: 10px;
  -webkit-mask-image: none;
  mask-image: none;
}
.home-page[data-design-pass="v2.3"] .lm-marquee-track,
.home-page[data-design-pass="v2.3"] .lm-marquee-set {
  gap: 27px;
}
.home-page[data-design-pass="v2.3"] .lm-marquee-track {
  margin-left: -99px;
  padding-left: 0;
  padding-right: 27px;
  animation-name: lmMarqueeV23;
  animation-duration: 49s;
  animation-delay: 0s;
}
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile {
  margin: 0;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 25px;
  box-shadow: 0 18px 44px rgba(5,7,30,.12);
  transform-origin: 50% 100%;
}
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Measurements come from the actual 640px reference frame scaled x2.25.
   The first card is intentionally mostly off-screen and much taller. */
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-pre      { width:166px; height:372px; transform:rotate(1deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-face     { width:203px; height:372px; transform:rotate(-.8deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-meditate { width:164px; height:286px; transform:rotate(-1.4deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-flowers  { width:144px; height:272px; transform:rotate(.6deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-yoga     { width:137px; height:248px; transform:rotate(-.4deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-portrait { width:146px; height:250px; transform:rotate(1deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-group    { width:167px; height:276px; transform:rotate(-1.2deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-water    { width:205px; height:360px; transform:rotate(1deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-breath   { width:154px; height:292px; transform:rotate(-.5deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-waves    { width:148px; height:280px; transform:rotate(.7deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-rose     { width:154px; height:294px; transform:rotate(-.6deg); }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-winter   { width:165px; height:310px; transform:rotate(.8deg); }

.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-pre img {
  object-position: 52% 51%;
  transform: none;
}
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-face img {
  transform: scale(2.58);
  object-position: 54% 60%;
}
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-meditate img { object-position: 50% 54%; transform:none; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-flowers img  { object-position: 50% 50%; transform:none; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-yoga img     { object-position: 50% 48%; transform:none; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-portrait img { object-position: 50% 45%; transform:none; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-group img    { object-position: 50% 50%; transform:none; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-water img    { object-position: 54% 50%; transform:none; }

@keyframes lmMarqueeV23 {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 13.5px)); }
}

@media (max-width: 920px) {
  .home-page[data-design-pass="v2.3"] .lm-hero-copy { padding-top: 130px; }
  .home-page[data-design-pass="v2.3"] .lm-hero::before {
    width: 116vw;
    height: 91vw;
    min-width: 0;
    min-height: 0;
    top: -11vw;
  }
}

@media (max-width: 560px) {
  .home-page[data-design-pass="v2.3"] .lm-hero {
    min-height: 700px;
    max-height: 820px;
    background:
      radial-gradient(ellipse 52% 57% at -4% 39%, rgba(71,68,255,.58) 0%, rgba(68,60,239,.34) 40%, transparent 77%),
      radial-gradient(ellipse 52% 57% at 104% 39%, rgba(71,68,255,.58) 0%, rgba(68,60,239,.34) 40%, transparent 77%),
      radial-gradient(ellipse 145% 49% at 50% 91%, rgba(241,145,239,.71) 0%, rgba(185,94,231,.53) 31%, rgba(104,68,211,.31) 58%, transparent 80%),
      linear-gradient(180deg, #161f3c 0%, #171f42 31%, #22205d 55%, #4b33a5 76%, #bd79d2 100%);
  }
  .home-page[data-design-pass="v2.3"] .lm-hero::before {
    width: 132vw;
    height: 104vw;
    top: -7vw;
    border-width: 2px;
    box-shadow:
      0 0 8px 2px rgba(61,78,255,.95),
      0 0 22px 7px rgba(68,68,255,.75),
      0 0 46px 14px rgba(112,61,255,.48),
      0 0 80px 25px rgba(203,84,255,.28);
  }
  .home-page[data-design-pass="v2.3"] .lm-hero::after {
    bottom: -25%;
    height: 63%;
    filter: blur(18px);
  }
  .home-page[data-design-pass="v2.3"] .lm-hero-copy {
    width: calc(100% - 30px);
    padding-top: 110px;
  }
  .home-page[data-design-pass="v2.3"] .lm-trust { margin-bottom: 12px; }
  .home-page[data-design-pass="v2.3"] .lm-hero h1 {
    max-width: 360px;
    margin-bottom: 12px;
    font-size: clamp(2.48rem, 11vw, 3.25rem);
    line-height: 1.01;
  }
  .home-page[data-design-pass="v2.3"] .lm-hero h1 span { font-size: 1.02em; }
  .home-page[data-design-pass="v2.3"] .lm-hero-copy > p {
    max-width: 330px;
    margin-bottom: 18px;
    line-height: 1.7;
  }
  .home-page[data-design-pass="v2.3"] .lm-hero .button-large {
    width: auto !important;
    min-width: 142px;
    min-height: 45px;
    padding-inline: 18px;
  }
  .home-page[data-design-pass="v2.3"] .lm-hero-marquee {
    bottom: -3px;
    padding-top: 8px;
  }
  .home-page[data-design-pass="v2.3"] .lm-marquee-track,
  .home-page[data-design-pass="v2.3"] .lm-marquee-set { gap: 11px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-track {
    margin-left: -27px;
    padding-right: 11px;
    animation-duration: 36s;
  }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile { border-radius: 19px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-pre      { width:94px;  height:211px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-face     { width:113px; height:216px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-meditate { width:92px;  height:166px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-flowers  { width:81px;  height:158px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-yoga     { width:77px;  height:145px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-portrait { width:82px;  height:147px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-group    { width:94px;  height:162px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-water    { width:115px; height:210px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page[data-design-pass="v2.3"] .lm-marquee-track { animation: none; }
}

/* V2.3.1 micro-correction after optical QA: restore the reference card tops,
   shift the first frame left, and add the narrow side-white bloom visible where
   the orbit approaches the lower viewport edges. */
.home-page[data-design-pass="v2.3"] .lm-hero {
  background:
    radial-gradient(ellipse 8% 21% at 0% 53%, rgba(255,245,255,.72) 0%, rgba(248,184,255,.58) 28%, rgba(189,103,255,.34) 58%, transparent 100%),
    radial-gradient(ellipse 8% 21% at 100% 53%, rgba(255,245,255,.72) 0%, rgba(248,184,255,.58) 28%, rgba(189,103,255,.34) 58%, transparent 100%),
    radial-gradient(ellipse 28% 60% at -2% 38%, rgba(71,68,255,.56) 0%, rgba(67,61,242,.38) 31%, rgba(76,54,211,.18) 58%, transparent 78%),
    radial-gradient(ellipse 28% 60% at 102% 38%, rgba(71,68,255,.56) 0%, rgba(67,61,242,.38) 31%, rgba(76,54,211,.18) 58%, transparent 78%),
    radial-gradient(ellipse 112% 54% at 50% 85%, rgba(241,150,239,.72) 0%, rgba(193,101,232,.57) 24%, rgba(124,74,219,.42) 46%, rgba(70,58,178,.22) 66%, transparent 84%),
    linear-gradient(180deg, #161f3c 0%, #161e3d 18%, #1a1f49 34%, #242263 49%, #3832a2 66%, #7449c1 82%, #dca7dd 100%);
}
.home-page[data-design-pass="v2.3"] .lm-marquee-track { margin-left: -123px; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-pre      { height:414px; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-meditate { height:300px; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-flowers  { height:286px; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-yoga     { height:272px; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-portrait { height:276px; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-group    { height:302px; }
.home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-water    { height:382px; }

@media (max-width: 560px) {
  .home-page[data-design-pass="v2.3"] .lm-hero {
    background:
      radial-gradient(ellipse 14% 20% at 0% 58%, rgba(255,240,255,.56), rgba(226,151,255,.36) 35%, transparent 100%),
      radial-gradient(ellipse 14% 20% at 100% 58%, rgba(255,240,255,.56), rgba(226,151,255,.36) 35%, transparent 100%),
      radial-gradient(ellipse 52% 57% at -4% 39%, rgba(71,68,255,.58) 0%, rgba(68,60,239,.34) 40%, transparent 77%),
      radial-gradient(ellipse 52% 57% at 104% 39%, rgba(71,68,255,.58) 0%, rgba(68,60,239,.34) 40%, transparent 77%),
      radial-gradient(ellipse 145% 49% at 50% 87%, rgba(241,145,239,.71) 0%, rgba(185,94,231,.53) 31%, rgba(104,68,211,.31) 58%, transparent 80%),
      linear-gradient(180deg, #161f3c 0%, #171f42 31%, #22205d 55%, #4b33a5 76%, #bd79d2 100%);
  }
  .home-page[data-design-pass="v2.3"] .lm-marquee-track { margin-left: -35px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-pre      { height:232px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-meditate { height:174px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-flowers  { height:166px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-yoga     { height:158px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-portrait { height:160px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-group    { height:176px; }
  .home-page[data-design-pass="v2.3"] .lm-marquee-set .lm-tile.lm-tile-water    { height:220px; }
}
