2 changed files with 122 additions and 23 deletions
+104 -19
View File
@@ -567,17 +567,41 @@ h2 em {
.subject-cards { .subject-cards {
display: grid; display: grid;
grid-column: 2;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
gap: 18px; gap: 24px;
margin-top: 48px; margin-top: 48px;
} }
.subject-card { .subject-card {
position: relative;
display: flex; display: flex;
min-height: 390px; min-height: 400px;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
padding: 26px 28px 24px; padding: 34px 32px 30px;
border-radius: 20px;
overflow: hidden;
transition: transform 180ms ease, box-shadow 180ms ease;
}
.subject-card::before {
content: "";
position: absolute;
inset: 0 0 auto;
height: 3px;
background: var(--coral);
opacity: 0;
transition: opacity 180ms ease;
}
.subject-card:hover {
transform: translateY(-5px);
box-shadow: 0 22px 44px -22px rgba(16, 33, 29, 0.35);
}
.subject-card:hover::before {
opacity: 1;
} }
.subject-card-dark { .subject-card-dark {
@@ -590,20 +614,35 @@ h2 em {
background: var(--sage); background: var(--sage);
} }
.subject-card-accent:hover {
box-shadow: 0 22px 44px -22px rgba(16, 33, 29, 0.4);
}
.card-top { .card-top {
display: flex; display: flex;
align-items: start; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.card-icon { .card-icon {
display: grid; display: grid;
width: 45px; width: 52px;
height: 45px; height: 52px;
flex: 0 0 auto;
place-items: center; place-items: center;
border: 1px solid currentColor;
border-radius: 50%; border-radius: 50%;
font: 20px var(--serif); font: 26px var(--serif);
font-weight: 600;
}
.subject-card-dark .card-icon {
color: var(--ink);
background: var(--sage-deep);
}
.subject-card-accent .card-icon {
color: var(--white);
background: var(--coral);
} }
.subject-card .card-number { .subject-card .card-number {
@@ -614,11 +653,17 @@ h2 em {
color: var(--coral); color: var(--coral);
} }
.card-body {
margin: 28px 0 30px;
}
.card-kicker { .card-kicker {
margin-bottom: 10px; margin-bottom: 12px;
color: var(--coral-soft); color: var(--coral-soft);
font-size: 9px; font-size: 10px;
letter-spacing: 0.11em; font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
} }
.subject-card-accent .card-kicker { .subject-card-accent .card-kicker {
@@ -627,27 +672,65 @@ h2 em {
.subject-card h3 { .subject-card h3 {
margin-bottom: 16px; margin-bottom: 16px;
font: 500 clamp(36px, 4vw, 52px)/1 var(--serif); font: 500 clamp(34px, 3.4vw, 46px)/1.05 var(--serif);
letter-spacing: -0.05em; letter-spacing: -0.04em;
} }
.card-description { .card-description {
max-width: 340px; max-width: 340px;
margin-bottom: 0; margin-bottom: 0;
color: rgba(255, 255, 255, 0.63); color: rgba(255, 255, 255, 0.66);
font-size: 12px; font-size: 13px;
line-height: 1.7; line-height: 1.75;
} }
.subject-card-accent .card-description { .subject-card-accent .card-description {
color: rgba(16, 33, 29, 0.65); color: rgba(16, 33, 29, 0.68);
} }
.card-link { .card-link {
font-size: 11px; display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding-top: 22px;
border-top: 1px solid rgba(255, 255, 255, 0.14);
font-size: 12px;
font-weight: 800; font-weight: 800;
} }
.subject-card-accent .card-link {
border-top-color: rgba(16, 33, 29, 0.16);
}
.card-link span {
display: grid;
width: 36px;
height: 36px;
margin-left: 0;
place-items: center;
border: 1px solid currentColor;
border-radius: 50%;
font-size: 15px;
transition: transform 180ms ease, background-color 180ms ease;
}
.card-link:hover span {
transform: translateX(4px);
}
.subject-card-dark .card-link:hover span {
background: var(--coral);
border-color: var(--coral);
color: var(--white);
}
.subject-card-accent .card-link:hover span {
background: var(--ink);
border-color: var(--ink);
color: var(--white);
}
.process { .process {
padding-bottom: 12px; padding-bottom: 12px;
} }
@@ -1494,11 +1577,13 @@ textarea {
} }
.subject-cards { .subject-cards {
grid-column: 1;
margin-top: 32px; margin-top: 32px;
} }
.subject-card { .subject-card {
min-height: 330px; min-height: 360px;
padding: 30px 26px 26px;
} }
.process-list { .process-list {
+18 -4
View File
@@ -82,13 +82,27 @@
</div> </div>
<div class="subject-cards"> <div class="subject-cards">
<article class="subject-card subject-card-dark"> <article class="subject-card subject-card-dark">
<div class="card-top"><span class="card-number">01</span><span class="card-icon"></span></div> <div class="card-top">
<div><p class="card-kicker">Подготовка</p><h3>Математика</h3><p class="card-description">От уверенной базы до сложных задач второй части. Разбираем теорию, практику и стратегию экзамена.</p></div> <span class="card-number">01</span>
<span class="card-icon"></span>
</div>
<div class="card-body">
<p class="card-kicker">Подготовка</p>
<h3>Математика</h3>
<p class="card-description">От уверенной базы до сложных задач второй части. Разбираем теорию, практику и стратегию экзамена.</p>
</div>
<a href="#contact" class="card-link">Обсудить подготовку <span></span></a> <a href="#contact" class="card-link">Обсудить подготовку <span></span></a>
</article> </article>
<article class="subject-card subject-card-accent"> <article class="subject-card subject-card-accent">
<div class="card-top"><span class="card-number">02</span><span class="card-icon"></span></div> <div class="card-top">
<div><p class="card-kicker">Подготовка</p><h3>ОГЭ и ЕГЭ</h3><p class="card-description">Готовимся к экзаменам по математике: разбираем структуру, тренируемся на реальных заданиях и отрабатываем стратегию набора баллов.</p></div> <span class="card-number">02</span>
<span class="card-icon"></span>
</div>
<div class="card-body">
<p class="card-kicker">Подготовка</p>
<h3>ОГЭ и ЕГЭ</h3>
<p class="card-description">Готовимся к экзаменам по математике: разбираем структуру, тренируемся на реальных заданиях и отрабатываем стратегию набора баллов.</p>
</div>
<a href="#contact" class="card-link">Обсудить подготовку <span></span></a> <a href="#contact" class="card-link">Обсудить подготовку <span></span></a>
</article> </article>
</div> </div>