/* Главная: материалы задают цвет, фотографии — выбор направления. */
.home-page { background: #f5f6f7; color: #20262e; --oak-500: #345974; --oak-600: #29465d; --oak-200: #c5d8e7; --charcoal-950: #121a23; --charcoal-900: #1b2530; --charcoal-800: #253340; --charcoal-700: #3d4e5e; --charcoal-600: #607384; --ink-on-dark: #e5edf4; --ink-on-dark-dim: #bac7d2; --ink-on-dark-hint: #9dabb7; }
.home-header { border-bottom: 1px solid #dce0e4; }
.home-header .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 23px; }
.home-header .logo { color: #20262e; font-size: 1.05rem; }
.home-help { font-weight: 700; font-size: .95rem; }
.home-intro { padding-block: 58px 40px; }
.home-kicker { color: #526577; font-size: .93rem; margin-bottom: 18px; }
.home-intro-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.home-intro h1 { color: #20262e; font-size: clamp(2.2rem, 4.5vw, 4rem); line-height: 1.12; letter-spacing: -.035em; margin: 0; }
.home-description { margin: 0 0 5px; color: #53616e; font-size: 1.08rem; line-height: 1.65; }
.home-directions > h2 { font: 700 1rem var(--font-body); color: #53616e; margin-bottom: 18px; }
.direction-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.direction-card { position: relative; isolation: isolate; overflow: hidden; min-height: 425px; display: flex; align-items: flex-end; border-radius: 8px; background: #16212c; color: #fff; text-decoration: none; }
.direction-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 83% 50%; z-index: -2; transition: transform .35s; }
.direction-card::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #10182100 15%, #10182130 38%, #101821e8 73%, #101821 100%); }
.direction-card--wood { --direction-accent: #f0c58e; background: #241b12; }
.direction-card--wood::after { background: linear-gradient(180deg, #241b1200 15%, #241b1230 38%, #241b12ed 73%, #241b12 100%); }
.direction-card--metal { --direction-accent: #99c9ff; }
.direction-card--laser { --direction-accent: #ffaaa0; background: #2b1517; }
.direction-card--laser > img { object-position: 60% 45%; }
.direction-card--laser::after { background: linear-gradient(180deg, #2b151700 15%, #2b151730 38%, #2b1517ed 73%, #2b1517 100%); }
.direction-card:hover, .direction-card:focus-visible { color: #fff; }
a.direction-card:hover > img { transform: scale(1.035); }
a.direction-card:focus-visible { outline: 3px solid #345974; outline-offset: 5px; }
.direction-copy { width: 100%; padding: 25px; }
.direction-tag { display: block; color: var(--direction-accent); font-size: .8rem; margin-bottom: 12px; }
.direction-copy h3 { color: #fff; font: 700 clamp(1.25rem, 1.8vw, 1.6rem)/1.2 var(--font-display); margin-bottom: 14px; letter-spacing: -.025em; }
.direction-copy p { font-size: .95rem; color: #e2e4e7; line-height: 1.55; margin-bottom: 23px; }
.direction-link { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #ffffff30; padding-top: 17px; font-size: .9rem; font-weight: 700; color: var(--direction-accent); }
.direction-link > span { font-size: 1.3rem; line-height: 1; }
.direction-soon { font-weight: 400; }
.home-approach { padding-block: 64px; }
.home-teacher { display: grid; grid-template-columns: 260px 1fr; gap: 40px; max-width: 1000px; align-items: center; }
.home-portrait { width: 100%; }
.home-portrait img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.home-page .site-footer { padding-bottom: max(64px, env(safe-area-inset-bottom)); }
.home-teacher h2 { color: #20262e; font-size: clamp(1.6rem, 3vw, 2.3rem); margin-bottom: 16px; }
.home-teacher p:last-child { max-width: 56ch; color: #53616e; margin-bottom: 0; }
.home-teacher .home-kicker { margin-bottom: 10px; }
@media (max-width: 899px) {
 .home-intro-row { display: block; }
 .home-description { margin-top: 22px; }
 .home-description br { display: none; }
 .direction-grid { gap: 12px; }
 .direction-copy { padding: 18px; }
 .direction-copy p br { display: none; }
}
@media (max-width: 699px) {
 .home-header .container { padding-block: 18px; }
 .home-header .logo { font-size: .95rem; }
 .home-help { font-size: .8rem; }
 .home-intro { padding-block: 30px 28px; }
 .home-kicker { font-size: .88rem; }
 .home-intro h1 { font-size: clamp(1.9rem,8.2vw,2.8rem); }
 .home-description { font-size: 1rem; line-height: 1.5; margin-top: 18px; }
 .direction-grid { grid-template-columns: 1fr; gap: 16px; }
 .direction-card { min-height: 320px; }
 .direction-card > img { object-position: right 50%; }
 .direction-copy { padding: 24px; }
 .direction-copy h3 { font-size: 1.65rem; }
 .direction-tag { margin-bottom: 10px; }
 .direction-copy p { max-width: 29ch; margin-bottom: 18px; }
 .home-approach { padding-block: 40px; }
 .home-teacher { grid-template-columns: 1fr; gap: 24px; align-items: start; }
 .home-portrait { max-width: 260px; }
 .home-teacher h2 { font-size: 1.5rem; }
 .home-teacher p:last-child { font-size: .95rem; }
}
