/* Awards & achievements — curved 3D photo carousel with click-to-open story (Home page) */
.cv{position:relative;margin-top:clamp(28px,4vw,48px);user-select:none;-webkit-user-select:none}
.cv-stage{position:relative;height:clamp(250px,30vw,440px);overflow:hidden;cursor:grab;touch-action:pan-y}
.cv-stage.drag{cursor:grabbing}
.cv-card{position:absolute;left:50%;top:50%;width:var(--cw,300px);aspect-ratio:4/3;margin:0;padding:0;border:2px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--ink);cursor:pointer;will-change:transform;backface-visibility:hidden;transition:box-shadow .3s,border-color .3s}
.cv-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s}
.cv-card:hover img,.cv-card:focus-visible img{transform:scale(1.06)}
.cv-card:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.cv-card .cv-tag{position:absolute;left:10px;bottom:10px;padding:5px 10px;border-radius:999px;background:#fff;color:var(--ink);border:2px solid var(--ink);font-size:12px;font-weight:700;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none}
.cv-card:hover .cv-tag,.cv-card:focus-visible .cv-tag{opacity:1;transform:none}
.cv-note{text-align:center;margin-top:18px;font-size:14px;color:rgba(23,20,58,.75)}
.cv-note b{color:var(--ink)}

/* story view: page blurs, photo grows to the centre with its title */
.cvl{position:fixed;inset:0;z-index:300}
.cvl[hidden]{display:none}
.cvl-bg{position:absolute;inset:0;background:rgba(248,247,252,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.cvl-fig{position:fixed;margin:0;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--ink);box-shadow:12px 12px 0 var(--pink)}
.cvl-fig img{width:100%;height:100%;object-fit:cover;display:block}
.cvl-cap{position:absolute;left:0;right:0;bottom:0;padding:70px clamp(18px,3vw,34px) clamp(16px,2.4vw,28px);background:linear-gradient(to top,rgba(23,20,58,.92),rgba(23,20,58,0));color:#fff}
.cvl-cap h3{font-size:clamp(22px,2.6vw,38px);line-height:1.05;color:#fff;margin:0}
.cvl-cap p{margin-top:6px;font-size:clamp(13px,1.1vw,16px);color:rgba(255,255,255,.88)}
.cvl-x{position:fixed;top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);width:52px;height:52px;border-radius:50%;border:2px solid var(--ink);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:4px 4px 0 var(--yellow);z-index:2}
.cvl-nav{position:fixed;top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;border:2px solid var(--ink);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:4px 4px 0 var(--teal);z-index:2}
.cvl-prev{left:clamp(10px,2vw,28px)}.cvl-next{right:clamp(10px,2vw,28px)}
@media(max-width:700px){.cvl-nav{top:auto;bottom:20px;margin-top:0}.cvl-prev{left:calc(50% - 64px)}.cvl-next{right:calc(50% - 64px)}}
