.card-grid{display:grid;gap:1.5em;padding:1.5em;max-width:54em;font-size:clamp(1rem,.9rem + .5vw,1.5rem);margin:0 auto}.card{display:flex;flex-direction:column;justify-content:space-between;position:relative;aspect-ratio:4/3;min-height:220px;width:100%;max-width:100%;padding:2em;border-radius:20px;border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.15);backdrop-filter:blur(15px);font-weight:300;overflow:hidden;transition:all .3s ease;color:white;box-shadow:0 8px 32px rgba(0,0,0,.4);z-index:1}.card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,.5);border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.2)}.card__content,.card__header{display:flex;position:relative;color:white;z-index:10}.card__header{gap:.75em;justify-content:space-between;margin-bottom:1.5em}.card__content{flex-direction:column;flex:1}.card__label{font-size:11px;font-weight:700;color:white;text-transform:uppercase;letter-spacing:1.5px;background:rgba(255,255,255,.25);padding:.6em 1.2em;border-radius:25px;border:1px solid rgba(255,255,255,.4);box-shadow:0 3px 12px rgba(0,0,0,.3);align-self:center;margin:0 auto}.card__description,.card__title{--clamp-title:1;--clamp-desc:2}.card__title{font-weight:800;font-size:2.5rem;margin:0 0 .75em;color:white;text-shadow:0 2px 4px rgba(0,0,0,.5);line-height:1.1;text-align:center}.card__description{font-size:16px;line-height:1.4;color:rgba(255,255,255,.95);text-shadow:0 1px 3px rgba(0,0,0,.3);font-weight:500;text-align:center;max-width:100%}.card--text-autohide .card__description,.card--text-autohide .card__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.card--text-autohide .card__title{-webkit-line-clamp:var(--clamp-title);line-clamp:var(--clamp-title)}.card--text-autohide .card__description{-webkit-line-clamp:var(--clamp-desc);line-clamp:var(--clamp-desc)}@media (max-width:599px){.card-grid{grid-template-columns:1fr;width:95%;margin:0 auto;padding:1em}.card{width:100%;min-height:200px;padding:1.5em}}@media (min-width:600px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.card-grid{grid-template-columns:repeat(2,1fr)}.card:first-child{grid-column:1;grid-row:1}.card:nth-child(2){grid-column:2;grid-row:1}.card:nth-child(3){grid-column:1;grid-row:2}.card:nth-child(4){grid-column:2;grid-row:2}}.card--border-glow:after{content:"";position:absolute;inset:0;padding:6px;background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y),rgba(255,255,255,calc(var(--glow-intensity) * .8)) 0,rgba(255,255,255,calc(var(--glow-intensity) * .4)) 30%,transparent 60%);border-radius:inherit;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:subtract;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none;transition:opacity .3s ease;z-index:1}.card--border-glow:hover:after{opacity:1}.card--border-glow:hover{box-shadow:0 4px 20px rgba(255,255,255,.1),0 0 30px rgba(255,255,255,.2)}.particle-container{position:relative;overflow:hidden}.particle:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:rgba(255,255,255,.2);border-radius:50%;z-index:-1}.particle-container:hover{box-shadow:0 4px 20px rgba(255,255,255,.1),0 0 30px rgba(255,255,255,.2)}.global-spotlight{mix-blend-mode:screen;will-change:transform,opacity;z-index:200!important;pointer-events:none}.bento-section{position:relative;user-select:none}.group .card{background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);backdrop-filter:blur(10px)}.group:hover .card{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4);box-shadow:0 8px 32px rgba(0,0,0,.4)}.focus-container{position:relative;flex-direction:column;gap:1em}.focus-container,.sentence-container{display:flex;justify-content:center;align-items:center}.sentence-container{gap:.5em;flex-wrap:wrap}@media (min-width:640px){.sentence-container{gap:.75em}}@media (min-width:768px){.sentence-container{gap:1em}}.focus-word{position:relative;font-size:2rem;font-weight:900;color:white;cursor:pointer;transition:filter .3s ease,color .3s ease}@media (min-width:640px){.focus-word{font-size:2.5rem}}@media (min-width:768px){.focus-word{font-size:3rem}}.focus-word.active{filter:blur(0)}.focus-frame{position:absolute;top:0;left:0;pointer-events:none;box-sizing:content-box;border:none}.corner{position:absolute;width:1rem;height:1rem;border:3px solid var(--border-color,#fff);filter:drop-shadow(0 0 4px var(--border-color,#fff));border-radius:3px;transition:none}.top-left{left:-10px;border-right:none}.top-left,.top-right{top:-10px;border-bottom:none}.top-right{right:-10px;border-left:none}.bottom-left{left:-10px;border-right:none}.bottom-left,.bottom-right{bottom:-10px;border-top:none}.bottom-right{right:-10px;border-left:none}.spotlight-card{position:relative;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background-color:rgba(17,17,17,.8);padding:2rem;overflow:hidden;transition:all .3s ease;--mouse-x:50%;--mouse-y:50%;--spotlight-color:rgba(0,229,255,0.2);backdrop-filter:blur(10px);height:100%;display:flex;flex-direction:column}.spotlight-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle 300px at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}.spotlight-card:focus-within:before,.spotlight-card:hover:before{opacity:1}.spotlight-card>*{position:relative;z-index:1}.spotlight-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.3);border-color:rgba(255,255,255,.2)}.shiny-text{color:white;display:inline-block;position:relative;overflow:hidden}.shiny-text:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9) 50%,transparent);background-size:200% 100%;animation:shine 3s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) text;mask:linear-gradient(#fff 0 0) text;-webkit-mask-clip:text;mask-clip:text;color:white}@keyframes shine{0%{background-position:200% 0}to{background-position:-100% 0}}.shiny-text.disabled:after{display:none}