/* 15 Seconds journey page */
.jy{background:#111;color:#eee}
.jy-hero{position:relative;overflow:hidden;padding:72px 0 28px;isolation:isolate}
.jy-glow{position:absolute;right:-20vmax;top:-30vmax;width:70vmax;height:70vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(226,27,35,.32),rgba(226,27,35,0));z-index:-1;animation:jyg 10s ease-in-out infinite alternate}
@keyframes jyg{to{transform:translate(-14%,12%) scale(1.08)}}
.jy-hero .eyebrow{color:#ff5a60}
.jy-hero h1{font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(40px,7.4vw,92px);line-height:.95;margin:0 0 14px;color:#fff;letter-spacing:.005em}
.jy-hero h1 em{font-style:normal;color:var(--red);display:block}
.jy-lede{font-size:clamp(17px,2vw,21px);color:#cfcfcf;max-width:640px;margin:0}
.jy-map{padding:18px 0 64px}
.jy-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 10px;margin:0 -2px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.jy-tabs::-webkit-scrollbar{display:none}
.jy-tab{flex:0 0 auto;scroll-snap-align:start;font:700 14px var(--body);letter-spacing:.02em;color:#ddd;background:#1c1c1c;border:1.5px solid #333;border-radius:999px;padding:10px 16px;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .15s}
.jy-tab:hover{border-color:#666;color:#fff}
.jy-tab[aria-selected=true]{background:var(--red);border-color:var(--red);color:#fff}
.jy-tab:focus-visible,.jy-card:focus-visible,.jy-playbtn:focus-visible,.jy-panel button:focus-visible,.jy-panel a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.jy-bar{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;margin:10px 0 26px}
.jy-desc{margin:0;max-width:640px;color:#cfcfcf;font-size:16px;min-height:3em}
.jy-play{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.jy-playbtn{min-width:190px}
.jy-playbtn .ico{font-size:12px}
.jy-now{margin:0;font-size:14px;color:#aaa;min-width:12ch}
.jy-now b{color:#fff}
.jy-flow{position:relative}
.jy-lines{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0}
.jy-base{fill:none;stroke:#2c2c2c;stroke-width:3}
.jy-dash{fill:none;stroke:#E21B23;stroke-opacity:.55;stroke-width:2;stroke-dasharray:3 9;stroke-linecap:round;animation:jyd 1.2s linear infinite}
.jy-dash.soon{stroke:#777}
@keyframes jyd{to{stroke-dashoffset:-12}}
.jy-lit{fill:none;stroke:#E21B23;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(226,27,35,.8))}
.jy-pulse{fill:#fff;filter:drop-shadow(0 0 6px #E21B23)}
.jy-halo{fill:rgba(226,27,35,.35);animation:jyh 1.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes jyh{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.jy-nodes{list-style:none;margin:0;padding:0;display:grid;gap:56px 44px;position:relative;z-index:1}
.jy-node{opacity:0;transform:translateY(24px) scale(.97);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 70ms)}
.jy-node.in{opacity:1;transform:none}
.jy-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center;width:100%;height:100%;text-align:left;background:#1a1a1a;color:#eee;border:1.5px solid #2e2e2e;border-radius:18px;padding:18px 16px 16px;cursor:pointer;font:inherit;transition:border-color .25s,transform .25s,box-shadow .25s,background .25s}
.jy-card:hover{border-color:#E21B23;transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(226,27,35,.9)}
.jy-num{position:absolute;top:-15px;left:16px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#111;border:2px solid #E21B23;color:#fff;font:400 15px var(--disp);transition:background .3s,transform .3s}
.jy-node.lit .jy-num{background:#E21B23}
.jy-node.here .jy-card{border-color:#E21B23;background:#221213;box-shadow:0 0 0 4px rgba(226,27,35,.25),0 20px 40px -20px rgba(226,27,35,.9);transform:translateY(-4px) scale(1.02)}
.jy-node.here .jy-num{transform:scale(1.2)}
.jy-node.sel .jy-card{border-color:#fff}
.jy-th{grid-row:span 1;width:64px;height:64px;border-radius:12px;display:grid;place-items:center;overflow:hidden;background:#fff;flex:0 0 auto}
.jy-th img{width:100%;height:100%;object-fit:contain}
.jy-th.cv{width:52px;height:78px;border-radius:4px;background:#222;box-shadow:0 8px 16px -8px #000}
.jy-th.cv img{object-fit:cover}
.jy-th.rd{border-radius:50%;background:transparent}
.jy-th.tl{background:#E21B23;color:#fff}
.jy-th.tl b{font:400 24px var(--disp)}
.jy-th.tl svg{width:60%;height:60%;fill:#fff}
.jy-th.bw img{filter:grayscale(1)}
.jy-node.soon .jy-th.tl{background:#444}
.jy-node.soon .jy-card{border-style:dashed;background:#161616;color:#bbb}
.jy-node.soon .jy-num{border-color:#777}
.jy-tx{display:grid;gap:3px;min-width:0}
.jy-kind{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ff6a70}
.jy-kind i{font-style:normal;color:#aaa;letter-spacing:.06em}
.jy-node.soon .jy-kind{color:#aaa}
.jy-nm{font:400 20px/1.1 var(--disp);text-transform:uppercase;color:#fff;letter-spacing:.01em}
.jy-node.soon .jy-nm{color:#ccc}
.jy-tg{font-size:14px;color:#b9b9b9;line-height:1.35}
.jy-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:34px 0 0;font-size:13px;color:#999}
.jy-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;vertical-align:-1px}
.lg-live{background:#E21B23}
.lg-soon{border:2px dashed #888}
/* phones: a vertical timeline */
.jy-flow[data-cols="1"] .jy-nodes{gap:22px}
.jy-flow[data-cols="1"] .jy-card{padding:16px 14px 16px 54px;border-radius:16px}
.jy-flow[data-cols="1"] .jy-num{top:50%;left:10px;margin-top:-15px}
.jy-flow[data-cols="1"] .jy-th{width:52px;height:52px}
.jy-flow[data-cols="1"] .jy-th.cv{width:42px;height:63px}
/* guide CTA */
.jy-guide{padding:0 0 80px}
.jy-guide-in{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:#fff;color:#111;border-radius:24px;padding:26px 28px}
.jy-guide-in h2{font:400 clamp(28px,4vw,40px)/1 var(--disp);text-transform:uppercase;margin:0 0 6px}
.jy-guide-in p{margin:0}
.jy-guide-in .eyebrow{margin-bottom:6px}
/* detail panel */
.jy-scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2147483100;opacity:0;transition:opacity .3s}
.jy-scrim.on{opacity:1}
.jy-panel{position:fixed;z-index:2147483200;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;color:#111;padding:28px 26px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;transform:translateX(104%);transition:transform .38s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 60px -30px rgba(0,0,0,.6);outline:none}
.jy-panel.on{transform:none}
.jy-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:#f1f1f1;font-size:26px;line-height:1;cursor:pointer;color:#111}
.jy-close:hover{background:#E21B23;color:#fff}
.jy-ph{display:flex;gap:16px;align-items:center;margin:4px 40px 18px 0}
.jy-ph .jy-th{width:76px;height:76px}
.jy-ph .jy-th.cv{width:66px;height:99px}
.jy-ph .jy-th.rd{background:transparent}
.jy-pstep{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#E21B23}
.jy-ph h3{font:400 28px/1.02 var(--disp);text-transform:uppercase;margin:0}
.jy-pkind{margin:4px 0 0;font-size:13px;color:#666;font-weight:600}
.jy-pnote{background:#fff3f3;border-left:4px solid #E21B23;padding:10px 12px;margin:0 0 14px;font-weight:600;border-radius:0 8px 8px 0}
.jy-dl{margin:0;display:grid;gap:14px}
.jy-dl dt{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#888;margin-bottom:3px}
.jy-dl dd{margin:0;font-size:16px;line-height:1.5}
.jy-psoon{margin:16px 0 0;font-size:14px;color:#444;background:#f2f2f2;border-radius:10px;padding:10px 12px}
.jy-psoon span{display:inline-block;background:#111;color:#fff;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:3px 7px;border-radius:4px;margin-right:8px}
.jy-pact{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:22px 0 8px}
.jy-host{font-size:13px;color:#666;word-break:break-all}
.jy-soonbig{display:inline-block;border:2px dashed #888;color:#555;border-radius:999px;padding:10px 18px;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.08em}
.jy-extra{display:inline-block;margin-top:6px;color:#E21B23;font-weight:700;text-decoration:none}
.jy-extra:hover{text-decoration:underline}
.jy-pnav{display:flex;justify-content:space-between;gap:10px;margin-top:26px;padding-top:16px;border-top:1px solid #eee}
.jy-pnav button{border:0;background:none;font:700 14px var(--body);color:#111;cursor:pointer;padding:8px 0;text-align:left}
.jy-pnav button:last-child{text-align:right}
.jy-pnav button:hover{color:#E21B23}
.jy-end{font-weight:700;font-size:14px;color:#E21B23}
body.jy-locked{overflow:hidden}
@media (max-width:700px){
 .jy-panel{top:auto;left:0;width:100%;max-height:86vh;border-radius:22px 22px 0 0;transform:translateY(104%);padding-top:30px}
 .jy-panel::before{content:"";position:absolute;top:10px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:3px;background:#ddd}
 .jy-guide-in{grid-template-columns:1fr;text-align:left;padding:22px}
 .jy-guide-in img{width:64px;height:64px}
 .jy-hero{padding-top:52px}
}
@media (prefers-reduced-motion:reduce){
 .jy-glow,.jy-dash,.jy-halo{animation:none}
 .jy-node{opacity:1;transform:none;transition:none}
 .jy-panel,.jy-scrim,.jy-card{transition:none}
}
.jy-lines{z-index:2}
.jy-base{stroke:#3a3a3a;stroke-width:4;stroke-linecap:round}
.jy-dash{stroke-opacity:1;stroke-width:2.5;stroke-dasharray:4 8}
.jy-nodes{gap:64px 56px}
.jy-flow[data-cols="1"] .jy-nodes{gap:30px}
.lg-soon{border:0;background:#777}
