You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.2 KiB
64 lines
1.2 KiB
<script setup lang="ts">
|
|
defineProps<{
|
|
title: string
|
|
description: string
|
|
aspectRatio: number
|
|
}>()
|
|
</script>
|
|
|
|
<template>
|
|
<div class="card">
|
|
<div class="card-inner">
|
|
<span class="card-number" aria-hidden="true">◆</span>
|
|
<h3>{{ title }}</h3>
|
|
<p>{{ description }}</p>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.card {
|
|
border-radius: 12px;
|
|
background: linear-gradient(155deg, #e8e0d2 0%, #f5f0e8 30%, #efe9de 60%, #e8e0d2 100%);
|
|
overflow: hidden;
|
|
transition: transform 0.45s var(--ease-out-expo), box-shadow 0.45s var(--ease-out-expo);
|
|
display: flex;
|
|
align-items: flex-start;
|
|
border: 1px solid var(--color-hairline-soft);
|
|
}
|
|
|
|
.card:hover {
|
|
transform: translateY(-4px) scale(1.008);
|
|
box-shadow: 0 12px 40px rgba(20, 20, 19, 0.1);
|
|
}
|
|
|
|
.card-inner {
|
|
padding: 32px 28px;
|
|
}
|
|
|
|
.card-number {
|
|
display: block;
|
|
font-size: 13px;
|
|
color: var(--color-primary);
|
|
opacity: 0.7;
|
|
margin-bottom: 18px;
|
|
}
|
|
|
|
.card-inner h3 {
|
|
color: var(--color-ink);
|
|
font-family: var(--font-display);
|
|
font-size: 20px;
|
|
font-weight: 400;
|
|
line-height: 1.25;
|
|
margin: 0 0 12px;
|
|
letter-spacing: -0.01em;
|
|
}
|
|
|
|
.card-inner p {
|
|
color: var(--color-muted);
|
|
font-size: 14px;
|
|
font-weight: 400;
|
|
line-height: 1.75;
|
|
margin: 0;
|
|
}
|
|
</style>
|
|
|