/* Scoped mobile presentation only; the approved desktop scene is unchanged. */
.vim-mobile{display:none}
@media(max-width:767px){
  .vision-index{height:auto;min-height:0;max-height:none;margin:28px 0 24px;padding:18px 12px 18px;background:radial-gradient(ellipse at 80% 29%,#f0e9fa 0,transparent 48%),linear-gradient(140deg,#fff 20%,#faf8fe 68%,#fff);border-radius:24px;scroll-margin-top:12px;overflow-anchor:none}
  .vision-index>.vi-header,.vision-index>.vi-body,.vision-index>.vi-grid-lines,.vision-index>.vi-sr-only{display:none}
  .vim-mobile{--vim-accent:var(--vi-accent);display:block;position:relative;isolation:isolate;min-width:0}
  .vim-header{position:relative;z-index:2;padding:0 10px}
  .vim-header h2{margin:0;font-size:clamp(27px,7.7vw,48px);font-weight:500;line-height:1.07;letter-spacing:-1.3px}
  .vim-header h2>span{color:color-mix(in srgb,var(--vim-accent) 65%,white)}
  .vim-introduction{margin:12px 0 0;font-size:clamp(13px,3.55vw,19px);line-height:1.48;font-weight:400;color:color-mix(in srgb,var(--purple) 72%,white);max-width:32em}
  .vim-scene{position:relative;width:100%;max-width:470px;aspect-ratio:1.17;margin:-12px auto -2px;isolation:isolate;pointer-events:none}
  .vim-halo{position:absolute;inset:6% 2% -3%;border-radius:50%;background:linear-gradient(132deg,#f5f3fc 5%,#e3d6f7 42%,#faf8fe 78%);transform:rotate(-23deg)}
  .vim-ribbon{position:absolute;inset:25% 4% 3% 51%;border-radius:45% 55% 50% 20%;background:linear-gradient(145deg,#eee4fc 10%,color-mix(in srgb,var(--vim-accent) 70%,white) 64%,#e7d5f4 90%);transform:rotate(-11deg)}
  .vim-ribbon:after{content:"";position:absolute;inset:20% -1% 7% 6%;border-radius:50%;background:linear-gradient(138deg,#eee5fa 8%,transparent 80%);transform:rotate(-14deg)}
  .vim-orbit{position:absolute;inset:7% -3% -4%;border:1px solid color-mix(in srgb,var(--vim-accent) 22%,transparent);border-radius:50%;animation:vim-orbit-turn 60s linear infinite;animation-play-state:paused}
  .vim-orbit i{position:absolute;left:82%;top:11%;width:8px;height:8px;border-radius:50%;background:var(--vim-accent);box-shadow:0 0 0 2px #fff9}
  .vim-orbit i:nth-child(2){left:3%;top:33%;width:10px;height:10px;background:#c7bfdc}
  .vim-orbit i:nth-child(3){left:13%;top:86%;width:7px;height:7px;background:#b9aacd}
  .vim-mobile[data-visible=true] .vim-orbit{animation-play-state:running}
  .vim-photo-window{position:absolute;inset:10% 11% -1%;border-radius:50%;overflow:hidden;background:var(--purple-soft);isolation:isolate}
  .vim-photo-window:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff50;pointer-events:none}
  .vim-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;visibility:hidden;transition:opacity .42s var(--vi-ease),visibility 0s linear .42s}
  .vim-photo.is-active{opacity:1;visibility:visible;transition-delay:0s}
  .vim-list{position:relative;z-index:2;display:grid;gap:8px}
  .vim-item{min-width:0;border:1px solid color-mix(in srgb,var(--purple) 10%,white);border-radius:16px;background:rgb(255 255 255 / 79%);transition:border-color .3s,background .3s;overflow:hidden;overflow-anchor:none}
  .vim-item[data-mobile-open=true]{border-color:color-mix(in srgb,var(--vim-accent) 38%,white);background:linear-gradient(120deg,#faf7ff,#ffffffed 70%,#f9f6fe)}
  .vim-item-heading{margin:0;font-size:inherit;font-weight:500}
  .vim-toggle{display:grid;grid-template-columns:32px minmax(0,1fr) 44px;gap:10px;align-items:center;min-height:60px;width:100%;padding:8px 10px 8px 12px;text-align:left;border:0;background:transparent;line-height:1.22;color:var(--purple)}
  .vim-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f7f3fb;font-size:12px;font-weight:400;transition:background .3s,color .3s}
  .vim-name{font-size:clamp(15px,4.1vw,21px);letter-spacing:-.45px;overflow-wrap:break-word;transition:color .25s}
  .vim-toggle-circle{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f7f3fb;transition:background .3s,color .3s;justify-self:end}
  .vim-toggle-circle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;transition:transform .35s var(--vi-ease)}
  .vim-item[data-mobile-open=true] .vim-name{color:var(--vim-accent)}
  .vim-item[data-mobile-open=true] .vim-number{background:color-mix(in srgb,var(--vim-accent) 11%,white);color:var(--vim-accent);font-weight:600}
  .vim-item[data-mobile-open=true] .vim-toggle-circle{background:var(--vim-accent);color:#fff}
  .vim-item[data-mobile-open=true] .vim-toggle-circle svg{transform:rotate(180deg)}
  .vim-disclosure{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .36s var(--vi-ease),visibility 0s linear .36s}
  .vim-item[data-mobile-open=true] .vim-disclosure{grid-template-rows:1fr;visibility:visible;transition-delay:0s}
  .vim-disclosure-clip{overflow:hidden;min-height:0}
  .vim-content{padding:9px 17px 17px;opacity:0;transform:translateY(-5px);transition:opacity .23s ease,transform .3s var(--vi-ease)}
  .vim-item[data-mobile-open=true] .vim-content{opacity:1;transform:none;transition-delay:.08s}
  .vim-description{margin:0 0 13px;font-size:14px;line-height:1.5;font-weight:400;color:color-mix(in srgb,var(--purple) 74%,white)}
  .vim-links{list-style:none;margin:0;padding:0;border-top:1px solid color-mix(in srgb,var(--purple) 9%,white)}
  .vim-links li{border-bottom:1px solid color-mix(in srgb,var(--purple) 9%,white)}
  .vim-links a{display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:47px;padding:11px 0;font-size:13px;line-height:1.4;color:var(--purple);overflow-wrap:break-word;transition:color .2s}
  .vim-link-start svg,.vim-link-end svg{display:block;width:18px;height:18px;stroke:var(--vim-accent);stroke-width:1.5}
  .vim-link-start svg{transform:rotate(-45deg)}
  .vim-link-end svg{transform:rotate(-90deg);width:16px;height:16px}
  .vim-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;min-height:52px;padding:5px 5px 5px 20px;border-radius:40px;background:var(--purple);color:white;font-size:14px;line-height:1.25;box-shadow:0 5px 16px #39144e1a;transition:background .2s}
  .vim-cta-circle{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:#fff;color:var(--purple)}
  .vim-cta-circle svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.5}
  .vision-index .vim-toggle:focus-visible{outline:0;border-radius:0}
  .vim-toggle:focus-visible .vim-name{text-decoration:underline;text-underline-offset:4px}
  .vision-index .vim-links a:focus-visible,.vision-index .vim-cta:focus-visible{outline:2px solid var(--vim-accent);outline-offset:-2px;border-radius:5px}
  .vim-cta:active{background:#55296c}.vim-links a:active{color:var(--vim-accent)}
  @keyframes vim-orbit-turn{from{transform:rotate(-15deg)}to{transform:rotate(345deg)}}
}
@media(max-width:359px){.vision-index{padding-inline:8px}.vim-header{padding-inline:5px}.vim-toggle{gap:7px;padding-inline:9px;grid-template-columns:30px minmax(0,1fr) 44px}.vim-content{padding-inline:13px}.vim-name{letter-spacing:-.55px}.vim-cta{font-size:12px;padding-left:15px}}
@media(prefers-reduced-motion:reduce){.vim-mobile *,.vim-mobile *:before,.vim-mobile *:after{animation:none!important;transition:none!important}.vim-content{transform:none}}
