.uc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.uc-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line2);border-radius:22px;background:#fff;padding:22px 24px 24px;text-decoration:none;box-shadow:0 10px 36px rgba(25,76,144,.06);transition:transform .25s,box-shadow .25s,border-color .25s;min-width:0}
.uc-card:hover{transform:translateY(-4px);border-color:#b9d0f5;box-shadow:0 22px 60px rgba(36,103,232,.16)}
.uc-card h3{font-size:24px;font-weight:400;letter-spacing:-.04em;margin:8px 0 0;color:var(--navy)}
.uc-card p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink2)}
.uc-chip{align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;background:#eaf1ff;color:#1654c0;border-radius:8px;padding:6px 10px}
.uc-foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-top:1px solid #eaf0f8}
.uc-price{font-size:26px;font-weight:300;letter-spacing:-.04em;color:var(--navy);line-height:1.1}
.uc-price small{display:block;font-size:12.5px;letter-spacing:0;color:var(--ink3);font-weight:400;margin-top:3px}
.uc-go{font-size:14px;font-weight:500;color:#1a55aa;white-space:nowrap}.uc-go:after{content:" \2192"}
.uc-anim{height:150px;border-radius:16px;background:linear-gradient(180deg,#f7faff,#eef4fd);border:1px solid #e3ebf5;position:relative;overflow:hidden;display:grid;place-items:center}
/* calendar */
.uc-cal__grid{display:grid;grid-template-columns:repeat(7,26px);gap:6px}
.uc-cal__grid i{height:26px;border-radius:7px;background:#fff;border:1px solid #dbe6f6}
.uc-cal__grid i.hit{animation:ucHit 3.6s infinite}
.uc-cal__tick{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-4px 0 0 -62px;fill:none;stroke:#1d7a43;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;animation:ucTick 3.6s infinite;pointer-events:none}
.uc-cal__tick{margin:3px 0 0 -4px}
.uc-cal__tag{position:absolute;bottom:10px;right:12px;font-size:11px;font-weight:600;color:#1d7a43;background:#e8f7ee;border-radius:99px;padding:3px 9px;animation:ucFade 3.6s infinite}
@keyframes ucHit{0%,25%{background:#fff;border-color:#dbe6f6}40%,85%{background:#bfe6cd;border-color:#1d7a43}100%{background:#fff}}
@keyframes ucTick{0%,35%{stroke-dashoffset:30}50%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:30}}
@keyframes ucFade{0%,40%{opacity:0}55%,85%{opacity:1}100%{opacity:0}}
/* grade table */
.uc-tbl{align-content:center;gap:7px;padding:0 26px}
.uc-tbl>div{display:flex;gap:10px;align-items:center;width:230px}
.uc-tbl b{flex:1;height:12px;border-radius:6px;background:#dbe6f6}
.uc-tbl em{font-style:normal;font-weight:700;font-size:13px;width:28px;height:24px;border-radius:7px;display:grid;place-items:center;color:#fff;transform:scale(0);animation:ucPop 4s infinite}
.uc-tbl .g1{background:#22a45d}.uc-tbl .g2{background:#e0a100;animation-delay:.3s}.uc-tbl .g3{background:#6cb86a;animation-delay:.6s}.uc-tbl .g4{background:#e0702a;animation-delay:.9s}
@keyframes ucPop{0%,5%{transform:scale(0)}15%,80%{transform:scale(1)}95%,100%{transform:scale(0)}}
/* profile */
.uc-prof__card{width:210px;background:#fff;border:1px solid #dbe6f6;border-radius:14px;padding:14px;display:grid;gap:8px;box-shadow:0 8px 24px rgba(25,76,144,.1)}
.uc-prof__pin{width:26px;height:26px;border-radius:50%;background:var(--blue);animation:ucSlide 4s infinite}
.uc-prof__card i{display:block;height:9px;border-radius:5px;background:#dbe6f6;animation:ucSlide 4s infinite}
.uc-prof__card .l1{width:80%;animation-delay:.25s}.uc-prof__card .l2{width:55%;animation-delay:.5s}
.uc-prof__chips{display:flex;gap:6px}
.uc-prof__chips em{font-style:normal;font-size:11px;font-weight:600;color:#1659ce;background:#eaf1ff;border-radius:99px;padding:3px 9px;animation:ucSlide 4s infinite}
.uc-prof__chips em:nth-child(1){animation-delay:.8s}.uc-prof__chips em:nth-child(2){animation-delay:1s}.uc-prof__chips em:nth-child(3){animation-delay:1.2s}
@keyframes ucSlide{0%,4%{opacity:0;transform:translateY(12px)}18%,80%{opacity:1;transform:none}95%,100%{opacity:0;transform:translateY(12px)}}
/* chat */
.uc-chat{align-content:center;gap:8px;padding:0 24px}
.uc-chat span{font-size:12.5px;padding:8px 12px;border-radius:14px;opacity:0;animation:ucSlide 5s infinite}
.uc-chat .b1{justify-self:end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.uc-chat .b2{justify-self:start;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:#1654c0;background:#eaf1ff;border:1px dashed #b9d0f5;animation-delay:.9s}
.uc-chat .b3{justify-self:start;background:#fff;border:1px solid #dbe6f6;color:#244767;border-bottom-left-radius:4px;animation-delay:1.8s}
/* bell */
.uc-bell svg{width:60px;height:60px;fill:#dbe9ff;stroke:var(--blue);stroke-width:1.6;stroke-linejoin:round;transform-origin:50% 8%;animation:ucRing 3s infinite}
.uc-bell__dot{position:absolute;left:calc(50% + 10px);top:42px;width:15px;height:15px;border-radius:50%;background:#e5484d;border:2px solid #fff;animation:ucDot 3s infinite}
@keyframes ucRing{0%,10%,40%,100%{transform:rotate(0)}15%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}25%{transform:rotate(9deg)}30%{transform:rotate(-6deg)}35%{transform:rotate(3deg)}}
@keyframes ucDot{0%,10%{transform:scale(0)}18%,80%{transform:scale(1)}95%,100%{transform:scale(0)}}
/* table gains a column */
.uc-col{align-content:center;gap:8px}
.uc-col>div{display:flex;gap:8px}
.uc-col b{width:70px;height:16px;border-radius:5px;background:#dbe6f6}
.uc-col u{width:0;height:16px;border-radius:5px;background:var(--blue);opacity:0;animation:ucCol 4s infinite}
.uc-col>div:nth-child(2) u{animation-delay:.2s}.uc-col>div:nth-child(3) u{animation-delay:.4s}
@keyframes ucCol{0%,10%{width:0;opacity:0}30%,80%{width:70px;opacity:1}95%,100%{width:0;opacity:0}}
/* hub */
.uc-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 22px;max-width:900px;margin:0 auto 40px;position:relative}
.uc-hub>a{position:relative;z-index:1;text-align:center;text-decoration:none;border:1px solid var(--line2);background:#fff;border-radius:99px;padding:14px 12px;font-size:15px;font-weight:500;color:var(--navy);box-shadow:0 8px 26px rgba(25,76,144,.07);transition:border-color .2s,color .2s}
.uc-hub>a:hover{border-color:var(--blue);color:var(--blue)}
.uc-hub>a:after{content:"";position:absolute;left:50%;width:2px;height:56px;background:linear-gradient(180deg,transparent,var(--blue),transparent);background-size:100% 50%;background-repeat:no-repeat;animation:ucWire 2.4s linear infinite;opacity:.7}
.uc-hub .n1:after,.uc-hub .n2:after,.uc-hub .n3:after{top:100%}
.uc-hub .n4:after,.uc-hub .n5:after,.uc-hub .n6:after{bottom:100%;animation-direction:reverse}
.uc-hub>a:nth-child(2):after{animation-delay:.4s}.uc-hub>a:nth-child(3):after{animation-delay:.8s}
@keyframes ucWire{0%{background-position:0 -100%}100%{background-position:0 200%}}
.uc-hub__core{grid-column:1/-1;justify-self:center;text-align:center;background:var(--navy);color:#fff;border-radius:20px;padding:22px 44px;animation:ucGlow 2.4s infinite}
.uc-hub__core b{display:block;font-size:20px;font-weight:500;letter-spacing:-.02em}
.uc-hub__core code{font-size:12.5px;color:#9fc3ff}
@keyframes ucGlow{50%{box-shadow:0 0 0 14px rgba(36,103,232,.14)}}
@media(max-width:1000px){.uc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.uc-grid{grid-template-columns:1fr}.uc-hub{grid-template-columns:1fr 1fr;gap:20px 12px}.uc-hub>a:after{display:none}.uc-hub__core{order:-1;padding:20px 28px}.uc-hub>a{font-size:14px;padding:12px 8px}}
@media(prefers-reduced-motion:reduce){.uc-anim *,.uc-hub *,.uc-hub__core{animation:none!important}.uc-tbl em,.uc-chat span,.uc-prof__card *,.uc-col u{opacity:1;transform:none}.uc-tbl em{transform:none}.uc-col u{width:70px}.uc-bell__dot{transform:none}}

/* index hero: persona tile grid */
.ucx-hero{background:linear-gradient(180deg,#f7faff,#eaf1fc);padding-bottom:70px}
.ucx-top{text-align:center;margin-bottom:46px}
.ucx-hero h1{margin-inline:auto;max-width:900px;font-size:clamp(2.6rem,5.2vw,4.6rem);line-height:1}
.ucx-hero .lead{margin-inline:auto;max-width:520px}.ucx-btns{justify-content:center}
.ucx-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ucx-tile{position:relative;display:block;aspect-ratio:4/3.3;border-radius:24px;overflow:hidden;text-decoration:none;color:#fff;background:#0b1a3a;box-shadow:0 18px 50px rgba(10,30,70,.18);transition:transform .3s,box-shadow .3s;min-width:0}
.ucx-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ucx-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,45,.35) 0,transparent 30%,rgba(7,18,45,.92) 100%)}
.ucx-tile:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(36,103,232,.35)}.ucx-tile:hover img{transform:scale(1.06)}
.ucx-tile__who{position:absolute;z-index:2;left:16px;top:16px;background:rgba(255,255,255,.92);color:var(--navy);font-size:12.5px;font-weight:600;border-radius:99px;padding:6px 12px}
.ucx-tile__body{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:grid;gap:5px}
.ucx-tile__body b{font-size:clamp(1.25rem,1.9vw,1.6rem);font-weight:400;letter-spacing:-.03em;line-height:1.15}
.ucx-tile__body em{font-style:normal;font-size:15px;color:#9fe0b8;font-weight:600}
.ucx-go{font-size:14px;color:#cfe0fb}.ucx-go:after{content:" \2192"}
@media(max-width:1000px){.ucx-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ucx-tiles{grid-template-columns:minmax(0,1fr)}.ucx-tile{aspect-ratio:4/3}}

/* 9 tiles/cards: last one spans when the grid has 2 columns */
@media(max-width:1000px) and (min-width:601px){.ucx-tiles>:last-child,.uc-grid>:last-child{grid-column:1/-1}}
