
:root{--bg:#070B14;--card:#0E1628;--card2:#131D35;--line:#1E2944;--ink:#F2F6FF;--soft:#9AA8C2;--blue:#6FA8FF;--vio:#9B7CFF;--coral:#FF8B7B;--teal:#5FC9B5;--r:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16.5px/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-weight:700;letter-spacing:-.025em;margin:0;line-height:1.1}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
section{padding:110px 0;position:relative}
.label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--blue);margin-bottom:18px}
.label::before{content:"";width:18px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--vio))}
h2{font-size:clamp(30px,4.2vw,52px)}
.lead{color:var(--soft);font-size:18px;max-width:62ch;margin:18px 0 0}
.head{margin-bottom:54px;max-width:760px}
.grad{background:linear-gradient(90deg,#7FB2FF,#B79CFF 55%,#FF8B7B);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;padding:14px 26px;border-radius:40px;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-family:inherit}
.btn-p{background:linear-gradient(135deg,#5B8CFF,#9B7CFF);color:#fff;box-shadow:0 0 34px -6px rgba(123,140,255,.6)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 0 44px -4px rgba(123,140,255,.8)}
.btn-g{border-color:#2A3860;color:var(--ink)}.btn-g:hover{background:var(--ink);color:var(--bg)}
.row{display:flex;gap:14px;flex-wrap:wrap}
header{position:sticky;top:0;z-index:60;background:rgba(7,11,20,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(30,41,68,.8)}
nav{display:flex;align-items:center;justify-content:space-between;height:88px;gap:20px}
.logo img{height:60px;width:auto}
.links{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500;color:var(--soft)}
.links a:hover{color:var(--ink)}
.dd{position:relative}.ddm{position:absolute;top:100%;left:50%;translate:-50% 0;padding-top:14px;display:none}
.ddm div{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:8px;min-width:250px;display:grid;box-shadow:0 30px 60px -20px #000}
.ddm a{padding:10px 14px;border-radius:12px}.ddm a:hover{background:var(--card2)}
.dd:hover .ddm,.dd:focus-within .ddm{display:block}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:12px;width:44px;height:44px;cursor:pointer;color:var(--ink);font-size:20px}
.hero{padding:70px 0 50px;overflow:hidden}
.hero::before{content:"";position:absolute;right:-10%;top:-20%;width:70%;height:100%;background:radial-gradient(circle at 60% 40%,rgba(91,140,255,.4),rgba(155,124,255,.18) 45%,transparent 70%);filter:blur(30px);z-index:-1}
.hg{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;background:var(--card);border:1px solid var(--line);padding:8px 14px;border-radius:40px;margin-bottom:26px}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(95,201,181,.2)}
.hero h1{font-size:clamp(42px,6.2vw,86px);line-height:1;font-weight:800}
.hero .lead{font-size:19px;margin:24px 0 32px}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.pills span{background:var(--card);border:1px solid var(--line);border-radius:40px;padding:9px 16px;font-size:14px;color:var(--soft)}
.stage{position:relative;height:580px}
#dna{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y;z-index:2;filter:drop-shadow(0 0 46px rgba(111,168,255,.5))}#dna:active{cursor:grabbing}
.badge{position:absolute;z-index:3;background:var(--card);border:1px solid var(--line);border-radius:40px;padding:10px 16px;font-size:13px;font-weight:600;animation:fl 6s ease-in-out infinite;pointer-events:none}
.b1{left:0;top:18%}.b2{right:0;bottom:16%;animation-delay:-3s}
@keyframes fl{50%{translate:0 -12px}}
.hint{position:absolute;left:50%;bottom:0;translate:-50% 0;z-index:3;font-size:13px;color:var(--soft);white-space:nowrap;pointer-events:none}
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--card);padding:20px 0}
.track{display:flex;gap:46px;width:max-content;animation:mq 45s linear infinite;font:700 22px 'Plus Jakarta Sans',sans-serif}
.track span::after{content:"✦";margin-left:46px;color:var(--coral)}
@keyframes mq{to{transform:translateX(-50%)}}
.ab{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start}
.ab p{color:var(--soft);font-size:17px;margin:0 0 18px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.stat small{display:block;color:var(--coral);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.stat strong{font:700 19px/1.3 'Plus Jakarta Sans',sans-serif}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;transition:border-color .3s,transform .3s}
.card:hover{border-color:#34477a;transform:translateY(-4px)}
.card .n{font:700 13px Inter;color:var(--blue);margin-bottom:22px;display:block}
.card h3{font-size:20px;margin-bottom:10px}.card p{color:var(--soft);margin:0;font-size:15px}
.pg{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.pc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 20px;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s,border-color .35s}
.pc:hover{transform:translateY(-6px);border-color:#34477a;box-shadow:0 30px 60px -25px rgba(91,140,255,.45)}
.tile{aspect-ratio:1/1;border-radius:16px;position:relative;overflow:hidden;margin-bottom:16px;background:linear-gradient(140deg,hsl(var(--h) 65% 26%),hsl(calc(var(--h) + 45) 55% 14%))}
.tile::after{content:"";position:absolute;left:50%;top:50%;width:40%;aspect-ratio:3/4;translate:-50% -50%;rotate:-8deg;border-radius:14px;background:linear-gradient(155deg,rgba(255,255,255,.9),rgba(255,255,255,.55));box-shadow:0 18px 40px -10px rgba(0,0,0,.6);transition:rotate .5s,scale .5s}
.pc:hover .tile::after{rotate:5deg;scale:1.08}
.pc h3{font-size:17px;padding:0 6px}.pc p{color:var(--soft);font-size:14px;margin:8px 0 14px;padding:0 6px}
.pc .go{margin-top:auto;padding:0 6px;font-size:14px;font-weight:600;color:var(--blue)}
.acc{border-top:1px solid var(--line)}
.ai{border-bottom:1px solid var(--line)}
.ai button{width:100%;display:flex;align-items:center;gap:16px;background:none;border:0;color:var(--ink);text-align:left;cursor:pointer;padding:24px 4px;font:600 19px 'Plus Jakarta Sans',sans-serif}
.ai .tag{font:600 11px Inter;letter-spacing:.06em;text-transform:uppercase;color:var(--coral);border:1px solid #3a2a33;padding:4px 10px;border-radius:30px;min-width:92px;text-align:center}
.ai .pl{margin-left:auto;font-size:22px;color:var(--soft);transition:rotate .3s}
.ai.open .pl{rotate:45deg}
.ap{max-height:0;overflow:hidden;transition:max-height .35s}
.ai.open .ap{max-height:300px}
.ap p{margin:0;padding:0 4px 26px 124px;color:var(--soft);max-width:80ch}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.step::before{counter-increment:s;content:"0" counter(s);display:block;font:800 30px 'Plus Jakarta Sans';margin-bottom:18px;background:linear-gradient(90deg,var(--blue),var(--vio));-webkit-background-clip:text;background-clip:text;color:transparent}
.step h3{font-size:17px;margin-bottom:8px}.step p{color:var(--soft);font-size:14.5px;margin:0}
.qbox{background:linear-gradient(135deg,#0F1A36,#161334);border:1px solid var(--line);border-radius:28px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span,.chips a{border:1px solid var(--line);background:var(--card);border-radius:40px;padding:10px 16px;font-size:14px}
.chips a:hover{border-color:var(--blue)}
.mapb{margin-top:44px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;overflow:hidden}
.mapb img{width:100%;filter:invert(.92) hue-rotate(180deg) brightness(.95)}
.mapb figcaption{text-align:center;color:var(--soft);font-size:13px;margin-top:12px}
.pstats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px}
.ct{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}
.ci div{border-top:1px solid var(--line);padding:18px 0}
.ci small{display:block;color:var(--coral);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
form{display:grid;gap:14px}.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-size:12px;font-weight:600;color:var(--soft);margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 15px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
textarea{min-height:110px;resize:vertical}.note{color:var(--soft);font-size:13px;margin:0}
footer{border-top:1px solid var(--line);padding:56px 0 40px;color:var(--soft);font-size:14px}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.fg a{display:block;margin-bottom:8px}.fg a:hover{color:var(--ink)}
.fb{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px}
.sticky{position:fixed;right:22px;bottom:22px;z-index:70}
.modal{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.mc{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:34px;width:100%;max-width:500px;max-height:92vh;overflow:auto;position:relative}
.mc h3{font-size:24px;margin-bottom:6px}.x{position:absolute;right:18px;top:16px;background:none;border:0;color:var(--soft);font-size:22px;cursor:pointer}
.ph{padding:60px 0 40px}.phg{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.ph h1{font-size:clamp(38px,5vw,64px)}.crumb{font-size:13px;color:var(--soft);margin-bottom:20px;display:block}.crumb a:hover{color:var(--ink)}
.bigtile{aspect-ratio:5/4;border-radius:28px}.bigtile::after{width:34%}
.spec{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.spec td{padding:18px 22px;border-bottom:1px solid var(--line);vertical-align:top}.spec tr:last-child td{border:0}
.spec td:first-child{color:var(--soft);font-size:14px;width:34%}
section.tight{padding:80px 0}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.js .rv.in{opacity:1;transform:none}
@media(max-width:1100px){.pg{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(3,1fr)}.pstats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:960px){
.menu{display:block}.links,.nav-cta{display:none}
header.open .links{display:flex;position:absolute;top:88px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 28px 24px;max-height:calc(100vh - 88px);overflow:auto}
header.open .links>a,header.open .dd>a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;display:block}
.ddm{position:static;translate:none;padding:0;display:block}.ddm div{background:none;border:0;box-shadow:none;padding:4px 0 8px 12px;min-width:0}
.hg,.ab,.ct,.qbox,.phg{grid-template-columns:1fr}.stage{height:420px}.qbox{padding:34px}
.grid3{grid-template-columns:1fr 1fr}.fg{grid-template-columns:1fr 1fr}section{padding:76px 0}
.ap p{padding-left:4px}}
@media(max-width:600px){
.wrap{padding:0 20px}nav{height:74px}.logo img{height:46px}header.open .links{top:74px}
.pg,.grid3,.stats,.fr,.steps,.fg{grid-template-columns:1fr}.pg{grid-template-columns:1fr 1fr;gap:12px}.pstats{grid-template-columns:1fr 1fr}
.pc p{display:none}.stage{height:360px}.b1{top:4%}.b2{bottom:10%}
.ai button{flex-wrap:wrap;font-size:17px;gap:8px}.ai .tag{min-width:0}
.sticky{right:14px;bottom:14px;padding:12px 20px;font-size:14px}.qbox{padding:26px}.mc{padding:26px}.track{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.tile.has-img::after{display:none}.tile img{position:absolute;inset:4%;width:92%;height:92%;object-fit:contain;transition:transform .5s}.pc:hover .tile img{transform:scale(1.05) rotate(-1deg)}

.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gal.g3{grid-template-columns:repeat(3,1fr)}
.gal figure{margin:0;position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.gal figure.wide{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;font-size:14px;font-weight:600;background:linear-gradient(transparent,rgba(7,11,20,.85))}
.gal figure.empty{border:1.5px dashed #34477a;display:flex;align-items:center;justify-content:center;text-align:center}
.gal figure.empty img{display:none}.gal figure.empty::before{content:"Add photo: " attr(data-file);color:var(--soft);font-size:13px;padding:0 14px}
.ig{display:flex;align-items:center;gap:18px;margin-top:22px;padding:22px 26px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(120deg,rgba(225,48,108,.18),rgba(131,58,180,.16),rgba(253,140,60,.12));transition:border-color .3s}
.ig:hover{border-color:#8a4a8a}.igi{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:linear-gradient(45deg,#FD8C3C,#E1306C,#833AB4);flex-shrink:0}
.ig strong{display:block;font-family:'Plus Jakarta Sans';font-size:17px}.ig small{color:var(--soft);font-size:14px}.ig .go{margin-left:auto;font-weight:600;color:var(--blue);font-size:14px}
@media(max-width:960px){.gal{grid-template-columns:1fr 1fr}.gal.g3{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:600px){.gal,.gal.g3{grid-template-columns:1fr 1fr}.gal figure.wide{grid-row:auto}.ig{flex-wrap:wrap}.ig .go{margin-left:0}}
.gal figure.sq{aspect-ratio:1/1;background:#fff}

.case{display:grid;grid-template-columns:1fr 1fr;gap:56px;background:linear-gradient(135deg,#0F1A36,#1A1430);border:1px solid var(--line);border-radius:28px;padding:56px}
.cstats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
.cstats div{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:18px}
.cstats strong{display:block;font:800 28px 'Plus Jakarta Sans';background:linear-gradient(90deg,#7FB2FF,#B79CFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.cstats span{color:var(--soft);font-size:13px}
.tl{list-style:none;margin:0;padding:0;counter-reset:t;position:relative}
.tl::before{content:"";position:absolute;left:17px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--blue),var(--vio),var(--coral))}
.tl li{position:relative;padding:0 0 26px 56px;counter-increment:t}.tl li:last-child{padding-bottom:0}
.tl li::before{content:counter(t);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--blue);font:700 14px Inter}
.tl b{display:block;font:700 17px 'Plus Jakarta Sans';margin:6px 0 4px}.tl span{color:var(--soft);font-size:15px}
@media(max-width:960px){.case{grid-template-columns:1fr;padding:34px;gap:36px}}
@media(max-width:600px){.case{padding:24px}.cstats{grid-template-columns:1fr 1fr 1fr;gap:8px}.cstats div{padding:12px}.cstats strong{font-size:22px}}

.xh{display:flex;align-items:baseline;justify-content:space-between;margin:64px 0 18px}.xh h3{font-size:22px}.xs{display:none;color:var(--soft);font-size:13px}
.xr{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.xc{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:10px 16px 10px 10px;transition:border-color .3s,transform .3s}
.xc:hover{border-color:#34477a;transform:translateY(-3px)}
.xt{width:64px;height:64px;flex-shrink:0;border-radius:12px;position:relative;overflow:hidden;background:linear-gradient(140deg,hsl(var(--h) 65% 26%),hsl(calc(var(--h) + 45) 55% 14%))}
.xt img{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain}
.xn{font:600 15px/1.3 'Plus Jakarta Sans',sans-serif}.xa{margin-left:auto;color:var(--blue);font-weight:600;transition:translate .3s}.xc:hover .xa{translate:4px 0}
@media(max-width:960px){.xr{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.xs{display:block}.xr{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 10px;scrollbar-width:none}.xr::-webkit-scrollbar{display:none}
.xc{flex:0 0 150px;flex-direction:column;align-items:flex-start;gap:10px;padding:10px 10px 14px;scroll-snap-align:start}.xt{width:100%;height:auto;aspect-ratio:1/1}.xa{display:none}.xn{font-size:14px;padding:0 4px}}

/* uniform alignment: heroes left, every section header centred, body copy left inside cards */
.head{margin:0 auto 54px;max-width:780px;text-align:center}.head .lead{margin:18px auto 0}
.lead,.ab p{font-size:17.5px}
.ab{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.ct{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}.ci div:first-child{border-top:0;padding-top:0}
.qbox{grid-template-columns:1fr;text-align:center;gap:30px}.qbox .lead{margin-inline:auto}.qbox .chips{justify-content:center}
.case{grid-template-columns:1fr;gap:44px}.case-l{text-align:center;max-width:780px;margin:0 auto}.case-l .lead{margin-inline:auto}.cstats{max-width:640px;margin-inline:auto}
.tl{max-width:680px;margin:0 auto;width:100%}
.subh{font-size:19px;text-align:center;margin:0 0 16px}.chips.c,.center{justify-content:center;text-align:center}
.xh{flex-direction:column;align-items:center;gap:6px;text-align:center}
.step p{font-size:15px}
@media(max-width:960px){.ab,.ct{grid-template-columns:1fr;gap:32px}}
/* accordion: pill on its own line, sentence below */
.ai button{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:10px;column-gap:16px;align-items:center}
.ai .tag{grid-column:1;grid-row:1;justify-self:start;min-width:0}
.ai button>span:nth-child(2){grid-column:1;grid-row:2;line-height:1.3}
.ai .pl{grid-column:2;grid-row:1/3;margin-left:0}
.ap p{padding-left:4px}

/* case study collapsible */
.case-btn{margin-top:30px}
.case-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
.case-more>.tl{overflow:hidden;min-height:0}
.case.open .case-more{grid-template-rows:1fr}
.case:not(.open){gap:0}
/* smaller sheet on mobile */
@media(max-width:960px){.stage{height:340px}}
@media(max-width:600px){.stage{height:270px;margin-top:6px}.b1{top:2%;font-size:12px;padding:8px 13px}.b2{bottom:12%;font-size:12px;padding:8px 13px}.hint{font-size:12px}}
.case-btn{justify-self:center;margin-top:30px}.case.open .case-btn{margin-bottom:0}

/* icon tiles */
.tile.ic,.xt.ic{display:grid;place-items:center}
.tile.ic::after{display:none}
.tile.ic::before,.xt.ic::before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(156,195,255,.22),transparent 68%)}
.tile.ic svg{position:relative;width:46%;height:46%;filter:drop-shadow(0 0 14px rgba(156,195,255,.35));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pc:hover .tile.ic svg{transform:scale(1.1) rotate(-4deg)}
.xt.ic svg{position:relative;width:58%;height:58%}
/* case study: animated timeline (horizontal on desktop, vertical on mobile) */
.tl::before{transition:transform 1.3s cubic-bezier(.2,.7,.2,1) .15s}
.tl li::before{transform:scale(0);transition:transform .45s cubic-bezier(.3,1.6,.5,1),background .3s,box-shadow .3s}
.tl li b,.tl li span{opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s}
.case.open .tl li::before{transform:scale(1)}
.case.open .tl li b,.case.open .tl li span{opacity:1;transform:none}
.tl li:nth-child(1)::before,.tl li:nth-child(1) b,.tl li:nth-child(1) span{transition-delay:.25s}
.tl li:nth-child(2)::before,.tl li:nth-child(2) b,.tl li:nth-child(2) span{transition-delay:.5s}
.tl li:nth-child(3)::before,.tl li:nth-child(3) b,.tl li:nth-child(3) span{transition-delay:.75s}
.tl li:nth-child(4)::before,.tl li:nth-child(4) b,.tl li:nth-child(4) span{transition-delay:1s}
.tl li:nth-child(5)::before,.tl li:nth-child(5) b,.tl li:nth-child(5) span{transition-delay:1.25s}
.tl li:last-child::before{background:var(--coral);border-color:var(--coral);color:#1a0d0a;box-shadow:0 0 0 6px rgba(255,139,123,.18),0 0 24px rgba(255,139,123,.6)}
.tl li:last-child b{color:var(--coral)}
.tl li:last-child b::after{content:"Today";margin-left:8px;font:600 10px Inter;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,139,123,.5);padding:2px 8px;border-radius:20px;vertical-align:middle}
@media(min-width:961px){
.tl{max-width:none;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding-top:4px}
.tl::before{top:22px;bottom:auto;left:10%;right:10%;width:auto;height:2px;background:linear-gradient(90deg,var(--blue),var(--vio),var(--coral));transform:scaleX(0);transform-origin:left}
.case.open .tl::before{transform:scaleX(1)}
.tl li{padding:64px 6px 0;text-align:center}
.tl li::before{left:50%;top:4px;margin-left:-18px}
.tl li b{margin-top:0}.tl li span{font-size:14.5px;display:block}
.tl li:last-child b::after{display:block;width:max-content;margin:8px auto 0}}
@media(max-width:960px){
.tl::before{transform:scaleY(0);transform-origin:top}
.case.open .tl::before{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.tl::before{transform:none!important}.tl li::before{transform:none!important}.tl li b,.tl li span{opacity:1!important;transform:none!important}}
