.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.5rem;background:transparent;border:1px solid var(--bs-border-color);color:var(--bs-secondary-color)}.icon-btn:hover{color:var(--bs-body-color);background:var(--bs-tertiary-bg)}.icon{width:18px;height:18px}.ratio-4x3{aspect-ratio:4 / 3}.backdrop-blur{-webkit-backdrop-filter:saturate(120%) blur(6px);backdrop-filter:saturate(120%) blur(6px)}.brand-dot{width:10px;height:10px;border-radius:999px;background:var(--bs-primary);display:inline-block}.hero.gradient{background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.08),rgba(var(--bs-info-rgb),.08));border:1px solid var(--bs-border-color)}.hero-visual{background-image:radial-gradient(120px 60px at 30% 30%,rgba(var(--bs-primary-rgb),.2),transparent 60%),radial-gradient(100px 40px at 70% 60%,rgba(var(--bs-warning-rgb),.2),transparent 60%)}.hover-lift{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;border:1px solid var(--bs-border-color)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 .35rem 1rem #0000000f;border-color:color-mix(in oklab,var(--bs-border-color),var(--bs-primary) 20%)}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.icon{display:inline-block;vertical-align:middle}a:focus-visible,button:focus-visible{outline:2px solid color-mix(in oklab,var(--bs-primary),white 30%);outline-offset:2px;border-radius:.5rem}
