@charset "UTF-8";

/* Animated presentation is independent of account data and real network loading. */
.jiji-home .motion-launch {
  --launch-progress: 1;
  --launch-distance: 230px;
  position: absolute;
  right: 7%;
  bottom: 38px;
  width: 27%;
  max-width: 310px;
  padding: 12px 16px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgb(255 255 255 / 78%);
}
.jiji-home .motion-launch-label {
  display: flex;
  justify-content: space-between;
  padding-bottom: 18px;
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
}
.jiji-home .motion-launch-value { font-variant-numeric: tabular-nums; color: var(--accent); }
.jiji-home .motion-launch-track { position: relative; height: 5px; margin-top: 6px; border-radius: 5px; background: var(--line); }
.jiji-home .motion-launch-fill { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #6c9eff, var(--accent)); border-radius: inherit; transform: scaleX(var(--launch-progress)); transform-origin: left; }
.jiji-home .motion-launch-rider { display: block; position: absolute; top: -27px; left: 0; width: 40px; height: 43px; transform: translate3d(calc(var(--launch-progress) * var(--launch-distance)), 0, 0); }
.jiji-home:not([data-motion="on"]) .motion-launch-rider { left: auto; right: 0; transform: none; }
.jiji-home .motion-launch-rider img { display: block; width: 40px; height: 43px; object-fit: contain; transform-origin: center 85%; }
.jiji-home[data-motion="on"] .motion-launch[data-launch-state="charging"] .motion-launch-rider img { animation: jiji-chick-run 280ms ease-in-out infinite; }
.jiji-home[data-motion="on"] .motion-launch[data-launch-state="ready"] .motion-launch-rider img { animation: jiji-chick-celebrate 850ms cubic-bezier(.22, 1, .36, 1) 1; }
.jiji-home[data-theme="dark"] .motion-launch { background: rgb(28 32 30 / 85%); }

.jiji-home .motion-count-value { display: inline-block; font-variant-numeric: tabular-nums; }
.jiji-home .motion-count-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.jiji-home[data-motion="on"] [data-count-complete="true"] .motion-count-value { animation: jiji-number-lock 450ms ease-out 1; }

.jiji-home[data-motion="on"] .hero::before {
  content: ""; pointer-events: none; position: absolute; inset: 0 0 16% 48%; z-index: -2; opacity: .18;
  background-image: radial-gradient(circle, var(--accent) .8px, transparent 1px); background-size: 24px 24px;
  mask-image: radial-gradient(ellipse at 60% 42%, #000, transparent 70%);
}
.jiji-home[data-motion="on"] .hero::after {
  content: ""; pointer-events: none; position: absolute; top: 0; left: -200px; width: 200px; height: 2px; opacity: 0;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  animation: jiji-signal-travel 7s ease-in-out infinite; animation-play-state: paused;
}
.jiji-home[data-motion="on"] .hero-art.jiji-art-ready { animation: jiji-chick-float 3.8s ease-in-out infinite; animation-play-state: paused; transform-origin: 55% 80%; }
.jiji-home[data-motion-active="true"] .hero[data-motion-visible="true"]::after,
.jiji-home[data-motion-active="true"] .hero[data-motion-visible="true"] .hero-art.jiji-art-ready { animation-play-state: running; }

.jiji-home[data-motion="on"] .hero-buttons .primary { position: relative; overflow: hidden; }
.jiji-home[data-motion="on"] .hero-buttons .primary::after {
  content: ""; pointer-events: none; position: absolute; inset: 0; opacity: 0;
  background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / 35%) 50%, transparent 65%);
  animation: jiji-button-sheen 900ms ease 750ms 1;
}

/* A scan, converging columns, turning cards, and springing plans are distinct. */
.jiji-home .pelican-grid { position: relative; isolation: isolate; overflow: clip; }
.jiji-home[data-motion="on"] .pelican-grid.jiji-revealed::after {
  content: ""; pointer-events: none; position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(180deg, transparent 46%, rgb(72 133 238 / 13%) 49%, var(--accent) 50%, transparent 51%);
  animation: jiji-result-scan 1200ms cubic-bezier(.4, 0, .2, 1) 1; opacity: 0;
}
.jiji-home[data-motion="on"] .section-heading.jiji-revealed .eyebrow { display: flex; align-items: center; gap: 10px; }
.jiji-home[data-motion="on"] .section-heading.jiji-revealed .eyebrow::after {
  content: ""; width: 34px; height: 2px; background: var(--accent); opacity: .6; transform-origin: left; animation: jiji-line-in 700ms ease-out 1;
}
.jiji-home[data-motion="on"] .comparison-column.jiji-revealed .round-mark { animation: jiji-icon-turn 850ms cubic-bezier(.22, 1, .36, 1) 1; }
.jiji-home[data-motion="on"] .service.jiji-revealed .service-icon { animation: jiji-icon-boot 950ms ease 1; }
.jiji-home[data-motion="on"] .plan.featured.jiji-revealed { animation: jiji-vip-spotlight 1400ms ease-out 1; }
.jiji-home .closing { position: relative; isolation: isolate; overflow: clip; }
.jiji-home .closing-copy { max-width: 640px; }
.jiji-home .closing > .button { flex-shrink: 0; margin-right: 156px; }
.jiji-home .closing-mascot { display: block; width: 132px; right: max(32px, calc((100% - 1120px) / 2)); bottom: 0; }

@keyframes jiji-chick-run { 0%, 100% { transform: translateY(0) rotate(-7deg); } 50% { transform: translateY(-7px) rotate(7deg); } }
@keyframes jiji-chick-celebrate { 0% { transform: translateY(0) rotate(-6deg); } 35% { transform: translateY(-14px) rotate(9deg); } 65% { transform: translateY(-3px) rotate(-5deg); } 100% { transform: translateY(0) rotate(0); } }
@keyframes jiji-number-lock { 0% { transform: scale(1.1) translateY(-2px); } 100% { transform: scale(1) translateY(0); } }
@keyframes jiji-chick-float { 0%, 100% { transform: translateY(0) rotate(-.7deg); } 50% { transform: translateY(-12px) rotate(.9deg); } }
@keyframes jiji-signal-travel { 0%, 12% { transform: translateX(0); opacity: 0; } 22%, 67% { opacity: .5; } 78%, 100% { transform: translateX(calc(100vw + 200px)); opacity: 0; } }
@keyframes jiji-button-sheen { 0% { transform: translateX(-100%); opacity: 0; } 25%, 70% { opacity: .8; } 100% { transform: translateX(100%); opacity: 0; } }
@keyframes jiji-result-scan { 0% { transform: translateY(-100%); opacity: 0; } 20%, 70% { opacity: .65; } 100% { transform: translateY(100%); opacity: 0; } }
@keyframes jiji-line-in { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: .6; } }
@keyframes jiji-icon-turn { from { transform: rotate(-150deg) scale(.5); } to { transform: rotate(0) scale(1); } }
@keyframes jiji-icon-boot { 0% { transform: scale(.6) rotate(-12deg); } 60% { transform: scale(1.12) rotate(3deg); } 100% { transform: scale(1) rotate(0); } }
@keyframes jiji-vip-spotlight { 0% { box-shadow: 0 0 0 0 rgb(27 119 92 / 0%); } 45% { box-shadow: 0 0 0 5px rgb(27 119 92 / 12%), 0 14px 30px rgb(27 119 92 / 8%); } 100% { box-shadow: 0 0 0 0 rgb(27 119 92 / 0%); } }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .jiji-home[data-motion="on"] :is(.service,.plan,.pelican-card) { transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; }
  .jiji-home[data-motion="on"] :is(.service,.plan,.pelican-card):hover { transform: translateY(-5px); box-shadow: 0 10px 24px rgb(31 55 78 / 8%); border-color: var(--accent); }
  .jiji-home[data-motion="on"] .button > svg { transition: transform 180ms ease; }
  .jiji-home[data-motion="on"] .button:hover > svg { transform: translateX(3px); }
  .jiji-home[data-motion="on"] .hero-buttons .secondary:hover > svg { transform: translateY(3px); }
}
@media (max-width: 850px) {
  .jiji-home .motion-launch { position: relative; order: 3; right: auto; bottom: auto; width: 280px; max-width: 100%; margin: 8px auto 0; }
  .jiji-home .closing { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .jiji-home .closing-copy { max-width: none; grid-column: 1 / -1; }
  .jiji-home .closing > .button { margin: 0; justify-self: start; }
  .jiji-home .closing-mascot { position: absolute; width: 92px; right: 20px; bottom: 20px; }
}
@media (max-width: 600px) {
  .jiji-home .motion-launch { width: 100%; max-width: none; margin-top: 23px; padding: 12px 16px 15px; }
  .jiji-home[data-motion="on"] .hero::before { inset: 0 0 25% 20%; opacity: .1; }
  .jiji-home[data-motion="on"] .hero::after, .jiji-home[data-motion="on"] .hero-art.jiji-art-ready { animation: none; }
  .jiji-home .closing-mascot { width: 75px; right: 16px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .jiji-home[data-motion] *, .jiji-home[data-motion] *::before, .jiji-home[data-motion] *::after { animation: none !important; transition: none !important; }
  .jiji-home .hero::before, .jiji-home .hero::after, .jiji-home .hero-buttons .primary::after, .jiji-home .pelican-grid::after { display: none !important; }
  .jiji-home .hero-art, .jiji-home :is(.service,.plan,.pelican-card) { transform: none !important; }
}
