/* Modern homepage, Oct 2026. Same palette (navy / cobalt / flag red). Motion respects reduced-motion. */
.home-modern { --glass: rgba(255,255,255,.72); --soft: #eef3fc; --ring: #dce2ee; overflow-x: clip; }
.home-modern .sr-only { position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.home-modern .kicker { color: var(--blue); font-weight: 700; letter-spacing: .14em; font-size: 14px; }

/* Hero */
.hm-hero { position: relative; padding: 72px 0 0; background: linear-gradient(180deg,#f7f9fe 0%,#fff 70%); isolation: isolate; }
.hm-hero-glow { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.hm-hero-glow i { position:absolute; border-radius:50%; filter: blur(70px); opacity:.55; animation: hm-drift 18s ease-in-out infinite alternate; }
.hm-hero-glow i:nth-child(1){ width:520px; height:520px; background:#c9d8ff; top:-160px; right:-80px; }
.hm-hero-glow i:nth-child(2){ width:380px; height:380px; background:#ffd9df; top:220px; right:30%; opacity:.35; animation-duration:24s; }
.hm-hero-glow i:nth-child(3){ width:420px; height:420px; background:#dfe8ff; bottom:-120px; left:-140px; animation-duration:21s; }
@keyframes hm-drift { to { transform: translate3d(40px,30px,0) scale(1.08); } }
.hm-hero-grid { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: 56px; align-items:center; }
.hm-eyebrow { display:inline-flex; align-items:center; gap:10px; padding:7px 14px; border:1px solid var(--ring); border-radius:999px; background:var(--glass); backdrop-filter: blur(8px); font-size:14px; font-weight:600; color:var(--navy); margin:0 0 22px; animation: hm-rise .8s cubic-bezier(.16,1,.3,1) both; }
.home-modern h1 { font-size: clamp(44px, 6.4vw, 84px); letter-spacing:-.055em; line-height:1.02; }
.hm-lead { font-size: 20px; line-height:1.55; color: var(--muted); max-width: 540px; margin: 24px 0 30px; animation: hm-rise .9s .25s cubic-bezier(.16,1,.3,1) both; }
.home-modern .cta-row { display:flex; flex-wrap:wrap; gap:14px; align-items:center; animation: hm-rise .9s .35s cubic-bezier(.16,1,.3,1) both; }
.hm-cta { position:relative; overflow:hidden; box-shadow: 0 12px 30px -10px rgba(40,89,220,.55); transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s; }
.hm-cta:after { content:""; position:absolute; inset:0; background: linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%); transform: translateX(-120%); animation: hm-shine 3.6s 1.6s ease-in-out infinite; }
.hm-cta:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -12px rgba(40,89,220,.6); }
@keyframes hm-shine { 0%,60% { transform: translateX(-120%);} 100% { transform: translateX(120%);} }
.hm-ghost { display:inline-flex; align-items:center; gap:8px; font-weight:600; color: var(--navy); text-decoration:none; padding: 12px 6px; }
.hm-ghost .icon { transition: transform .25s; }
.hm-ghost:hover .icon { transform: translateX(4px); }
.hm-footnote { margin:16px 0 0; font-size:14px; color: var(--muted); animation: hm-rise .9s .45s cubic-bezier(.16,1,.3,1) both; }
@keyframes hm-rise { from { opacity:0; transform: translateY(18px);} to { opacity:1; transform:none; } }

/* Dashboard window */
.hm-hero-visual { position:relative; perspective: 1400px; animation: hm-rise 1.1s .3s cubic-bezier(.16,1,.3,1) both; }
.hm-window { position:relative; border-radius:18px; background:#fff; border:1px solid var(--ring); box-shadow: 0 40px 80px -30px rgba(17,36,71,.35), 0 12px 24px -12px rgba(17,36,71,.18); overflow:hidden; transform: rotateY(-9deg) rotateX(4deg); transform-style: preserve-3d; transition: transform .6s cubic-bezier(.16,1,.3,1); will-change: transform; }
.hm-hero-visual:hover .hm-window { transform: rotateY(-3deg) rotateX(1deg); }
.hm-window-bar { display:flex; align-items:center; gap:6px; padding:10px 14px; background:#f6f8fc; border-bottom:1px solid var(--ring); }
.hm-window-bar i { width:10px; height:10px; border-radius:50%; background:#dce2ee; }
.hm-window-bar i:first-child { background:#ff8a8a; } .hm-window-bar i:nth-child(2){ background:#ffd36b; } .hm-window-bar i:nth-child(3){ background:#7fd49a; }
.hm-window-bar span { margin-left:12px; font-size:12px; color:#52617a; background:#fff; border:1px solid var(--ring); border-radius:6px; padding:2px 10px; }
.hm-window-body { display:grid; grid-template-columns: 150px 1fr; min-height: 360px; }
.hm-rail { background: var(--navy); color:#c9d4ea; padding:16px 10px; display:flex; flex-direction:column; gap:3px; font-size:12px; }
.hm-rail span { padding:7px 10px; border-radius:8px; white-space:nowrap; }
.hm-rail span.on { background: rgba(255,255,255,.12); color:#fff; font-weight:600; }
.hm-rail-brand { color:#fff!important; font-weight:700; margin-bottom:8px; display:flex; align-items:center; gap:7px; }
.hm-rail-brand b { width:14px; height:14px; border-radius:4px; background: linear-gradient(135deg,var(--blue),#7ea0ff); }
.hm-main { padding:16px; background:#f7f9fd; min-width:0; }
.hm-topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; gap:8px; }
.hm-topbar strong { font-size:15px; color:var(--navy); letter-spacing:-.02em; }
.hm-chip { font-size:11px; font-weight:700; color:#16794a; background:#e3f6ec; padding:4px 10px; border-radius:999px; white-space:nowrap; }
.hm-grid2 { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.hm-panel, .hm-trend-card { background:#fff; border:1px solid var(--ring); border-radius:14px; padding:14px; min-width:0; }
.hm-card-head { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12px; font-weight:700; color:var(--navy); margin-bottom:10px; }
.hm-card-head > span:first-child { display:inline-flex; align-items:center; gap:6px; }
.hm-card-head .icon { width:14px; height:14px; color: var(--blue); }
.hm-tag { font-size:11px; font-weight:600; color: var(--muted); background: var(--soft); padding:3px 8px; border-radius:999px; white-space:nowrap; }
.hm-tag.blue { color: var(--blue); }

/* Timeline */
.hm-timeline { list-style:none; margin:0 0 12px; padding:0; display:flex; justify-content:space-between; position:relative; }
.hm-timeline:before { content:""; position:absolute; left:8px; right:8px; top:7px; height:2px; background:#e3e8f1; }
.hm-timeline:after { content:""; position:absolute; left:8px; top:7px; height:2px; width: 0; background: var(--blue); transition: width 1.4s .5s cubic-bezier(.16,1,.3,1); }
.hm-timeline li { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:6px; font-size:10px; color: var(--muted); text-align:center; flex:1; }
.hm-timeline i { width:16px; height:16px; border-radius:50%; background:#fff; border:2px solid #cfd8e6; transition: background .3s, border-color .3s; }
.hm-timeline li.done i { background: var(--blue); border-color: var(--blue); }
.hm-timeline li.now i { border-color: var(--red); box-shadow: 0 0 0 0 rgba(186,41,64,.45); animation: hm-pulse 2s infinite; }
.hm-timeline li.now span { color: var(--red); font-weight:700; }
@keyframes hm-pulse { 70% { box-shadow: 0 0 0 9px rgba(186,41,64,0);} 100% { box-shadow: 0 0 0 0 rgba(186,41,64,0);} }
.hm-ready .hm-timeline:after, .in-view .hm-timeline:after { width: 62%; }
.hm-check { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.hm-check li { display:flex; align-items:center; gap:8px; font-size:12px; color: var(--navy); }
.hm-check i { width:16px; height:16px; border-radius:5px; border:1.5px solid #cfd8e6; display:grid; place-items:center; flex:none; }
.hm-check i .icon { width:11px; height:11px; color:#fff; opacity:0; transform: scale(.4); transition: opacity .3s, transform .35s cubic-bezier(.34,1.56,.64,1); }
.hm-check li.done i { background: var(--blue); border-color: var(--blue); }
.hm-ready .hm-check li.done i .icon, .in-view .hm-check li.done i .icon { opacity:1; transform:none; }
.hm-check li.done { color: var(--muted); text-decoration: line-through; text-decoration-color: #b8c3d6; }
.hm-check li:nth-child(2) i .icon { transition-delay:.15s } .hm-check li:nth-child(3) i .icon { transition-delay:.3s }

/* Trend */
.hm-trend-figures { display:flex; justify-content:space-between; gap:8px; margin-bottom:6px; }
.hm-trend-figures small { display:block; font-size:11px; color: var(--muted); }
.hm-trend-figures strong { font-size:15px; color: var(--navy); letter-spacing:-.02em; }
.hm-trend-figures > div:last-child { text-align:right; }
.hm-down { display:inline-block; margin-left:6px; font-style:normal; font-size:11px; font-weight:700; color: var(--red); background:#fbeef1; padding:2px 7px; border-radius:999px; }
.hm-trend { width:100%; height:120px; display:block; overflow:visible; }
.hm-grid line { stroke:#eef2f8; stroke-width:1; vector-effect: non-scaling-stroke; }
.hm-line { fill:none; stroke: var(--blue); stroke-width:2.6; stroke-linejoin:round; stroke-linecap:round; vector-effect: non-scaling-stroke; stroke-dasharray:1; stroke-dashoffset:1; transition: stroke-dashoffset 2.2s .3s cubic-bezier(.65,0,.35,1); }
.hm-area { opacity:0; transition: opacity 1s 1.6s; }
.hm-dot { fill:#fff; stroke: var(--blue); stroke-width:2; vector-effect: non-scaling-stroke; opacity:0; transition: opacity .4s 2.2s; }
.hm-ready .hm-line, .in-view .hm-line { stroke-dashoffset:0; }
.hm-ready .hm-area, .in-view .hm-area, .hm-ready .hm-dot, .in-view .hm-dot { opacity:1; }
.hm-axis { display:flex; justify-content:space-between; font-size:11px; color: var(--muted); margin-top:4px; }

/* Floating cards */
.hm-float { position:absolute; z-index:2; animation: hm-bob 6s ease-in-out infinite; }
.hm-float-flash { left:-48px; bottom:-34px; width: 250px; }
.hm-float-badge { right:-18px; top:58px; display:flex; align-items:center; gap:10px; padding:10px 14px; background:#fff; border:1px solid var(--ring); border-radius:14px; box-shadow: 0 18px 40px -18px rgba(17,36,71,.35); font-size:13px; color: var(--muted); animation-delay: -3s; }
.hm-float-badge > .icon { width:28px; height:28px; padding:6px; border-radius:50%; background:#e3f6ec; color:#16794a; }
.hm-float-badge strong { display:block; color: var(--navy); font-size:14px; }
@keyframes hm-bob { 50% { transform: translateY(-10px); } }

/* Flashcard (3D flip) */
.hm-flash { perspective: 900px; cursor:pointer; }
.hm-flash-inner { position:relative; min-height: 150px; transform-style: preserve-3d; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.hm-flash:hover .hm-flash-inner, .hm-flash.flipped .hm-flash-inner, .hm-flash:focus-within .hm-flash-inner { transform: rotateY(180deg); }
.hm-flash-face { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; background: linear-gradient(150deg,#fff, #f4f7ff); border:1px solid var(--ring); border-radius:16px; padding:16px; box-shadow: 0 22px 44px -22px rgba(17,36,71,.45); display:flex; flex-direction:column; gap:8px; }
.hm-flash-face small { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color: var(--blue); }
.hm-flash-face p { margin:0; font-size:15px; font-weight:600; color: var(--navy); line-height:1.35; }
.hm-flash-hint { margin-top:auto; font-size:12px; color: var(--muted); }
.hm-flash-back { transform: rotateY(180deg); background: var(--navy); border-color: var(--navy); }
.hm-flash-back small { color:#9fb7ff; }
.hm-flash-back ul { margin:0; padding-left:18px; color:#fff; font-size:14px; line-height:1.5; }
.hm-flash.small .hm-flash-inner { min-height: 130px; }

/* Marquee */
.hm-marquee { margin-top: 84px; padding: 18px 0; border-top:1px solid var(--ring); border-bottom:1px solid var(--ring); background: rgba(255,255,255,.6); overflow:hidden; max-width:none; }
.hm-marquee-row { display:flex; width:max-content; animation: hm-marquee 38s linear infinite; }
.hm-marquee:hover .hm-marquee-row { animation-play-state: paused; }
.hm-marquee-track { display:flex; gap:14px; padding-right:14px; }
.hm-marquee-track span { white-space:nowrap; font-size:16px; font-weight:600; color: var(--navy); padding:8px 18px; border-radius:999px; background:#fff; border:1px solid var(--ring); }
.hm-marquee-track span:nth-child(3n+1):before { content:"★"; color: var(--red); margin-right:8px; font-size:12px; }
@keyframes hm-marquee { to { transform: translateX(-50%); } }

/* Stats */
.hm-stats { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; padding: 72px 0 24px; }
.hm-stats div { padding: 22px; border-radius:18px; background:#fff; border:1px solid var(--ring); }
.hm-stats strong { display:block; font-size: clamp(36px,4vw,52px); letter-spacing:-.05em; color: var(--navy); line-height:1; font-variant-numeric: tabular-nums; }
.hm-stats div:last-child strong { color: var(--red); }
.hm-stats span { display:block; margin-top:10px; font-size:15px; color: var(--muted); line-height:1.4; }

/* Section heads */
.hm-head { max-width: 760px; margin: 0 auto 44px; text-align:center; }
.hm-head h2, .hm-showcase h2 { font-size: clamp(36px, 4.6vw, 60px); line-height:1.04; letter-spacing:-.05em; color: var(--navy); margin: 12px 0 16px; }
.hm-head h2 span { color: var(--blue); }
.hm-head p { font-size: 18px; color: var(--muted); line-height:1.55; margin:0; }
.hm-head.light h2 { color:#fff; } .hm-head.light h2 span { color:#9fb7ff; } .hm-head.light .kicker { color:#9fb7ff; }

/* Bento */
.hm-features { padding: 80px 0; }
.hm-bento { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.hm-tile { position:relative; display:flex; flex-direction:column; gap:18px; padding: 22px; border-radius: 22px; background:#fff; border:1px solid var(--ring); text-decoration:none; color:inherit; overflow:hidden; transition: transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s, border-color .3s; min-width:0; }
.hm-tile.wide, .hm-tile.full { grid-column: span 2; flex-direction:row; align-items:center; gap:28px; }
.hm-tile.full { grid-column: 1 / -1; }
.hm-tile.wide > *, .hm-tile.full > * { flex:1; min-width:0; }
.hm-tile:before { content:""; position:absolute; inset:0; background: radial-gradient(420px circle at var(--mx,50%) var(--my,0%), rgba(40,89,220,.10), transparent 60%); opacity:0; transition: opacity .3s; pointer-events:none; }
.hm-tile:hover { transform: translateY(-6px); border-color:#b4c8f2; box-shadow: 0 30px 60px -30px rgba(17,36,71,.35); }
.hm-tile:hover:before { opacity:1; }
.hm-tile:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.hm-mini { background: #f7f9fd; border:1px solid #e6ebf3; border-radius: 16px; padding: 18px 14px; }
.hm-mini-trend .hm-trend { height: 100px; }
.hm-tile-icon { display:inline-grid; place-items:center; width:40px; height:40px; border-radius:12px; background: var(--soft); color: var(--blue); transition: transform .45s cubic-bezier(.34,1.56,.64,1); }
.hm-tile:hover .hm-tile-icon { transform: rotate(-8deg) scale(1.08); }
.hm-tile h3 { margin: 14px 0 8px; font-size: 22px; letter-spacing:-.03em; color: var(--navy); }
.hm-tile p { margin:0; color: var(--muted); font-size:16px; line-height:1.5; }
.hm-tile-link { display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-weight:600; color: var(--blue); font-size:15px; }
.hm-tile-link .icon { transition: transform .25s; }
.hm-tile:hover .hm-tile-link .icon { transform: translateX(4px); }
.hm-stages { display:flex; flex-wrap:wrap; gap:8px; }
.hm-stages span { font-size:13px; font-weight:600; padding:7px 12px; border-radius:999px; background:#fff; border:1px solid var(--ring); color: var(--muted); }
.hm-stages span.on { background: var(--blue); color:#fff; border-color: var(--blue); }
.hm-watch { display:grid; grid-template-columns: auto 1fr; gap:6px 14px; align-items:baseline; font-size:14px; color: var(--muted); }
.hm-watch b { color: var(--navy); font-size:20px; letter-spacing:-.03em; }
.hm-watch b.down { color: var(--red); }

/* Steps */
.hm-steps { background: radial-gradient(1000px 400px at 80% -10%, #203e72, transparent), var(--navy); color:#fff; padding: 96px 0; position:relative; overflow:hidden; }
.hm-step-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; position:relative; }
.hm-step-list:before { content:""; position:absolute; top:28px; left:5%; right:5%; height:1px; background: linear-gradient(90deg, transparent, rgba(159,183,255,.5), transparent); transform: scaleX(0); transform-origin:left; transition: transform 1.4s .2s cubic-bezier(.16,1,.3,1); }
.hm-step-list.in-view:before { transform: scaleX(1); }
.hm-step-list li { position:relative; padding: 0 6px; display:block; margin:0; align-self:start; }
.hm-step-list span { display:inline-grid; place-items:center; width:56px; height:56px; border-radius:50%; background: #1b3363; border:1px solid rgba(159,183,255,.4); font-weight:700; color:#fff; font-size:16px; position:relative; z-index:1; }
.home-modern .hm-step-list h3 { color:#fff; font-size:24px; letter-spacing:-.03em; margin: 22px 0 10px; }
.home-modern .hm-step-list p { color:#c9d4ea; font-size:16px; line-height:1.55; margin:0; }

/* Showcase */
.hm-showcase { display:grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:center; padding: 96px 0 40px; }
.hm-showcase-copy > p { font-size:18px; color: var(--muted); line-height:1.6; }
.hm-showcase-copy strong { color: var(--red); }
.hm-ghost.dark { color: var(--blue); padding-left:0; }
.hm-trend-card.big { padding: 24px; border-radius: 22px; box-shadow: 0 40px 80px -40px rgba(17,36,71,.35); }
.hm-trend-card.big .hm-trend { height: 240px; }
.hm-trend-card.big .hm-trend-figures strong { font-size: 22px; }
.hm-trend-card.big .hm-card-head, .hm-trend-card.big .hm-axis { font-size: 14px; }

/* Reveal choreography (JS adds motion-ready, then in-view) */
.home-modern [data-reveal].motion-ready { transform: translateY(40px) scale(.985); filter: blur(6px); transition: filter .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.home-modern [data-reveal].motion-ready.in-view { transform:none; filter:none; }
.home-modern .hm-tile[data-delay="1"]{transition-delay:.08s} .home-modern .hm-tile[data-delay="2"]{transition-delay:.16s}
.home-modern .hm-tile[data-delay="3"]{transition-delay:.06s} .home-modern .hm-tile[data-delay="4"]{transition-delay:.14s} .home-modern .hm-tile[data-delay="5"]{transition-delay:.22s}
.home-modern .hm-tile.motion-ready.in-view { transition-delay: 0s; }

/* Kept sections, restyled lightly */
.home-modern .checker-section { padding-top: 64px; }
.home-modern .v2-close { position:relative; margin: 40px auto 80px; padding: 72px 40px; border-radius: 28px; text-align:center; color:#fff; background: radial-gradient(600px 300px at 15% 0%, rgba(126,160,255,.35), transparent), radial-gradient(500px 280px at 90% 100%, rgba(186,41,64,.35), transparent), var(--navy); overflow:hidden; }
.home-modern .v2-close h2 { color:#fff; font-size: clamp(34px,4.4vw,56px); letter-spacing:-.05em; margin:0 0 26px; }

/* Responsive */
@media (max-width: 1080px) {
  .hm-hero-grid, .hm-showcase { grid-template-columns: minmax(0,1fr); }
  .hm-hero-visual { max-width: 680px; margin: 10px auto 30px; width: 100%; }
  .hm-float-flash { left: -12px; }
  .hm-bento { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hm-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .hm-hero { padding-top: 40px; }
  .hm-lead { font-size: 18px; }
  .hm-window { transform:none; }
  .hm-hero-visual:hover .hm-window { transform:none; }
  .hm-window-body { grid-template-columns: 1fr; min-height:0; }
  .hm-rail { display:none; }
  .hm-grid2 { grid-template-columns: minmax(0,1fr); }
  .hm-window .hm-trend-card { display:none; }
  .home-modern .hm-steps .hm-step-list li { padding: 0; }
  .hm-float-flash { position:relative; left:auto; bottom:auto; width:auto; margin: -22px 18px 0; }
  .hm-float-badge { right: 8px; top: 48px; padding:8px 12px; }
  .hm-marquee { margin-top: 48px; }
  .hm-bento, .hm-step-list, .hm-stats { grid-template-columns: minmax(0,1fr); }
  .hm-tile.wide, .hm-tile.full { grid-column: auto; flex-direction:column; align-items:stretch; }
  .hm-stats { padding-top: 48px; gap: 12px; }
  .hm-step-list:before { display:none; }
  .hm-features, .hm-steps { padding: 64px 0; }
  .hm-showcase { padding-top: 64px; gap: 28px; }
  .hm-trend-card.big .hm-trend { height: 170px; }
  .home-modern .v2-close { padding: 52px 22px; border-radius: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-modern *, .home-modern *:before, .home-modern *:after { animation: none !important; transition: none !important; }
  .home-modern [data-reveal].motion-ready { filter:none !important; transform:none !important; }
  .home-modern .hm-window { transform:none !important; }
  .home-modern .hm-line { stroke-dashoffset:0 !important; }
  .home-modern .hm-area, .home-modern .hm-dot, .home-modern .hm-check .icon { opacity:1 !important; transform:none !important; }
  .home-modern .hm-timeline:after { width:62% !important; }
  .home-modern .hm-step-list:before { transform:none !important; }
}

.hm-trend-card.in-window .hm-trend-figures strong { font-size:13px; white-space:nowrap; }
.hm-trend-card.in-window .hm-trend-figures { flex-wrap:wrap; }
.hm-trend-card.in-window .hm-tag { display:none; }
.hm-steps .hm-step-list.motion-ready { transform:none; }

/* WebKit-safe flip: crossfade at the midpoint instead of relying on backface-visibility. */
.hm-flash-face { transition: opacity 0s .4s; }
.hm-flash-back { opacity:0; }
.hm-flash:hover .hm-flash-back, .hm-flash.flipped .hm-flash-back, .hm-flash:focus-within .hm-flash-back { opacity:1; }
.hm-flash:hover .hm-flash-face:not(.hm-flash-back), .hm-flash.flipped .hm-flash-face:not(.hm-flash-back), .hm-flash:focus-within .hm-flash-face:not(.hm-flash-back) { opacity:0; }
.home-modern .hm-marquee { border-left:0; border-right:0; box-shadow:none; border-radius:0; }
.home-modern .hm-marquee:before, .home-modern .hm-marquee:after { display:none; }
@media (max-width: 760px) {
  .hm-float-badge { display:none; }
  .hm-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hm-stats div { padding:16px; }
  .hm-stats span { font-size:14px; }
}
@media (hover: none) { .hm-flash:hover .hm-flash-inner { transform:none; } .hm-flash.flipped .hm-flash-inner { transform: rotateY(180deg); }
  .hm-flash:hover .hm-flash-back { opacity:0; } .hm-flash:hover .hm-flash-face:not(.hm-flash-back) { opacity:1; }
  .hm-flash.flipped .hm-flash-back { opacity:1; } .hm-flash.flipped .hm-flash-face:not(.hm-flash-back) { opacity:0; } }
@media (max-width: 760px){ .hm-float-flash{ animation:none; } }
/* Polish pass */
.hm-window .hm-timeline li:not(.now) span { visibility:hidden; }
.hm-window .hm-timeline li.now span { white-space:nowrap; }
.hm-float-badge { top:-22px; right:-14px; }
.home-modern .visitor-scope.hm-marquee { border-radius:0; border-left:0; border-right:0; box-shadow:none; width:100%; max-width:none; margin-left:0; margin-right:0; padding:18px 0; background: rgba(255,255,255,.6); }

/* CharlesGPT R1: chart classification label */
.hm-trend-kind{margin:-4px 0 10px;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:#52617a}
.hm-tile-visual{display:contents}
