:root{--hue:45;--sat:45%;--white:hsl(0,0%,100%);--gold-primary:rgba(213,182,119,1);--gold-glow:rgba(213,182,119,0.35);--gold-border:rgba(213,182,119,0.8);--border-color:#4a3d2e;--background-dark:#100a06;color-scheme:light dark}.card-grid{display:grid;gap:.5em;padding:.75em;font-size:clamp(1rem,.9rem + .5vw,1.5rem)}.magic-bento-card{display:flex;flex-direction:column;justify-content:space-between;position:relative;aspect-ratio:4/3;min-height:200px;width:100%;max-width:100%;border-radius:20px;font-weight:300;overflow:hidden;transition:all .3s ease;--glow-x:50%;--glow-y:50%;--glow-intensity:0;--glow-radius:200px}.magic-bento-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.magic-bento-card__content,.magic-bento-card__header{display:flex;position:relative;color:var(--white)}.magic-bento-card__header{gap:.75em;justify-content:space-between}.magic-bento-card__content{flex-direction:column}.magic-bento-card__label{font-size:16px}.magic-bento-card__description,.magic-bento-card__title{--clamp-title:1;--clamp-desc:2}.magic-bento-card__title{font-weight:400;font-size:16px;margin:0 0 .25em}.magic-bento-card__description{font-size:12px;line-height:1.2;opacity:.9}.magic-bento-card--text-autohide .magic-bento-card__description,.magic-bento-card--text-autohide .magic-bento-card__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.magic-bento-card--text-autohide .magic-bento-card__title{-webkit-line-clamp:var(--clamp-title);line-clamp:var(--clamp-title)}.magic-bento-card--text-autohide .magic-bento-card__description{-webkit-line-clamp:var(--clamp-desc);line-clamp:var(--clamp-desc)}@media (max-width:599px){.card-grid{grid-template-columns:1fr;width:90%;margin:0 auto;padding:.5em}.magic-bento-card{width:100%;min-height:180px}}@media (min-width:600px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.card-grid{grid-template-columns:repeat(4,1fr)}.magic-bento-card:nth-child(3){grid-column:span 2;grid-row:span 2}.magic-bento-card:nth-child(4){grid-column:1/span 2;grid-row:2/span 2}.magic-bento-card:nth-child(9){grid-column:span 2;grid-row:span 2}.magic-bento-card:nth-child(10){grid-column:1/span 2;grid-row:span 2}.magic-bento-card:nth-child(15){grid-column:span 2;grid-row:span 2}.magic-bento-card:nth-child(16){grid-column:1/span 2;grid-row:span 2}.magic-bento-card:nth-child(21){grid-column:span 2;grid-row:span 2}.magic-bento-card:nth-child(22){grid-column:1/span 2;grid-row:span 2}}@media (min-width:1536px){.card-grid{gap:1em;padding:2em 15rem}}.magic-bento-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(var(--glow-color,152,129,83),calc(var(--glow-intensity) * .8)) 0,rgba(var(--glow-color,152,129,83),calc(var(--glow-intensity) * .4)) 30%,transparent 60%);border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:1;transition:opacity .3s ease;z-index:1}.magic-bento-card--border-glow:hover:after{opacity:1}.magic-bento-card--border-glow:hover{box-shadow:0 4px 20px rgba(78,59,24,.4),0 0 30px var(--gold-glow)}.particle-container{position:relative;overflow:hidden}.particle:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:rgba(var(--glow-color,152,129,83),.2);border-radius:50%;z-index:-1}.particle-container:hover{box-shadow:0 4px 20px rgba(78,59,24,.2),0 0 30px var(--gold-glow)}.global-spotlight{mix-blend-mode:screen;will-change:transform,opacity;z-index:200!important;pointer-events:none}.bento-section{position:relative;user-select:none}.card-shader-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");mix-blend-mode:overlay;animation:noise-move .2s steps(2) infinite}@keyframes noise-move{0%{transform:translate(0)}10%{transform:translate(-1%,-1%)}20%{transform:translate(1%,1%)}30%{transform:translate(-2%)}40%{transform:translate(1%,-2%)}50%{transform:translate(-1%,2%)}60%{transform:translate(-2%,1%)}70%{transform:translate(2%,2%)}80%{transform:translate(1%,-1%)}90%{transform:translate(-1%,1%)}to{transform:translate(0)}}