.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--mint);z-index:100;pointer-events:none}.btn,.card,.methods article,.gallery img{transition:transform .25s ease,box-shadow .25s ease}.btn:hover{transform:translateY(-3px)}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0b202b12}.methods article:hover{transform:translateY(-4px)}.workflow-demo{background:#dceee6;padding-bottom:18px}.workflow-demo .workflow{min-height:160px;padding-bottom:15px}.step{font:inherit;font-size:14px;color:var(--navy);cursor:pointer;transition:background .2s,transform .2s}.step:hover{transform:translateY(-3px)}.step.selected{background:var(--navy);color:white;border-color:var(--navy)}.workflow-explanation{margin:0 25px 10px;text-align:center;font-size:14px;min-height:48px;color:#264b4b!important}.demo-hint{display:block;text-align:center;font-size:11px;letter-spacing:.5px;color:#52666b}.rating-demo{display:flex;justify-content:center;gap:3px}.rating-demo button{background:transparent;border:0;color:#6e568e;cursor:pointer;font-size:34px;padding:2px;transition:transform .2s}.rating-demo button:hover{transform:scale(1.2) rotate(-8deg)}.rating-demo button.dimmed{opacity:.25}.rating-response{min-height:44px;max-width:270px;margin:8px auto}.reveal-pending{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal-pending.is-visible{opacity:1;transform:none}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .reveal-pending{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1;transform:none}}@media(max-width:720px){.links{flex-wrap:wrap;justify-content:flex-end}.workflow-demo .workflow{padding:20px 12px;min-height:140px}.step{font-size:12px}nav{gap:15px}}

.speaking-card{transition:transform .25s ease}.speaking-card:hover{transform:translateY(-4px)}

/* Compact project cards, with three equal columns on desktop. */
.work{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.work>.card{min-width:0;display:flex;flex-direction:column}
.work .cardbody{padding:22px;flex:1;font-size:15px}
.work .cardbody h3{font-size:22px}
.work .apppreview,.work .workflow-demo{height:250px;min-height:250px;box-sizing:border-box}
.work .apppreview{padding:22px}
.work .workflow{padding:22px 12px 15px;gap:5px;min-height:145px}
.work .step{min-width:0;padding:12px 6px;font-size:12px;flex:1}
.work .workflow-explanation{margin:0 16px 10px;font-size:13px;min-height:48px}
.work .label{font-size:11px;letter-spacing:1.4px}
@media(max-width:900px){.work{grid-template-columns:1fr}.work .apppreview,.work .workflow-demo{height:auto;min-height:220px}.work .cardbody{padding:24px;font-size:16px}}

/* Experimental AI Lab brand reference: navy, lilac, cream and deep purple. */
.work>.card{background:#FFFFFF;border-color:#d9d5df;color:#192338}
.work .workflow-demo,.work .workflow{background:#B4D8F1}
.work>.card:nth-child(2) .apppreview{background:#FFC5D5!important;color:#192338!important}
.work>.card:nth-child(3) .apppreview{background:#C6B6FA!important;color:#192338!important}
.work .apppreview h3,.work .cardbody h3,.work .cardbody p,.work .apppreview p,.work .small,.work .demo-hint,.work .workflow-explanation{color:#192338!important}
.work .label{color:#59417C!important}
.work .step{background:#F7F4ED;border-color:#59417C;color:#192338}
.work .step.selected{background:#59417C;border-color:#59417C;color:#F7F4ED}
.work .rating-demo button,.work .textlink{color:#59417C}
